From 2bab59fee39cd60ad80327d528771015a5903639 Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Mon, 29 Apr 2019 11:29:23 +0200 Subject: Fix for analysis platform --- .../src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt | 6 +++++- .../org/jetbrains/dokka/gradle/configurationImplementations.kt | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'runners') diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt index b7e859e1..f7999f59 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt @@ -14,6 +14,7 @@ import org.gradle.api.tasks.compile.AbstractCompile import org.jetbrains.dokka.DokkaBootstrap import org.jetbrains.dokka.DokkaConfiguration import org.jetbrains.dokka.DokkaConfiguration.SourceRoot +import org.jetbrains.dokka.Platform import org.jetbrains.dokka.ReflectDsl import org.jetbrains.dokka.ReflectDsl.isNotInstance import java.io.File @@ -241,11 +242,14 @@ open class DokkaTask : DefaultTask() { passConfig.collectInheritedExtensionsFromLibraries = collectInheritedExtensionsFromLibraries passConfig.suppressedFiles = collectSuppressedFiles(passConfig.sourceRoots) passConfig.externalDocumentationLinks.addAll(externalDocumentationLinks) + if(passConfig.platform.isNotEmpty()){ + passConfig.analysisPlatform = Platform.fromString(passConfig.platform) + } return passConfig } - private fun collectSourceRoots(): List { + private fun collectSourceRoots(): List { val sourceDirs = when { sourceDirs.any() -> { logger.info("Dokka: Taking source directories provided by the user") diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt index 50412734..887e4d9b 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt @@ -41,6 +41,7 @@ open class GradlePassConfigurationImpl(@Transient val name: String = ""): PassCo override var suppressedFiles: List = emptyList() override var collectInheritedExtensionsFromLibraries: Boolean = false override var analysisPlatform: Platform = Platform.DEFAULT + var platform: String = "" override var targets: List = emptyList() override var sinceKotlin: String = "1.0" -- cgit From 063bcfa85f07bd0ad7a28479931cd982665d2c28 Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Mon, 29 Apr 2019 15:42:42 +0200 Subject: Fix for external documentation links and gradle tests --- .../src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt | 1 - .../kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'runners') diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt index f7999f59..d289237f 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt @@ -50,7 +50,6 @@ open class DokkaTask : DefaultTask() { @Input var outputFormat: String = "html" - @OutputDirectory var outputDirectory: String = "" var dokkaRuntime: Configuration? = null diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt index 887e4d9b..fd889d78 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt @@ -97,8 +97,8 @@ class GradleSourceLinkDefinitionImpl : SourceLinkDefinition { } class GradleExternalDocumentationLinkImpl : ExternalDocumentationLink { - override var url: URL = URL("") - override var packageListUrl: URL = URL("") + override var url: URL = URL("http://") + override var packageListUrl: URL = URL("http://") } class GradleDokkaConfigurationImpl: DokkaConfiguration { -- cgit From 1f2ceb505aeb67fb21a483711a9bdbcebe3d9e0b Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Mon, 29 Apr 2019 16:06:53 +0200 Subject: Fix Android Gradle Plugin --- runners/android-gradle-plugin/src/main/kotlin/mainAndroid.kt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'runners') diff --git a/runners/android-gradle-plugin/src/main/kotlin/mainAndroid.kt b/runners/android-gradle-plugin/src/main/kotlin/mainAndroid.kt index 367b9257..2d79013e 100644 --- a/runners/android-gradle-plugin/src/main/kotlin/mainAndroid.kt +++ b/runners/android-gradle-plugin/src/main/kotlin/mainAndroid.kt @@ -7,6 +7,9 @@ import org.jetbrains.dokka.DokkaConfiguration.ExternalDocumentationLink.Builder import org.jetbrains.dokka.DokkaConfiguration.SourceRoot import java.io.File +internal const val CONFIGURATION_EXTENSION_NAME = "configuration" +internal const val MULTIPLATFORM_EXTENSION_NAME = "multiplatform" + open class DokkaAndroidPlugin : Plugin { override fun apply(project: Project) { DokkaVersion.loadFrom(javaClass.getResourceAsStream("/META-INF/gradle-plugins/org.jetbrains.dokka-android.properties")) @@ -15,6 +18,11 @@ open class DokkaAndroidPlugin : Plugin { moduleName = project.name outputDirectory = File(project.buildDir, "dokka").absolutePath } + project.tasks.withType(DokkaTask::class.java) { task -> + val passConfiguration = project.container(GradlePassConfigurationImpl::class.java) + task.extensions.add(MULTIPLATFORM_EXTENSION_NAME, passConfiguration) + task.extensions.create(CONFIGURATION_EXTENSION_NAME, GradlePassConfigurationImpl::class.java, "") + } } } -- cgit From 885ddd8cfffeb39d837fbd545e009c2cd93e983e Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Mon, 29 Apr 2019 16:07:13 +0200 Subject: Fix Gradle incremental build --- .../kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'runners') diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt index d289237f..d4eee4b2 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt @@ -61,7 +61,7 @@ open class DokkaTask : DefaultTask() { var sourceDirs: Iterable = emptyList() @Input - var sourceRoots: MutableList = arrayListOf() + var sourceRoots: MutableList = arrayListOf() @Input var dokkaFatJar: Any = "org.jetbrains.dokka:dokka-fatjar:${DokkaVersion.version}" @@ -265,6 +265,22 @@ open class DokkaTask : DefaultTask() { return sourceRoots + (sourceDirs?.toSourceRoots() ?: emptyList()) } + /** + * Needed for Gradle incremental build + */ + @OutputDirectory + fun getOutputDirectoryAsFile(): File = project.file(outputDirectory) + + /** + * Needed for Gradle incremental build + */ + @InputFiles + fun getInputFiles(): FileCollection { + val (_, tasksSourceRoots) = extractClasspathAndSourceRootsFromKotlinTasks() + return project.files(tasksSourceRoots.map { project.fileTree(it) }) + + project.files(collectSourceRoots().map { project.fileTree(File(it.path)) }) + } + companion object { const val COLORS_ENABLED_PROPERTY = "kotlin.colors.enabled" const val ABSTRACT_KOTLIN_COMPILE = "org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile" -- cgit From bc83950d6a147111eba061031eb02e1649ba9fdd Mon Sep 17 00:00:00 2001 From: Kamil Doległo Date: Mon, 29 Apr 2019 16:07:34 +0200 Subject: Fix some tests --- .../testData/androidLibDependsOnJavaLib/lib/build.gradle | 11 ++++++----- runners/gradle-integration-tests/testData/basic/build.gradle | 2 +- .../testData/sourcesChange/build.gradle | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'runners') diff --git a/runners/gradle-integration-tests/testData/androidLibDependsOnJavaLib/lib/build.gradle b/runners/gradle-integration-tests/testData/androidLibDependsOnJavaLib/lib/build.gradle index 0f27d365..82215a44 100644 --- a/runners/gradle-integration-tests/testData/androidLibDependsOnJavaLib/lib/build.gradle +++ b/runners/gradle-integration-tests/testData/androidLibDependsOnJavaLib/lib/build.gradle @@ -30,10 +30,11 @@ dependencies { } dokka { - dokkaFatJar = new File(dokka_fatjar) - - externalDocumentationLink { - url = new URL("https://example.com") - packageListUrl = file("$rootDir/package-list").toURI().toURL() + dokkaFatJar = files(dokka_fatjar) + configuration { + externalDocumentationLink { + url = new URL("https://example.com") + packageListUrl = file("$rootDir/package-list").toURI().toURL() + } } } \ No newline at end of file diff --git a/runners/gradle-integration-tests/testData/basic/build.gradle b/runners/gradle-integration-tests/testData/basic/build.gradle index a3116751..85e86748 100644 --- a/runners/gradle-integration-tests/testData/basic/build.gradle +++ b/runners/gradle-integration-tests/testData/basic/build.gradle @@ -35,6 +35,6 @@ dependencies { dokka { - dokkaFatJar = new File(dokka_fatjar) + dokkaFatJar = files(dokka_fatjar) classpath += files("$projectDir/classDir") } \ No newline at end of file diff --git a/runners/gradle-integration-tests/testData/sourcesChange/build.gradle b/runners/gradle-integration-tests/testData/sourcesChange/build.gradle index 4627e8ef..f436afb4 100644 --- a/runners/gradle-integration-tests/testData/sourcesChange/build.gradle +++ b/runners/gradle-integration-tests/testData/sourcesChange/build.gradle @@ -35,5 +35,5 @@ dependencies { dokka { - dokkaFatJar = new File(dokka_fatjar) + dokkaFatJar = files(dokka_fatjar) } \ No newline at end of file -- cgit