Skip to content

Commit 4b94157

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

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class Extension {
2626
public String outputFolder = "generated-sources";
2727
public String packageName = "";
2828
public String revengStrategy = null;
29+
public String revengFile = null;
2930
public Boolean generateAnnotations = true;
3031
public Boolean useGenerics = true;
3132

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
@@ -118,25 +118,38 @@ File getOutputFolder() {
118118
}
119119

120120
RevengStrategy setupReverseEngineeringStrategy() {
121+
File[] revengFiles = getRevengFiles();
121122
RevengStrategy result = RevengStrategyFactory
122-
.createReverseEngineeringStrategy(getExtension().revengStrategy);
123+
.createReverseEngineeringStrategy(getExtension().revengStrategy, revengFiles);
123124
RevengSettings settings = new RevengSettings(result);
124125
settings.setDefaultPackageName(getExtension().packageName);
125126
result.setSettings(settings);
126127
return result;
127128
}
128-
129-
private File getPropertyFile() {
130-
String hibernatePropertiesFile = getExtension().hibernateProperties;
129+
130+
private File getFile(String filename) {
131131
SourceSetContainer ssc = getProject().getExtensions().getByType(SourceSetContainer.class);
132132
SourceSet ss = ssc.getByName(SourceSet.MAIN_SOURCE_SET_NAME);
133133
SourceDirectorySet sds = ss.getResources();
134134
for (File f : sds.getFiles()) {
135-
if (hibernatePropertiesFile.equals(f.getName())) {
135+
if (filename.equals(f.getName())) {
136136
return f;
137137
}
138138
}
139-
throw new BuildException("File '" + hibernatePropertiesFile + "' could not be found");
139+
throw new BuildException("File '" + filename + "' could not be found");
140+
}
141+
142+
private File getPropertyFile() {
143+
return getFile(getExtension().hibernateProperties);
144+
}
145+
146+
private File[] getRevengFiles() {
147+
String revengFile = getExtension().revengFile;
148+
if (revengFile == null) {
149+
return null;
150+
}
151+
152+
return new File[] { getFile(revengFile) };
140153
}
141154

142155
private void loadPropertiesFile(File propertyFile) {

0 commit comments

Comments
 (0)