From 13f544d67c9ab17e93554dab41c1de8599a0d95c Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Tue, 2 May 2017 11:24:21 -0700 Subject: [PATCH] Add javadoc { args() }. --- .../beust/kobalt/plugin/java/JavaPlugin.kt | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt index 9f6108d2..8df0c303 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt @@ -44,9 +44,18 @@ class JavaPlugin @Inject constructor(val javaCompiler: JavaCompiler, override va // IDocFlagContributor override fun docFlagsFor(project: Project, context: KobaltContext, currentFlags: List, suffixesBeingCompiled: List): List { - return listOf("-d", "javadoc", "-Xdoclint:none", "-Xmaxerrs", "1", "-quiet") + val config = javadocConfigurations[project.name] + val args = config?.args ?: DEFAULT_JAVADOC_ARGS + return args } + val DEFAULT_JAVADOC_ARGS = listOf("-d", "javadoc", "-Xdoclint:none", "-Xmaxerrs", "1", "-quiet") + + val javadocConfigurations = hashMapOf() + + fun addJavadocConfiguration(project: Project, configuration: JavadocConfig) + = javadocConfigurations.put(project.name, configuration) + // ICompilerContributor val compiler = CompilerDescription(PLUGIN_NAME, "java", SOURCE_SUFFIXES, javaCompiler) @@ -77,4 +86,17 @@ fun Project.javaCompiler(init: JavaConfig.() -> Unit) = JavaConfig(this).also { config -> config.init() (Kobalt.findPlugin(JavaPlugin.PLUGIN_NAME) as JavaPlugin).addConfiguration(this, config) - } \ No newline at end of file + } + +class JavadocConfig(val project: Project) { + val args = arrayListOf() + fun args(vararg options: String) = args.addAll(options) +} + +@Directive +fun Project.javadoc(init: JavadocConfig.() -> Unit) = + JavadocConfig(this).also { config -> + config.init() + (Kobalt.findPlugin(JavaPlugin.PLUGIN_NAME) as JavaPlugin).addJavadocConfiguration(this, config) + } +