diff options
41 files changed, 224 insertions, 90 deletions
diff --git a/examples/gradle/dokka-customFormat-example/build.gradle.kts b/examples/gradle/dokka-customFormat-example/build.gradle.kts index 0c845572..f9a84bd9 100644 --- a/examples/gradle/dokka-customFormat-example/build.gradle.kts +++ b/examples/gradle/dokka-customFormat-example/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.dokka.base.DokkaBase import org.jetbrains.dokka.base.DokkaBaseConfiguration plugins { - kotlin("jvm") version "1.7.20" + kotlin("jvm") version "1.8.10" id("org.jetbrains.dokka") version ("1.7.20") } diff --git a/examples/gradle/dokka-gradle-example/build.gradle.kts b/examples/gradle/dokka-gradle-example/build.gradle.kts index db3d91b9..29d0e714 100644 --- a/examples/gradle/dokka-gradle-example/build.gradle.kts +++ b/examples/gradle/dokka-gradle-example/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.dokka.gradle.DokkaTask import java.net.URL plugins { - kotlin("jvm") version "1.7.20" + kotlin("jvm") version "1.8.10" id("org.jetbrains.dokka") version ("1.7.20") } diff --git a/examples/gradle/dokka-kotlinAsJava-example/build.gradle.kts b/examples/gradle/dokka-kotlinAsJava-example/build.gradle.kts index d45be539..f047d196 100644 --- a/examples/gradle/dokka-kotlinAsJava-example/build.gradle.kts +++ b/examples/gradle/dokka-kotlinAsJava-example/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("jvm") version "1.7.20" + kotlin("jvm") version "1.8.10" id("org.jetbrains.dokka") version ("1.7.20") } diff --git a/examples/gradle/dokka-library-publishing-example/build.gradle.kts b/examples/gradle/dokka-library-publishing-example/build.gradle.kts index 153276b6..dd49f165 100644 --- a/examples/gradle/dokka-library-publishing-example/build.gradle.kts +++ b/examples/gradle/dokka-library-publishing-example/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("jvm") version "1.7.20" + kotlin("jvm") version "1.8.10" id("org.jetbrains.dokka") version ("1.7.20") `java-library` `maven-publish` diff --git a/examples/gradle/dokka-multimodule-example/gradle.properties b/examples/gradle/dokka-multimodule-example/gradle.properties index 664b5f0e..81b732be 100644 --- a/examples/gradle/dokka-multimodule-example/gradle.properties +++ b/examples/gradle/dokka-multimodule-example/gradle.properties @@ -1,2 +1,2 @@ -kotlinVersion=1.7.20 +kotlinVersion=1.8.10 dokkaVersion=1.7.20 diff --git a/examples/gradle/dokka-multiplatform-example/build.gradle.kts b/examples/gradle/dokka-multiplatform-example/build.gradle.kts index 64b5a003..7ab3bc1c 100644 --- a/examples/gradle/dokka-multiplatform-example/build.gradle.kts +++ b/examples/gradle/dokka-multiplatform-example/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.dokka.Platform plugins { - kotlin("multiplatform") version "1.7.20" + kotlin("multiplatform") version "1.8.10" id("org.jetbrains.dokka") version "1.7.20" } @@ -19,7 +19,7 @@ kotlin { jvm() // Creates a JVM target with the default name "jvm" linuxX64("linux") macosX64("macos") - js() + js(BOTH) sourceSets { val commonMain by getting { dependencies { diff --git a/examples/gradle/dokka-versioning-multimodule-example/build.gradle.kts b/examples/gradle/dokka-versioning-multimodule-example/build.gradle.kts index e14e7394..a989c691 100644 --- a/examples/gradle/dokka-versioning-multimodule-example/build.gradle.kts +++ b/examples/gradle/dokka-versioning-multimodule-example/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("jvm") version "1.7.20" + kotlin("jvm") version "1.8.10" id("org.jetbrains.dokka") version ("1.7.20") apply false } diff --git a/examples/maven/pom.xml b/examples/maven/pom.xml index 7c9de827..a5b45922 100644 --- a/examples/maven/pom.xml +++ b/examples/maven/pom.xml @@ -8,7 +8,7 @@ <artifactId>kotlin-maven-example</artifactId> <version>1.0-SNAPSHOT</version> <properties> - <kotlin.version>1.7.20</kotlin.version> + <kotlin.version>1.8.10</kotlin.version> <dokka.version>1.7.20</dokka.version> </properties> diff --git a/examples/plugin/hide-internal-api/build.gradle.kts b/examples/plugin/hide-internal-api/build.gradle.kts index a6dec0e0..8d335b11 100644 --- a/examples/plugin/hide-internal-api/build.gradle.kts +++ b/examples/plugin/hide-internal-api/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.net.URI plugins { - kotlin("jvm") version "1.7.20" + kotlin("jvm") version "1.8.10" id("org.jetbrains.dokka") version "1.7.20" `maven-publish` signing diff --git a/gradle.properties b/gradle.properties index 8d7cc49f..a1861e28 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,10 +2,10 @@ dokka_version=1.8.0-SNAPSHOT dokka_integration_test_parallelism=2 # Versions -kotlin_version=1.7.20 +kotlin_version=1.8.10 coroutines_version=1.6.3 kotlinx_html_version=0.7.5 -kotlin_plugin_version=213-1.7.20-199-IJ6777.52 +kotlin_plugin_version=213-1.8.10-release-430-IJ6777.52 jsoup_version=1.15.3 idea_version=213.6777.52 language_version=1.4 diff --git a/integration-tests/gradle/projects/coroutines/coroutines.diff b/integration-tests/gradle/projects/coroutines/coroutines.diff index 239fb43a..4d95307c 100644 --- a/integration-tests/gradle/projects/coroutines/coroutines.diff +++ b/integration-tests/gradle/projects/coroutines/coroutines.diff @@ -1,62 +1,60 @@ diff --git a/build.gradle b/build.gradle -index ba6d5c18c..bd31bca29 100644 +index 934d4c220..38321990e 100644 --- a/build.gradle +++ b/build.gradle -@@ -125,6 +125,7 @@ allprojects { - * transitive dependencies was removed from jcenter, thus breaking gradle dependency resolution - */ +@@ -131,6 +131,7 @@ allprojects { google() -+ mavenLocal() mavenCentral() - maven { url "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" } + CommunityProjectsBuild.addDevRepositoryIfEnabled(delegate, project) ++ mavenLocal() } + } + diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts -index eaa03f2f1..deae8d40d 100644 +index 785d13fdb..7fb19f467 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts -@@ -19,6 +19,7 @@ repositories { - maven("https://plugins.gradle.org/m2") - } - maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev") -+ mavenLocal() +@@ -25,6 +25,7 @@ repositories { if (buildSnapshotTrain) { mavenLocal() } ++ mavenLocal() + } + + kotlinDslPluginOptions { diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts -index c2e859f65..80163ff95 100644 +index c2e859f65..43dc4f749 100644 --- a/buildSrc/settings.gradle.kts +++ b/buildSrc/settings.gradle.kts -@@ -4,6 +4,7 @@ - pluginManagement { - val build_snapshot_train: String? by settings - repositories { +@@ -14,5 +14,6 @@ pluginManagement { + if (build_snapshot_train?.toBoolean() == true) { + mavenLocal() + } + mavenLocal() - val cacheRedirectorEnabled = System.getenv("CACHE_REDIRECTOR")?.toBoolean() == true - if (cacheRedirectorEnabled) { - println("Redirecting repositories for buildSrc buildscript") + } + } diff --git a/gradle.properties b/gradle.properties -index e452a07ee..471285c20 100644 +index db7cf099b..9c13c46fd 100644 --- a/gradle.properties +++ b/gradle.properties -@@ -14,7 +14,7 @@ atomicfu_version=0.17.3 +@@ -14,7 +14,7 @@ atomicfu_version=0.18.5 knit_version=0.4.0 html_version=0.7.2 - lincheck_version=2.14 --dokka_version=1.6.21 + lincheck_version=2.14.1 +-dokka_version=1.7.20 +dokka_version=for-integration-tests-SNAPSHOT byte_buddy_version=1.10.9 reactor_version=3.4.1 reactive_streams_version=1.0.3 diff --git a/settings.gradle b/settings.gradle -index f0a764898..1cc45fdf6 100644 +index 151c087fd..e578bdb93 100644 --- a/settings.gradle +++ b/settings.gradle -@@ -12,7 +12,7 @@ pluginManagement { - } - +@@ -11,6 +11,7 @@ pluginManagement { repositories { -- maven { url "https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev/" } -+ mavenLocal() + maven { url "https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev/" } gradlePluginPortal() ++ mavenLocal() } } + diff --git a/integration-tests/gradle/projects/coroutines/kotlinx-coroutines b/integration-tests/gradle/projects/coroutines/kotlinx-coroutines -Subproject d88a8c227a295f91251960c8fe6b21a02ddf704 +Subproject b74e039196711512764add6f94af92f99d09d3a diff --git a/integration-tests/gradle/projects/it-android-0/gradle.properties b/integration-tests/gradle/projects/it-android-0/gradle.properties index 6c0d7406..8f0204a1 100644 --- a/integration-tests/gradle/projects/it-android-0/gradle.properties +++ b/integration-tests/gradle/projects/it-android-0/gradle.properties @@ -1,3 +1,3 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 dokka_it_android_gradle_plugin_version=4.0.0 android.useAndroidX=true diff --git a/integration-tests/gradle/projects/it-basic-groovy/gradle.properties b/integration-tests/gradle/projects/it-basic-groovy/gradle.properties index fa6c65f6..0fe2eafa 100644 --- a/integration-tests/gradle/projects/it-basic-groovy/gradle.properties +++ b/integration-tests/gradle/projects/it-basic-groovy/gradle.properties @@ -1 +1 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/projects/it-basic/gradle.properties b/integration-tests/gradle/projects/it-basic/gradle.properties index fa6c65f6..0fe2eafa 100644 --- a/integration-tests/gradle/projects/it-basic/gradle.properties +++ b/integration-tests/gradle/projects/it-basic/gradle.properties @@ -1 +1 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/projects/it-collector-0/gradle.properties b/integration-tests/gradle/projects/it-collector-0/gradle.properties index fa6c65f6..0fe2eafa 100644 --- a/integration-tests/gradle/projects/it-collector-0/gradle.properties +++ b/integration-tests/gradle/projects/it-collector-0/gradle.properties @@ -1 +1 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/projects/it-js-ir-0/gradle.properties b/integration-tests/gradle/projects/it-js-ir-0/gradle.properties index 6df9a408..2fe2706a 100644 --- a/integration-tests/gradle/projects/it-js-ir-0/gradle.properties +++ b/integration-tests/gradle/projects/it-js-ir-0/gradle.properties @@ -1,2 +1,2 @@ -dokka_it_kotlin_version=1.7.20 -react_version=18.1.0-pre.345 +dokka_it_kotlin_version=1.8.10 +react_version=18.2.0-pre.467 diff --git a/integration-tests/gradle/projects/it-multimodule-0/gradle.properties b/integration-tests/gradle/projects/it-multimodule-0/gradle.properties index fa6c65f6..0fe2eafa 100644 --- a/integration-tests/gradle/projects/it-multimodule-0/gradle.properties +++ b/integration-tests/gradle/projects/it-multimodule-0/gradle.properties @@ -1 +1 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/projects/it-multimodule-1/gradle.properties b/integration-tests/gradle/projects/it-multimodule-1/gradle.properties index fa6c65f6..0fe2eafa 100644 --- a/integration-tests/gradle/projects/it-multimodule-1/gradle.properties +++ b/integration-tests/gradle/projects/it-multimodule-1/gradle.properties @@ -1 +1 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/projects/it-multimodule-versioning-0/gradle.properties b/integration-tests/gradle/projects/it-multimodule-versioning-0/gradle.properties index 731bcb72..bc379f9a 100644 --- a/integration-tests/gradle/projects/it-multimodule-versioning-0/gradle.properties +++ b/integration-tests/gradle/projects/it-multimodule-versioning-0/gradle.properties @@ -1,2 +1,2 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/projects/it-multiplatform-0/build.gradle.kts b/integration-tests/gradle/projects/it-multiplatform-0/build.gradle.kts index cf180f48..ec24e720 100644 --- a/integration-tests/gradle/projects/it-multiplatform-0/build.gradle.kts +++ b/integration-tests/gradle/projects/it-multiplatform-0/build.gradle.kts @@ -12,7 +12,7 @@ kotlin { jvm() linuxX64("linux") macosX64("macos") - js() + js(BOTH) //TODO Add wasm when kx.coroutines will be supported and published into the main repo sourceSets { val commonMain by sourceSets.getting diff --git a/integration-tests/gradle/projects/it-multiplatform-0/gradle.properties b/integration-tests/gradle/projects/it-multiplatform-0/gradle.properties index 9d87e55a..9e67e4d0 100644 --- a/integration-tests/gradle/projects/it-multiplatform-0/gradle.properties +++ b/integration-tests/gradle/projects/it-multiplatform-0/gradle.properties @@ -1,4 +1,4 @@ -dokka_it_kotlin_version=1.7.20 +dokka_it_kotlin_version=1.8.10 #these flags are enabled by default since 1.6.20. #remove when this test is executed with Kotlin >= 1.6.20 kotlin.mpp.enableGranularSourceSetsMetadata=true diff --git a/integration-tests/gradle/projects/it-sequential-tasks-execution-stress/gradle.properties b/integration-tests/gradle/projects/it-sequential-tasks-execution-stress/gradle.properties index 5cc792c8..bf73b621 100644 --- a/integration-tests/gradle/projects/it-sequential-tasks-execution-stress/gradle.properties +++ b/integration-tests/gradle/projects/it-sequential-tasks-execution-stress/gradle.properties @@ -1,2 +1,2 @@ -dokka_it_kotlin_version=1.7.20 -task_number=100
\ No newline at end of file +dokka_it_kotlin_version=1.8.10 +task_number=100 diff --git a/integration-tests/gradle/projects/it-wasm-basic/gradle.properties b/integration-tests/gradle/projects/it-wasm-basic/gradle.properties index 7c5e618d..0fe2eafa 100644 --- a/integration-tests/gradle/projects/it-wasm-basic/gradle.properties +++ b/integration-tests/gradle/projects/it-wasm-basic/gradle.properties @@ -1 +1 @@ -dokka_it_kotlin_version=1.7.20
\ No newline at end of file +dokka_it_kotlin_version=1.8.10 diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicCachingIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicCachingIntegrationTest.kt index ada6c26c..66a13f7e 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicCachingIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicCachingIntegrationTest.kt @@ -10,7 +10,7 @@ class BasicCachingIntegrationTest(override val versions: BuildVersions) : Abstra companion object { @get:JvmStatic @get:Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt index 2e48447a..50ab213c 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGradleIntegrationTest.kt @@ -10,7 +10,7 @@ class BasicGradleIntegrationTest(override val versions: BuildVersions) : Abstrac companion object { @get:JvmStatic @get:Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGroovyIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGroovyIntegrationTest.kt index 2a038f37..e54a140c 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGroovyIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/BasicGroovyIntegrationTest.kt @@ -14,7 +14,7 @@ class BasicGroovyIntegrationTest(override val versions: BuildVersions) : Abstrac companion object { @get:JvmStatic @get:Parameterized.Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Collector0IntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Collector0IntegrationTest.kt index 54035061..0a0a48f7 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Collector0IntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Collector0IntegrationTest.kt @@ -9,7 +9,7 @@ class Collector0IntegrationTest(override val versions: BuildVersions) : Abstract companion object { @get:JvmStatic @get:Parameterized.Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/GradleRelocatedCachingIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/GradleRelocatedCachingIntegrationTest.kt index 2ac129af..b45caf77 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/GradleRelocatedCachingIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/GradleRelocatedCachingIntegrationTest.kt @@ -10,7 +10,7 @@ class GradleRelocatedCachingIntegrationTest(override val versions: BuildVersions companion object { @get:JvmStatic @get:Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/JsIRGradleIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/JsIRGradleIntegrationTest.kt index 241dc732..25986c88 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/JsIRGradleIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/JsIRGradleIntegrationTest.kt @@ -10,7 +10,7 @@ class JsIRGradleIntegrationTest(override val versions: BuildVersions) : Abstract companion object { @get:JvmStatic @get:Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } private val ignoredKotlinVersions = setOf( diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule0IntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule0IntegrationTest.kt index 3c0bc5a5..497dee0e 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule0IntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule0IntegrationTest.kt @@ -9,7 +9,7 @@ class MultiModule0IntegrationTest(override val versions: BuildVersions) : Abstra companion object { @get:JvmStatic @get:Parameterized.Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule1IntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule1IntegrationTest.kt index ffc4705a..8786e0da 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule1IntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/MultiModule1IntegrationTest.kt @@ -12,7 +12,7 @@ class MultiModule1IntegrationTest(override val versions: BuildVersions) : Abstra companion object { @get:JvmStatic @get:Parameterized.Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Multiplatform0GradleIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Multiplatform0GradleIntegrationTest.kt index 55f4ce64..e73f6c82 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Multiplatform0GradleIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Multiplatform0GradleIntegrationTest.kt @@ -10,7 +10,7 @@ class Multiplatform0GradleIntegrationTest(override val versions: BuildVersions) companion object { @get:JvmStatic @get:Parameterized.Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/TestedVersions.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/TestedVersions.kt index 2b8e5b3c..82dc79e2 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/TestedVersions.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/TestedVersions.kt @@ -2,19 +2,29 @@ package org.jetbrains.dokka.it.gradle internal object TestedVersions { - val LATEST = BuildVersions("7.4.2", "1.7.20") - val BASE = + val LATEST = BuildVersions("7.4.2", "1.8.10") + + /** + * All supported Gradle/Kotlin versions, including [LATEST] + * + * [Kotlin/Gradle compatibility matrix](https://docs.gradle.org/current/userguide/compatibility.html#kotlin) + */ + val ALL_SUPPORTED = BuildVersions.permutations( - gradleVersions = listOf("7.4.2", "6.9"), + gradleVersions = listOf("6.9"), kotlinVersions = listOf("1.7.20", "1.6.21", "1.5.31", "1.4.32"), ) + BuildVersions.permutations( gradleVersions = listOf(*ifExhaustive("7.0", "6.1.1")), - kotlinVersions = listOf(*ifExhaustive("1.6.0", "1.5.0", "1.4.0")) - ) + kotlinVersions = listOf(*ifExhaustive("1.7.0", "1.6.0", "1.5.0", "1.4.0")) + ) + LATEST /** - * Starting with version 7, major android gradle plugin versions are aligned - * with major gradle versions, i.e android plugin 7.0.0 will not work with gradle 6.9 + * Supported Android/Gradle/Kotlin versions, including [LATEST] + * + * Starting with version 7, major Android Gradle Plugin versions are aligned + * with major Gradle versions, i.e AGP 7.X will only work with Gradle 7.X + * + * [AGP/Gradle compatibility matrix](https://developer.android.com/studio/releases/gradle-plugin#updating-gradle) */ val ANDROID = BuildVersions.permutations( @@ -23,9 +33,9 @@ internal object TestedVersions { androidGradlePluginVersions = listOf("7.2.0") ) + BuildVersions.permutations( gradleVersions = listOf("6.9", *ifExhaustive("6.1.1", "5.6.4")), - kotlinVersions = listOf("1.7.20", "1.6.21", "1.5.31", "1.4.32"), + kotlinVersions = listOf("1.8.0", "1.7.0", "1.6.0", "1.5.0", "1.4.0"), androidGradlePluginVersions = listOf("4.0.0", *ifExhaustive("3.6.3")) - ) + ) + LATEST // https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react val KT_REACT_WRAPPER_MAPPING = mapOf( @@ -34,5 +44,7 @@ internal object TestedVersions { "1.5.31" to "17.0.2-pre.265-kotlin-1.5.31", "1.6.21" to "18.0.0-pre.332-kotlin-1.6.21", "1.7.20" to "18.2.0-pre.391", + "1.8.0" to "18.2.0-pre.467", + "1.8.10" to "18.2.0-pre.490", ) } diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Versioning0IntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Versioning0IntegrationTest.kt index b9cd7c29..d6b23981 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Versioning0IntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/Versioning0IntegrationTest.kt @@ -10,7 +10,7 @@ class Versioning0IntegrationTest(override val versions: BuildVersions) : Abstrac companion object { @get:JvmStatic @get:Parameterized.Parameters(name = "{0}") - val versions = TestedVersions.BASE + val versions = TestedVersions.ALL_SUPPORTED } @BeforeTest diff --git a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/kotlin/CoroutinesGradleIntegrationTest.kt b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/kotlin/CoroutinesGradleIntegrationTest.kt index 0b727a29..65055623 100644 --- a/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/kotlin/CoroutinesGradleIntegrationTest.kt +++ b/integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/kotlin/CoroutinesGradleIntegrationTest.kt @@ -16,7 +16,7 @@ class CoroutinesGradleIntegrationTest(override val versions: BuildVersions) : Ab @get:Parameterized.Parameters(name = "{0}") val versions = BuildVersions.permutations( gradleVersions = listOf("7.4.2"), - kotlinVersions = listOf("1.7.10") + kotlinVersions = listOf("1.8.10") ) } diff --git a/integration-tests/maven/projects/it-maven/pom.xml b/integration-tests/maven/projects/it-maven/pom.xml index dec891bd..e2db4e82 100644 --- a/integration-tests/maven/projects/it-maven/pom.xml +++ b/integration-tests/maven/projects/it-maven/pom.xml @@ -7,7 +7,7 @@ <version>1.0-SNAPSHOT</version> <properties> - <kotlin.version>1.7.20</kotlin.version> + <kotlin.version>1.8.10</kotlin.version> </properties> <build> <plugins> diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt index 9de85eb0..41ab2039 100644 --- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt @@ -310,6 +310,7 @@ private class DokkaDescriptorVisitor( // synthetic values() and valueOf() functions are not present among average class functions val enumSyntheticFunctions = staticScopeForKotlinEnum.getContributedDescriptors { true } + .filterIsInstance<FunctionDescriptor>() return descriptorsWithKind.copy(functions = descriptorsWithKind.functions + enumSyntheticFunctions) } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinGradlePluginVersion.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinGradlePluginVersion.kt new file mode 100644 index 00000000..bd2de4bd --- /dev/null +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinGradlePluginVersion.kt @@ -0,0 +1,30 @@ +package org.jetbrains.dokka.gradle.kotlin + +import org.gradle.api.Project +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion + +internal typealias KotlinGradlePluginVersion = KotlinVersion + +internal fun Project.getKgpVersion(): KotlinGradlePluginVersion? = parseKotlinVersion(this.getKotlinPluginVersion()) + +/** + * Accepts a full version string that contains the major, minor + * and patch versions divided by dots, such as "1.7.10". + * + * Does NOT parse and store custom suffixes, so `1.8.20-RC2` + * or `1.8.20-dev-42` will be viewed as `1.8.20`. + */ +internal fun parseKotlinVersion(fullVersionString: String): KotlinVersion? { + val versionParts = fullVersionString + .split(".", "-", limit = 4) + .takeIf { parts -> parts.size >= 3 && parts.subList(0, 3).all { it.isNumeric() } } + ?: return null + + return KotlinVersion( + major = versionParts[0].toInt(), + minor = versionParts[1].toInt(), + patch = versionParts[2].toInt() + ) +} + +private fun String.isNumeric() = this.isNotEmpty() && this.all { it.isDigit() } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/kotlinClasspathUtils.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/kotlinClasspathUtils.kt index 9ef268f2..ed77324f 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/kotlinClasspathUtils.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/kotlinClasspathUtils.kt @@ -3,7 +3,6 @@ package org.jetbrains.dokka.gradle.kotlin import org.gradle.api.Project import org.gradle.api.file.FileCollection import org.jetbrains.dokka.gradle.isAndroidTarget -import org.jetbrains.dokka.utilities.cast import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinNativeCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation @@ -25,7 +24,7 @@ internal fun Project.classpathOf(sourceSet: KotlinSourceSet): FileCollection { * Ignore [org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation] for `commonMain` sourceSet with name `main` */ .filterNot { compilation -> isHMPPEnabled && compilation is KotlinCommonCompilation && compilation.name == "main" } - .map { compilation -> compileClasspathOf(compilation) } + .map { compilation -> compilation.compileClasspathOf(project = this) } .reduce { acc, fileCollection -> acc + fileCollection } } else { sourceSet.withAllDependentSourceSets() @@ -35,19 +34,38 @@ internal fun Project.classpathOf(sourceSet: KotlinSourceSet): FileCollection { } } -private fun Project.compileClasspathOf(compilation: KotlinCompilation): FileCollection { - if (compilation.target.isAndroidTarget()) { - // This is a workaround for https://youtrack.jetbrains.com/issue/KT-33893 - @Suppress("DEPRECATION") // for compatibility - return compilation.compileKotlinTask.cast<KotlinCompile>().classpath +private fun KotlinCompilation.compileClasspathOf(project: Project): FileCollection { + if (this.target.isAndroidTarget()) { // Workaround for https://youtrack.jetbrains.com/issue/KT-33893 + return this.classpathOf(project) } - val platformDependencyFiles: FileCollection = (compilation as? AbstractKotlinNativeCompilation) + val platformDependencyFiles: FileCollection = (this as? AbstractKotlinNativeCompilation) ?.target?.project?.configurations - ?.findByName(compilation.defaultSourceSet.implementationMetadataConfigurationName) - ?: files() + ?.findByName(this.defaultSourceSet.implementationMetadataConfigurationName) + ?: project.files() - return compilation.compileDependencyFiles + platformDependencyFiles + - @Suppress("DEPRECATION") // for compatibility - (compilation.compileKotlinTask.run { this as? KotlinCompile }?.classpath ?: files()) + return this.compileDependencyFiles + platformDependencyFiles + this.classpathOf(project) +} + +private fun KotlinCompilation.classpathOf(project: Project): FileCollection { + val kgpVersion = project.getKgpVersion() + val kotlinCompile = this.getKotlinCompileTask(kgpVersion) ?: return project.files() + + val shouldKeepBackwardsCompatibility = (kgpVersion != null && kgpVersion < KotlinGradlePluginVersion(1, 7, 0)) + return if (shouldKeepBackwardsCompatibility) { + @Suppress("DEPRECATION_ERROR") + kotlinCompile.classpath // deprecated with error since 1.8.0, left for compatibility with < Kotlin 1.7 + } else { + kotlinCompile.libraries // introduced in 1.7.0 + } +} + +private fun KotlinCompilation.getKotlinCompileTask(kgpVersion: KotlinGradlePluginVersion? = null): KotlinCompile? { + val shouldKeepBackwardsCompatibility = (kgpVersion != null && kgpVersion < KotlinGradlePluginVersion(1, 8, 0)) + return if (shouldKeepBackwardsCompatibility) { + @Suppress("DEPRECATION") // for `compileKotlinTask` property, deprecated with warning since 1.8.0 + this.compileKotlinTask as? KotlinCompile + } else { + this.compileTaskProvider.get() as? KotlinCompile // introduced in 1.8.0 + } } diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinGradlePluginVersionTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinGradlePluginVersionTest.kt new file mode 100644 index 00000000..b24524f1 --- /dev/null +++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinGradlePluginVersionTest.kt @@ -0,0 +1,75 @@ +package org.jetbrains.dokka.gradle.kotlin + +import kotlin.test.* + +class KotlinGradlePluginVersionTest { + + @Test + fun `should parse versions`() { + assertParsedVersion(input = "1.7.22", expectedMajor = 1, expectedMinor = 7, expectedPatch = 22) + assertParsedVersion(input = "2.0.0", expectedMajor = 2, expectedMinor = 0, expectedPatch = 0) + assertParsedVersion(input = "1.8.22-RC2", expectedMajor = 1, expectedMinor = 8, expectedPatch = 22) + assertParsedVersion(input = "1.5.22-Beta", expectedMajor = 1, expectedMinor = 5, expectedPatch = 22) + assertParsedVersion(input = "2.7.22-mercury-500", expectedMajor = 2, expectedMinor = 7, expectedPatch = 22) + assertParsedVersion(input = "1.7.100-dev-800", expectedMajor = 1, expectedMinor = 7, expectedPatch = 100) + } + + @Test + fun `should return null on non parsable string`() { + assertNull(parse("1.7")) + assertNull(parse("1")) + assertNull(parse("6")) + assertNull(parse("17.0")) + assertNull(parse("1..7.0")) + assertNull(parse("1.7-Beta")) + assertNull(parse("1.7.0Beta")) + } + + @Test + fun `should compare simple versions`() { + assertEquals(0, KotlinGradlePluginVersion(1, 7, 0).compareTo(KotlinGradlePluginVersion(1, 7, 0))) + + assertTrue(KotlinGradlePluginVersion(1, 6, 10) >= KotlinGradlePluginVersion(1, 6, 10)) + assertTrue(KotlinGradlePluginVersion(1, 6, 10) < KotlinGradlePluginVersion(1, 6, 20)) + assertTrue(KotlinGradlePluginVersion(1, 6, 10) > KotlinGradlePluginVersion(1, 6, 0)) + + assertTrue(KotlinGradlePluginVersion(1, 4, 32) <= KotlinGradlePluginVersion(1, 4, 32)) + assertTrue(KotlinGradlePluginVersion(1, 4, 32) < KotlinGradlePluginVersion(1, 6, 20)) + assertTrue(KotlinGradlePluginVersion(1, 4, 32) > KotlinGradlePluginVersion(1, 3, 0)) + + assertTrue(KotlinGradlePluginVersion(2, 1, 0) > KotlinGradlePluginVersion(1, 8, 0)) + assertTrue(KotlinGradlePluginVersion(1, 5, 31) < KotlinGradlePluginVersion(1, 7, 0)) + } + + @Test + fun `should compare custom dev versions with trailing strings`() { + assertEquals(0, KotlinGradlePluginVersion(1, 7, 0).compareTo(parseNotNull("1.7.0"))) + + assertTrue(KotlinGradlePluginVersion(1, 6, 10) >= parseNotNull("1.6.10-Beta")) + assertTrue(KotlinGradlePluginVersion(1, 6, 10) < parseNotNull("1.6.20")) + assertTrue(KotlinGradlePluginVersion(1, 6, 10) > parseNotNull("1.6.0-RC2")) + + assertTrue(KotlinGradlePluginVersion(1, 4, 32) <= parseNotNull("1.4.32-dev-142")) + assertTrue(KotlinGradlePluginVersion(1, 4, 32) < parseNotNull("1.6.20-Beta")) + assertTrue(KotlinGradlePluginVersion(1, 4, 32) > parseNotNull("1.3.0-RC")) + + assertTrue(KotlinGradlePluginVersion(2, 1, 0) > parseNotNull("1.8.0-mercury-500")) + } + + private fun assertParsedVersion( + input: String, + expectedMajor: Int, + expectedMinor: Int, + expectedPatch: Int + ) { + val kgpVersion = parseNotNull(input) + assertEquals(expectedMajor, kgpVersion.major) + assertEquals(expectedMinor, kgpVersion.minor) + assertEquals(expectedPatch, kgpVersion.patch) + assertEquals(KotlinGradlePluginVersion(expectedMajor, expectedMinor, expectedPatch), kgpVersion) + } + + private fun parseNotNull(input: String): KotlinGradlePluginVersion = assertNotNull(parse(input)) + + private fun parse(input: String): KotlinGradlePluginVersion? = parseKotlinVersion(input) +} |