1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 07:57:12 -07:00

Add javadoc { args() }.

This commit is contained in:
Cedric Beust 2017-05-02 11:24:21 -07:00
parent c0ed9a5a03
commit 13f544d67c

View file

@ -44,9 +44,18 @@ class JavaPlugin @Inject constructor(val javaCompiler: JavaCompiler, override va
// IDocFlagContributor
override fun docFlagsFor(project: Project, context: KobaltContext, currentFlags: List<String>,
suffixesBeingCompiled: List<String>): List<String> {
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<String, JavadocConfig>()
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)
}
}
class JavadocConfig(val project: Project) {
val args = arrayListOf<String>()
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)
}