From fdb755e2e722fa5f178bdf8680b3c15b3caa3a9b Mon Sep 17 00:00:00 2001 From: James Strachan Date: Fri, 14 Sep 2012 16:34:25 +0100 Subject: [PATCH] update for KT-2765 so we can specify annotationPaths for kdoc too --- .../org/jetbrains/kotlin/maven/doc/KDocMojo.java | 16 ++++++++++++++++ .../kotlin/maven/KotlinCompileMojoBase.java | 13 ++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kdoc-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/doc/KDocMojo.java b/libraries/tools/kdoc-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/doc/KDocMojo.java index 0424942ea0a..22ec8afa543 100644 --- a/libraries/tools/kdoc-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/doc/KDocMojo.java +++ b/libraries/tools/kdoc-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/doc/KDocMojo.java @@ -65,6 +65,15 @@ public class KDocMojo extends KotlinCompileMojoBase { */ public String output; + // 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 annotationPaths; // TODO not sure why default is stopping us passing this value in via a config // default-value="${project.compileSourceRoots}" @@ -184,6 +193,12 @@ public class KDocMojo extends KotlinCompileMojoBase { KDocArguments kdoc = (KDocArguments) arguments; KDocConfig docConfig = kdoc.getDocConfig(); docConfig.setDocOutputDir(docOutputDir); + + kdoc.noJdkAnnotations = true; + kdoc.annotations = getFullAnnotationsPath(getLog(), annotationPaths); + + + if (ignorePackages != null) { docConfig.getIgnorePackages().addAll(ignorePackages); } @@ -208,6 +223,7 @@ public class KDocMojo extends KotlinCompileMojoBase { getLog().info("sources: " + sources); getLog().info("sourceRootHref: " + sourceRootHref); getLog().info("projectRootDir: " + projectRootDir); + getLog().info("kotlin annotations: " + kdoc.annotations); getLog().info("packageDescriptionFiles: " + packageDescriptionFiles); getLog().info("packagePrefixToUrls: " + packagePrefixToUrls); getLog().info("API docs ignore packages: " + ignorePackages); diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java index a246e2da991..f8d1d52036e 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java @@ -235,15 +235,19 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo { arguments.setOutputDir(output); arguments.noJdkAnnotations = true; + arguments.annotations = getFullAnnotationsPath(log, annotationPaths); + log.info("Using kotlin annotations from " + arguments.annotations); + } + + protected String getFullAnnotationsPath(Log log, List annotations) { String jdkAnnotation = getJdkAnnotations().getPath(); - arguments.annotations = jdkAnnotation; List list = new ArrayList(); if (jdkAnnotation != null && jdkAnnotation.length() > 0) { list.add(jdkAnnotation); } - if (annotationPaths != null) { - for (String annotationPath : annotationPaths) { + if (annotations != null) { + for (String annotationPath : annotations) { if (new File(annotationPath).exists()) { list.add(annotationPath); } else { @@ -251,8 +255,7 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo { } } } - arguments.annotations = join(list, File.pathSeparator); - log.info("Using kotlin annotations from " + arguments.annotations); + return join(list, File.pathSeparator); }