From 4c3d80fa82f2d448e1a84f6a02bbc0a024bc6151 Mon Sep 17 00:00:00 2001 From: Simon Soendergaard Date: Wed, 16 May 2012 19:16:30 +0200 Subject: [PATCH] plugin outputs file to wrong (parent) dir if used in multi-module project --- .../com/mysema/query/maven/AbstractExporterMojo.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/querydsl-maven-plugin/src/main/java/com/mysema/query/maven/AbstractExporterMojo.java b/querydsl-maven-plugin/src/main/java/com/mysema/query/maven/AbstractExporterMojo.java index 5c8b22f30..71658199f 100644 --- a/querydsl-maven-plugin/src/main/java/com/mysema/query/maven/AbstractExporterMojo.java +++ b/querydsl-maven-plugin/src/main/java/com/mysema/query/maven/AbstractExporterMojo.java @@ -81,7 +81,15 @@ public abstract class AbstractExporterMojo extends AbstractMojo { Charset charset = sourceEncoding != null ? Charset.forName(sourceEncoding) : Charset.defaultCharset(); GenericExporter exporter = new GenericExporter(classLoader, charset); - exporter.setTargetFolder(new File(targetFolder)); + + // see http://maven.apache.org/plugin-developers/common-bugs.html#Resolving_Relative_Paths, + // Consider changing targetFolder to type File instead + File targetDir = new File(targetFolder); + if(!targetDir.isAbsolute()) { + targetDir = new File(project.getBasedir(), targetFolder); + } + exporter.setTargetFolder(targetDir); + if (scala) { try { exporter.setSerializerClass((Class) @@ -101,6 +109,7 @@ public abstract class AbstractExporterMojo extends AbstractMojo { protected abstract void configure(GenericExporter exporter); + @SuppressWarnings("unchecked") protected ClassLoader getProjectClassLoader() throws DependencyResolutionRequiredException, MalformedURLException { List classpathElements;