Skip to content

Commit 57b00b4

Browse files
fansteStefan Grubisic
authored andcommitted
HBX-3113: Add support for a reveng.xml (#5458)
Co-authored-by: Stefan Grubisic <[email protected]>
1 parent 15c6365 commit 57b00b4

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

gradle/plugin/src/main/java/org/hibernate/tool/gradle/Extension.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ public class Extension {
99
public String outputFolder = "generated-sources";
1010
public String packageName = "";
1111
public String revengStrategy = null;
12-
12+
public String revengFile = null;
13+
public Boolean generateAnnotations = true;
14+
public Boolean useGenerics = true;
15+
1316
public Extension(Project project) {}
1417

1518
}

gradle/plugin/src/main/java/org/hibernate/tool/gradle/task/AbstractTask.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,25 +101,38 @@ File getOutputFolder() {
101101
}
102102

103103
RevengStrategy setupReverseEngineeringStrategy() {
104+
File[] revengFiles = getRevengFiles();
104105
RevengStrategy result = RevengStrategyFactory
105-
.createReverseEngineeringStrategy(getExtension().revengStrategy);
106+
.createReverseEngineeringStrategy(getExtension().revengStrategy, revengFiles);
106107
RevengSettings settings = new RevengSettings(result);
107108
settings.setDefaultPackageName(getExtension().packageName);
108109
result.setSettings(settings);
109110
return result;
110111
}
111-
112-
private File getPropertyFile() {
113-
String hibernatePropertiesFile = getExtension().hibernateProperties;
112+
113+
private File getFile(String filename) {
114114
SourceSetContainer ssc = getProject().getExtensions().getByType(SourceSetContainer.class);
115115
SourceSet ss = ssc.getByName(SourceSet.MAIN_SOURCE_SET_NAME);
116116
SourceDirectorySet sds = ss.getResources();
117117
for (File f : sds.getFiles()) {
118-
if (hibernatePropertiesFile.equals(f.getName())) {
118+
if (filename.equals(f.getName())) {
119119
return f;
120120
}
121121
}
122-
throw new BuildException("File '" + hibernatePropertiesFile + "' could not be found");
122+
throw new BuildException("File '" + filename + "' could not be found");
123+
}
124+
125+
private File getPropertyFile() {
126+
return getFile(getExtension().hibernateProperties);
127+
}
128+
129+
private File[] getRevengFiles() {
130+
String revengFile = getExtension().revengFile;
131+
if (revengFile == null) {
132+
return null;
133+
}
134+
135+
return new File[] { getFile(revengFile) };
123136
}
124137

125138
private void loadPropertiesFile(File propertyFile) {

0 commit comments

Comments
 (0)