private final File outputBaseDir;
public ConfigArg(String outputBaseDir) {
- this.outputBaseDir = new File(outputBaseDir);
+ this.outputBaseDir = outputBaseDir == null ? null : new File(outputBaseDir);
}
public File getOutputBaseDir(MavenProject project) {
+ if (outputBaseDir == null) {
+ return null;
+ }
if (outputBaseDir.isAbsolute()) {
return outputBaseDir;
} else {
* Configuration argument for code generator class and output directory.
*/
public static final class CodeGeneratorArg extends ConfigArg {
- private static final String CODE_GEN_DEFAULT_DIR = "target"
- + File.separator + "generated-sources";
+ private static final String CODE_GEN_DEFAULT_RESOURCE_DIR = "target" + File.separator + "generated-resources";
+
private String codeGeneratorClass;
+ private File resourceBaseDir = new File(CODE_GEN_DEFAULT_RESOURCE_DIR);
private Map<String, String> additionalConfiguration = Maps.newHashMap();
public CodeGeneratorArg() {
- super(CODE_GEN_DEFAULT_DIR);
+ super(null);
}
public CodeGeneratorArg(String codeGeneratorClass) {
- this(codeGeneratorClass, CODE_GEN_DEFAULT_DIR);
+ this(codeGeneratorClass, null);
}
public CodeGeneratorArg(String codeGeneratorClass, String outputBaseDir) {
this.codeGeneratorClass = codeGeneratorClass;
}
+ public CodeGeneratorArg(String codeGeneratorClass, String outputBaseDir, String resourceBaseDir) {
+ super(outputBaseDir);
+ this.codeGeneratorClass = codeGeneratorClass;
+ this.resourceBaseDir = new File(resourceBaseDir);
+ }
+
@Override
public void check() {
- Preconditions.checkNotNull(codeGeneratorClass,
- "codeGeneratorClass for CodeGenerator cannot be null");
+ Preconditions.checkNotNull(codeGeneratorClass, "codeGeneratorClass for CodeGenerator cannot be null");
}
public String getCodeGeneratorClass() {
return codeGeneratorClass;
}
+ public File getResourceBaseDir(MavenProject project) {
+ if (resourceBaseDir.isAbsolute()) {
+ return resourceBaseDir;
+ } else {
+ return new File(project.getBasedir(), resourceBaseDir.getPath());
+ }
+ }
+
public Map<String, String> getAdditionalConfiguration() {
return additionalConfiguration;
}