added partial fix for KT-2765 so we can specify the paths to where annotations.xml files can be found

This commit is contained in:
James Strachan
2012-09-14 15:04:09 +01:00
parent c5db89e534
commit 3d66ebd0e1
@@ -36,6 +36,8 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import static org.jetbrains.jet.internal.com.intellij.openapi.util.text.StringUtil.join;
public abstract class KotlinCompileMojoBase extends AbstractMojo {
/**
* The source directories containing the sources to be compiled.
@@ -46,6 +48,16 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo {
*/
public List<String> sources;
// TODO not sure why this doesn't work :(
// * @parameter default-value="$(project.basedir}/src/main/resources"
/**
* The directories used to scan for annotation.xml files for Kotlin annotations
*
* @parameter
*/
public List<String> annotationPaths;
/**
* The source directories containing the sources to be compiled for tests.
*
@@ -223,10 +235,27 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo {
arguments.setOutputDir(output);
arguments.noJdkAnnotations = true;
arguments.annotations = getJdkAnnotations().getPath();
log.debug("Using jdk annotations from " + arguments.annotations);
String jdkAnnotation = getJdkAnnotations().getPath();
arguments.annotations = jdkAnnotation;
List<String> list = new ArrayList<String>();
if (jdkAnnotation != null && jdkAnnotation.length() > 0) {
list.add(jdkAnnotation);
}
if (annotationPaths != null) {
for (String annotationPath : annotationPaths) {
if (new File(annotationPath).exists()) {
list.add(annotationPath);
} else {
log.info("annotation path " + annotationPath + " does not exist");
}
}
}
arguments.annotations = join(list, File.pathSeparator);
log.info("Using kotlin annotations from " + arguments.annotations);
}
// TODO: Make a better runtime detection or get rid of it entirely
private String getRuntimeFromClassPath(List<String> classpath) {
for (String item : classpath) {