From 979dbca7bedeffc9bd91159fcf6a9a06b1cf1564 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 5 Nov 2015 17:33:16 +0100 Subject: setup multi-project build; specify version in one place for all Gradle project --- gradle-plugin/src/main/kotlin/logger.kt | 18 ---- gradle-plugin/src/main/kotlin/main.kt | 97 ---------------------- .../gradle-plugins/org.jetbrains.dokka.properties | 1 - 3 files changed, 116 deletions(-) delete mode 100644 gradle-plugin/src/main/kotlin/logger.kt delete mode 100644 gradle-plugin/src/main/kotlin/main.kt delete mode 100644 gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties (limited to 'gradle-plugin/src/main') diff --git a/gradle-plugin/src/main/kotlin/logger.kt b/gradle-plugin/src/main/kotlin/logger.kt deleted file mode 100644 index 715c1f04..00000000 --- a/gradle-plugin/src/main/kotlin/logger.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.jetbrains.dokka.gradle - -import org.gradle.api.logging.Logger -import org.jetbrains.dokka.DokkaLogger - -class DokkaGradleLogger(val logger: Logger) : DokkaLogger { - override fun error(message: String) { - logger.error(message) - } - - override fun info(message: String) { - logger.info(message) - } - - override fun warn(message: String) { - logger.warn(message) - } -} \ No newline at end of file diff --git a/gradle-plugin/src/main/kotlin/main.kt b/gradle-plugin/src/main/kotlin/main.kt deleted file mode 100644 index e56b2371..00000000 --- a/gradle-plugin/src/main/kotlin/main.kt +++ /dev/null @@ -1,97 +0,0 @@ -package org.jetbrains.dokka.gradle - -import groovy.lang.Closure -import org.gradle.api.DefaultTask -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.plugins.JavaBasePlugin -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.SourceSet -import org.gradle.api.tasks.TaskAction -import org.jetbrains.dokka.DokkaGenerator -import org.jetbrains.dokka.SourceLinkDefinition -import java.io.File -import java.util.ArrayList - -public open class DokkaPlugin : Plugin { - override fun apply(project: Project) { - val ext = project.extensions.create("dokka", DokkaExtension::class.java) - project.tasks.create("dokka", DokkaTask::class.java) - - ext.moduleName = project.name - ext.outputDirectory = File(project.buildDir, "dokka").absolutePath - } -} - -public open class DokkaTask : DefaultTask() { - init { - group = JavaBasePlugin.DOCUMENTATION_GROUP - description = "Generates dokka documentation for Kotlin" - } - - @TaskAction - fun generate() { - val project = project - val conf = project.extensions.getByType(DokkaExtension::class.java) - val javaPluginConvention = project.convention.getPlugin(JavaPluginConvention::class.java) - - val sourceSets = javaPluginConvention.sourceSets?.findByName(SourceSet.MAIN_SOURCE_SET_NAME) - val sourceDirectories = sourceSets?.allSource?.srcDirs?.filter { it.exists() } ?: emptyList() - val allConfigurations = project.configurations - - val classpath = - conf.processConfigurations - .map { allConfigurations?.getByName(it) ?: throw IllegalArgumentException("No configuration $it found") } - .flatMap { it } - - if (sourceDirectories.isEmpty()) { - logger.warn("No source directories found: skipping dokka generation") - return - } - - DokkaGenerator( - DokkaGradleLogger(logger), - classpath.map { it.absolutePath }, - sourceDirectories.map { it.absolutePath }, - conf.samples, - conf.includes, - conf.moduleName, - conf.outputDirectory, - conf.outputFormat, - conf.linkMappings.map { SourceLinkDefinition(project.file(it.dir).absolutePath, it.url, it.suffix) }, - false - ).generate() - } - -} - -public open class DokkaExtension { - var moduleName: String = "" - var outputFormat: String = "html" - var outputDirectory: String = "" - var processConfigurations: ArrayList = arrayListOf("compile") - var includes: ArrayList = arrayListOf() - var linkMappings: ArrayList = arrayListOf() - var samples: ArrayList = arrayListOf() - - fun linkMapping(closure: Closure) { - val mapping = LinkMapping() - closure.delegate = mapping - closure.call() - - if (mapping.dir.isEmpty()) { - throw IllegalArgumentException("Link mapping should have dir") - } - if (mapping.url.isEmpty()) { - throw IllegalArgumentException("Link mapping should have url") - } - - linkMappings.add(mapping) - } -} - -public open class LinkMapping { - var dir: String = "" - var url: String = "" - var suffix: String? = null -} diff --git a/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties b/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties deleted file mode 100644 index b42cfe9f..00000000 --- a/gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.dokka.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.dokka.gradle.DokkaPlugin \ No newline at end of file -- cgit