From 51dbce63121e8438c5486ce36a8fbbb02d0d588d Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Mena Date: Tue, 1 Oct 2024 13:12:41 +0200 Subject: [PATCH 1/2] Move to Dokka 2 --- .../core/arrow-annotations/build.gradle.kts | 1 + arrow-libs/core/arrow-atomic/build.gradle.kts | 1 + .../core/arrow-autoclose/build.gradle.kts | 1 + .../core/arrow-cache4k/build.gradle.kts | 1 + .../arrow-core-high-arity/build.gradle.kts | 1 + .../core/arrow-core-retrofit/build.gradle.kts | 1 + .../arrow-core-serialization/build.gradle.kts | 2 +- arrow-libs/core/arrow-core/build.gradle.kts | 1 + arrow-libs/core/arrow-eval/build.gradle.kts | 1 + .../core/arrow-functions/build.gradle.kts | 1 + .../fx/arrow-collectors/build.gradle.kts | 1 + .../fx/arrow-fx-coroutines/build.gradle.kts | 1 + arrow-libs/fx/arrow-fx-stm/build.gradle.kts | 1 + .../arrow-optics-compose/build.gradle.kts | 1 + .../arrow-optics-reflect/build.gradle.kts | 1 + .../optics/arrow-optics/build.gradle.kts | 1 + .../arrow-resilience/build.gradle.kts | 1 + build.gradle.kts | 56 ++++++++++++------- gradle.properties | 2 + gradle/libs.versions.toml | 2 +- settings.gradle.kts | 1 + 21 files changed, 58 insertions(+), 21 deletions(-) diff --git a/arrow-libs/core/arrow-annotations/build.gradle.kts b/arrow-libs/core/arrow-annotations/build.gradle.kts index 1b9e385f48d..acacd800ceb 100644 --- a/arrow-libs/core/arrow-annotations/build.gradle.kts +++ b/arrow-libs/core/arrow-annotations/build.gradle.kts @@ -9,6 +9,7 @@ plugins { alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.spotless) + alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-atomic/build.gradle.kts b/arrow-libs/core/arrow-atomic/build.gradle.kts index 445ae20498d..79949a499f6 100644 --- a/arrow-libs/core/arrow-atomic/build.gradle.kts +++ b/arrow-libs/core/arrow-atomic/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-autoclose/build.gradle.kts b/arrow-libs/core/arrow-autoclose/build.gradle.kts index b42aecd9769..0bebaebb9cf 100644 --- a/arrow-libs/core/arrow-autoclose/build.gradle.kts +++ b/arrow-libs/core/arrow-autoclose/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.spotless) + alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-cache4k/build.gradle.kts b/arrow-libs/core/arrow-cache4k/build.gradle.kts index f73ae851bd2..643ae7ea044 100644 --- a/arrow-libs/core/arrow-cache4k/build.gradle.kts +++ b/arrow-libs/core/arrow-cache4k/build.gradle.kts @@ -9,6 +9,7 @@ plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.publish) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts index a6d64bbe79f..bb657a7d94a 100644 --- a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts +++ b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts index 27346d0ab9a..e9bda433532 100644 --- a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts +++ b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts @@ -11,6 +11,7 @@ plugins { alias(libs.plugins.kotlinx.serialization) // Needed for testing only alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-core-serialization/build.gradle.kts b/arrow-libs/core/arrow-core-serialization/build.gradle.kts index 3b4f18c59e4..0574e358dd6 100644 --- a/arrow-libs/core/arrow-core-serialization/build.gradle.kts +++ b/arrow-libs/core/arrow-core-serialization/build.gradle.kts @@ -7,9 +7,9 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) id(libs.plugins.kotlinx.serialization.get().pluginId) } diff --git a/arrow-libs/core/arrow-core/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index ca137dabeda..abc4b374eec 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -11,6 +11,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-eval/build.gradle.kts b/arrow-libs/core/arrow-eval/build.gradle.kts index 85f4a155243..7119f06a133 100644 --- a/arrow-libs/core/arrow-eval/build.gradle.kts +++ b/arrow-libs/core/arrow-eval/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/core/arrow-functions/build.gradle.kts b/arrow-libs/core/arrow-functions/build.gradle.kts index baf746a18a0..5a24da0a3e7 100644 --- a/arrow-libs/core/arrow-functions/build.gradle.kts +++ b/arrow-libs/core/arrow-functions/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/fx/arrow-collectors/build.gradle.kts b/arrow-libs/fx/arrow-collectors/build.gradle.kts index cd714dfd748..bb7bcc12638 100644 --- a/arrow-libs/fx/arrow-collectors/build.gradle.kts +++ b/arrow-libs/fx/arrow-collectors/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.spotless) alias(libs.plugins.kotlinx.kover) + // alias(libs.plugins.dokka) } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts index 0289ac1dc07..0c72aa4c471 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts @@ -11,6 +11,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index 6cc4466bf75..f591a0b613f 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index 7fb8dbd8e9c..1552e10b559 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -19,6 +19,7 @@ plugins { alias(libs.plugins.compose.jetbrains) alias(libs.plugins.compose.compiler) alias(libs.plugins.android.library) + // alias(libs.plugins.dokka) } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts index 6f57cda752f..69b43a0a407 100644 --- a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/optics/arrow-optics/build.gradle.kts b/arrow-libs/optics/arrow-optics/build.gradle.kts index eb419c1654c..81b26a82adc 100644 --- a/arrow-libs/optics/arrow-optics/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/arrow-libs/resilience/arrow-resilience/build.gradle.kts b/arrow-libs/resilience/arrow-resilience/build.gradle.kts index 4335b6a4f5f..76a9562c24a 100644 --- a/arrow-libs/resilience/arrow-resilience/build.gradle.kts +++ b/arrow-libs/resilience/arrow-resilience/build.gradle.kts @@ -10,6 +10,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) + // alias(libs.plugins.dokka) } spotless { diff --git a/build.gradle.kts b/build.gradle.kts index f7fa301b1ec..d87890fa403 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,6 +20,7 @@ buildscript { mavenCentral() google() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") + maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") } dependencies { @@ -33,9 +34,14 @@ allprojects { (project.rootProject.properties["kotlin_repo_url"] as? String)?.also { maven(it) } google() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") + maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") } } +allprojects { + group = property("projects.group").toString() +} + plugins { base alias(libs.plugins.android.library) apply false @@ -85,8 +91,24 @@ dependencies { kover(projects.arrowEval) } -allprojects { - group = property("projects.group").toString() +dependencies { + dokka(projects.arrowAnnotations) + dokka(projects.arrowAtomic) + dokka(projects.arrowAutoclose) + dokka(projects.arrowCore) + dokka(projects.arrowCoreHighArity) + dokka(projects.arrowCoreRetrofit) + dokka(projects.arrowCoreSerialization) + dokka(projects.arrowCache4k) + dokka(projects.arrowFunctions) + dokka(projects.arrowFxCoroutines) + dokka(projects.arrowFxStm) + dokka(projects.arrowOptics) + dokka(projects.arrowOpticsReflect) + dokka(projects.arrowOpticsCompose) + dokka(projects.arrowResilience) + dokka(projects.arrowCollectors) + dokka(projects.arrowEval) } private val kotlinXUpstream = @@ -121,26 +143,22 @@ remoteUrl.set(uri("https://github.com/arrow-kt/arrow/blob/main/${srcDir.relative } } -tasks { - val undocumentedProjects = - listOf(project(":arrow-optics-ksp-plugin")) - - val copyCNameFile = register("copyCNameFile") { - from(layout.projectDirectory.dir("static").file("CNAME")) - into(layout.projectDirectory.dir("docs")) - } +dokka { + dokkaPublicationDirectory.set(file("docs")) + moduleName.set("Arrow") +} - dokkaHtmlMultiModule { - dependsOn(copyCNameFile) - removeChildTasks(undocumentedProjects) - } +val copyCNameFile = tasks.register("copyCNameFile") { + from(layout.projectDirectory.dir("static").file("CNAME")) + into(layout.projectDirectory.dir("docs")) +} - getByName("knitPrepare").dependsOn(getTasksByName("dokka", true)) +tasks.dokkaGenerate { + dependsOn(copyCNameFile) +} - withType().configureEach { - outputDirectory.set(file("docs")) - moduleName.set("Arrow") - } +tasks.getByName("knitPrepare") { + dependsOn(tasks.dokkaGenerate, true) } apiValidation { diff --git a/gradle.properties b/gradle.properties index b427106fc2d..b648e798dda 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,6 +4,8 @@ projects.version=2.0.0-SNAPSHOT enable_wasm=true +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled + # Pomfile definitions #RELEASE_SIGNING_ENABLED=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d0204b4e634..8f1a760945e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" coroutines = "1.9.0" classgraph = "4.8.176" -dokka = "1.9.20" +dokka = "2.0.20-dev-362" kotest = "5.9.1" kover = "0.8.3" kotlin = "2.0.20" diff --git a/settings.gradle.kts b/settings.gradle.kts index 8500aca8674..3f8fa04b20a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -13,6 +13,7 @@ pluginManagement { kotlin_repo_url?.also { maven(it) } google() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") + maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") } } From dc10c5cc5103fae7fc4ac88889babb12ffa2b35a Mon Sep 17 00:00:00 2001 From: Adam Semenenko <152864218+adam-enko@users.noreply.github.com> Date: Tue, 1 Oct 2024 17:29:43 +0200 Subject: [PATCH 2/2] Fix dokka --- .github/workflows/githubpages.yaml | 2 +- .../core/arrow-annotations/build.gradle.kts | 20 ++- arrow-libs/core/arrow-atomic/build.gradle.kts | 6 +- .../core/arrow-autoclose/build.gradle.kts | 6 +- .../core/arrow-cache4k/build.gradle.kts | 7 +- .../arrow-core-high-arity/build.gradle.kts | 6 +- .../core/arrow-core-retrofit/build.gradle.kts | 4 +- .../arrow-core-serialization/build.gradle.kts | 6 +- arrow-libs/core/arrow-core/build.gradle.kts | 6 +- arrow-libs/core/arrow-eval/build.gradle.kts | 7 +- .../core/arrow-functions/build.gradle.kts | 7 +- .../fx/arrow-collectors/build.gradle.kts | 6 +- .../fx/arrow-fx-coroutines/build.gradle.kts | 6 +- arrow-libs/fx/arrow-fx-stm/build.gradle.kts | 6 +- .../arrow-optics-compose/build.gradle.kts | 18 ++- .../arrow-optics-ksp-plugin/build.gradle.kts | 2 - .../arrow-optics-reflect/build.gradle.kts | 4 +- .../optics/arrow-optics/build.gradle.kts | 6 +- .../arrow-resilience/build.gradle.kts | 6 +- arrow-libs/stack/build.gradle.kts | 4 +- build.gradle.kts | 119 +++++++++--------- buildSrc/build.gradle.kts | 9 ++ buildSrc/settings.gradle.kts | 28 +++++ .../main/kotlin/dokka-convention.gradle.kts | 14 +++ gradle.properties | 5 +- gradle/libs.versions.toml | 12 +- settings.gradle.kts | 29 +++-- 27 files changed, 188 insertions(+), 163 deletions(-) create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/settings.gradle.kts create mode 100644 buildSrc/src/main/kotlin/dokka-convention.gradle.kts diff --git a/.github/workflows/githubpages.yaml b/.github/workflows/githubpages.yaml index 832377a0965..ef6441868c6 100644 --- a/.github/workflows/githubpages.yaml +++ b/.github/workflows/githubpages.yaml @@ -29,7 +29,7 @@ jobs: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} - name: assemble - run: ./gradlew -Pversion=${{ github.event.release.tag_name }} dokkaHtmlMultiModule -Pgithubpages=true + run: ./gradlew -Pversion=${{ github.event.release.tag_name }} :assembleDocs -Pgithubpages=true - name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v4 diff --git a/arrow-libs/core/arrow-annotations/build.gradle.kts b/arrow-libs/core/arrow-annotations/build.gradle.kts index acacd800ceb..21884f703ee 100644 --- a/arrow-libs/core/arrow-annotations/build.gradle.kts +++ b/arrow-libs/core/arrow-annotations/build.gradle.kts @@ -1,15 +1,13 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.spotless) - alias(libs.plugins.dokka) + `dokka-convention` } spotless { @@ -29,13 +27,7 @@ kotlin { } } - jvm { - tasks.jvmJar { - manifest { - attributes["Automatic-Module-Name"] = "arrow.annotations" - } - } - } + jvm() @OptIn(ExperimentalKotlinGradlePluginApi::class) compilerOptions { @@ -43,3 +35,9 @@ kotlin { (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } } } + +tasks.jvmJar { + manifest { + attributes["Automatic-Module-Name"] = "arrow.annotations" + } +} diff --git a/arrow-libs/core/arrow-atomic/build.gradle.kts b/arrow-libs/core/arrow-atomic/build.gradle.kts index 79949a499f6..db15054da6c 100644 --- a/arrow-libs/core/arrow-atomic/build.gradle.kts +++ b/arrow-libs/core/arrow-atomic/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/core/arrow-autoclose/build.gradle.kts b/arrow-libs/core/arrow-autoclose/build.gradle.kts index 0bebaebb9cf..c79939afe78 100644 --- a/arrow-libs/core/arrow-autoclose/build.gradle.kts +++ b/arrow-libs/core/arrow-autoclose/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.spotless) - alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/core/arrow-cache4k/build.gradle.kts b/arrow-libs/core/arrow-cache4k/build.gradle.kts index 643ae7ea044..befdab98640 100644 --- a/arrow-libs/core/arrow-cache4k/build.gradle.kts +++ b/arrow-libs/core/arrow-cache4k/build.gradle.kts @@ -1,15 +1,12 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion - plugins { // `java-library` - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.publish) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts index bb657a7d94a..acf9d545bd0 100644 --- a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts +++ b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts index e9bda433532..6e50c329901 100644 --- a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts +++ b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion @@ -11,7 +9,7 @@ plugins { alias(libs.plugins.kotlinx.serialization) // Needed for testing only alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/core/arrow-core-serialization/build.gradle.kts b/arrow-libs/core/arrow-core-serialization/build.gradle.kts index 0574e358dd6..b26b3cc1b9e 100644 --- a/arrow-libs/core/arrow-core-serialization/build.gradle.kts +++ b/arrow-libs/core/arrow-core-serialization/build.gradle.kts @@ -1,15 +1,13 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` id(libs.plugins.kotlinx.serialization.get().pluginId) } diff --git a/arrow-libs/core/arrow-core/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index abc4b374eec..70264edbc1a 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -1,17 +1,15 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.time.Duration plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/core/arrow-eval/build.gradle.kts b/arrow-libs/core/arrow-eval/build.gradle.kts index 7119f06a133..ab803150fa7 100644 --- a/arrow-libs/core/arrow-eval/build.gradle.kts +++ b/arrow-libs/core/arrow-eval/build.gradle.kts @@ -1,16 +1,13 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion - plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/core/arrow-functions/build.gradle.kts b/arrow-libs/core/arrow-functions/build.gradle.kts index 5a24da0a3e7..38cc2cd9b11 100644 --- a/arrow-libs/core/arrow-functions/build.gradle.kts +++ b/arrow-libs/core/arrow-functions/build.gradle.kts @@ -1,16 +1,13 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion - plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/fx/arrow-collectors/build.gradle.kts b/arrow-libs/fx/arrow-collectors/build.gradle.kts index bb7bcc12638..42ed2aa0b04 100644 --- a/arrow-libs/fx/arrow-collectors/build.gradle.kts +++ b/arrow-libs/fx/arrow-collectors/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import java.time.Duration plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.spotless) alias(libs.plugins.kotlinx.kover) - // alias(libs.plugins.dokka) + `dokka-convention` } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts index 0c72aa4c471..57fe38130fc 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts @@ -1,17 +1,15 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import java.time.Duration plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index f591a0b613f..4ea36075e96 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index 1552e10b559..c0ef7e9c214 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -1,25 +1,23 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.KotlinVersion -import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl -repositories { - google() - mavenCentral() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") -} +//repositories { +// google() +// mavenCentral() +// maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") +//} plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) // alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.spotless) alias(libs.plugins.compose.jetbrains) alias(libs.plugins.compose.compiler) alias(libs.plugins.android.library) - // alias(libs.plugins.dokka) + `dokka-convention` } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts index 8eb8eb6cb6c..45c0052320d 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion diff --git a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts index 69b43a0a407..5783f916e16 100644 --- a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion @@ -10,7 +8,7 @@ plugins { alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/optics/arrow-optics/build.gradle.kts b/arrow-libs/optics/arrow-optics/build.gradle.kts index 81b26a82adc..a6a22e72423 100644 --- a/arrow-libs/optics/arrow-optics/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/resilience/arrow-resilience/build.gradle.kts b/arrow-libs/resilience/arrow-resilience/build.gradle.kts index 76a9562c24a..ca632d6d233 100644 --- a/arrow-libs/resilience/arrow-resilience/build.gradle.kts +++ b/arrow-libs/resilience/arrow-resilience/build.gradle.kts @@ -1,16 +1,14 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.arrowGradleConfig.kotlin) alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) - // alias(libs.plugins.dokka) + `dokka-convention` } spotless { diff --git a/arrow-libs/stack/build.gradle.kts b/arrow-libs/stack/build.gradle.kts index fe20d481610..1c32929151c 100644 --- a/arrow-libs/stack/build.gradle.kts +++ b/arrow-libs/stack/build.gradle.kts @@ -1,9 +1,7 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - plugins { `java-platform` alias(libs.plugins.publish) - + } group = property("projects.group").toString() diff --git a/build.gradle.kts b/build.gradle.kts index d87890fa403..b8f9216b726 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - import kotlinx.knit.KnitPluginExtension import kotlinx.validation.ExperimentalBCVApi import org.jetbrains.dokka.gradle.DokkaMultiModuleTask @@ -15,28 +13,28 @@ allprojects { } } -buildscript { - repositories { - mavenCentral() - google() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") - } - - dependencies { - classpath(libs.kotlinx.knit) - } -} - -allprojects { - repositories { - mavenCentral() - (project.rootProject.properties["kotlin_repo_url"] as? String)?.also { maven(it) } - google() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") - } -} +//buildscript { +// repositories { +// mavenCentral() +// google() +// maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") +// maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") +// } +// +// dependencies { +// classpath(libs.kotlinx.knit) +// } +//} + +//allprojects { +// repositories { +// mavenCentral() +// (project.rootProject.properties["kotlin_repo_url"] as? String)?.also { maven(it) } +// google() +// maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") +// maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") +// } +//} allprojects { group = property("projects.group").toString() @@ -45,10 +43,10 @@ allprojects { plugins { base alias(libs.plugins.android.library) apply false - alias(libs.plugins.dokka) + `dokka-convention` alias(libs.plugins.animalSniffer) apply false alias(libs.plugins.kotlinx.kover) - alias(libs.plugins.kotlin.multiplatform) apply false +// alias(libs.plugins.kotlin.multiplatform) apply false alias(libs.plugins.kotlinx.serialization) apply false alias(libs.plugins.kotlin.binaryCompatibilityValidator) alias(libs.plugins.spotless) apply false @@ -95,20 +93,22 @@ dependencies { dokka(projects.arrowAnnotations) dokka(projects.arrowAtomic) dokka(projects.arrowAutoclose) + dokka(projects.arrowCache4k) + dokka(projects.arrowCollectors) dokka(projects.arrowCore) dokka(projects.arrowCoreHighArity) dokka(projects.arrowCoreRetrofit) dokka(projects.arrowCoreSerialization) - dokka(projects.arrowCache4k) + dokka(projects.arrowEval) dokka(projects.arrowFunctions) dokka(projects.arrowFxCoroutines) dokka(projects.arrowFxStm) dokka(projects.arrowOptics) - dokka(projects.arrowOpticsReflect) dokka(projects.arrowOpticsCompose) + //dokka(projects.arrowOpticsKspPlugin) + dokka(projects.arrowOpticsReflect) dokka(projects.arrowResilience) - dokka(projects.arrowCollectors) - dokka(projects.arrowEval) + //dokka(projects.arrowStack) } private val kotlinXUpstream = @@ -119,46 +119,43 @@ private val kotlinXUpstream = "arrow-collectors" ) -subprojects { - tasks.withType().configureEach { - extensions.findByType()?.sourceSets?.forEach { kotlinSourceSet -> - dokkaSourceSets.named(kotlinSourceSet.name) { - perPackageOption { - matchingRegex.set(".*\\.internal.*") - suppress.set(true) - } - if (project.name in kotlinXUpstream) externalDocumentationLink("https://kotlinlang.org/api/kotlinx.coroutines/") - skipDeprecated.set(true) - reportUndocumented.set(false) - - kotlinSourceSet.kotlin.srcDirs.filter { it.exists() }.forEach { srcDir -> - sourceLink { - localDirectory.set(srcDir) -remoteUrl.set(uri("https://github.com/arrow-kt/arrow/blob/main/${srcDir.relativeTo(rootProject.rootDir)}").toURL()) - remoteLineSuffix.set("#L") - } - } - } - } - } -} +//subprojects { +// tasks.withType().configureEach { +// extensions.findByType()?.sourceSets?.forEach { kotlinSourceSet -> +// dokkaSourceSets.named(kotlinSourceSet.name) { +// perPackageOption { +// matchingRegex.set(".*\\.internal.*") +// suppress.set(true) +// } +// if (project.name in kotlinXUpstream) externalDocumentationLink("https://kotlinlang.org/api/kotlinx.coroutines/") +// skipDeprecated.set(true) +// reportUndocumented.set(false) +// +// kotlinSourceSet.kotlin.srcDirs.filter { it.exists() }.forEach { srcDir -> +// sourceLink { +// localDirectory.set(srcDir) +//remoteUrl.set(uri("https://github.com/arrow-kt/arrow/blob/main/${srcDir.relativeTo(rootProject.rootDir)}").toURL()) +// remoteLineSuffix.set("#L") +// } +// } +// } +// } +// } +//} dokka { - dokkaPublicationDirectory.set(file("docs")) + //dokkaPublicationDirectory.set(file("docs")) moduleName.set("Arrow") } -val copyCNameFile = tasks.register("copyCNameFile") { +val assembleDocs by tasks.registering(Sync::class) { + from(tasks.dokkaGeneratePublicationHtml) from(layout.projectDirectory.dir("static").file("CNAME")) into(layout.projectDirectory.dir("docs")) } -tasks.dokkaGenerate { - dependsOn(copyCNameFile) -} - -tasks.getByName("knitPrepare") { - dependsOn(tasks.dokkaGenerate, true) +tasks.knitPrepare { + dependsOn(tasks.dokkaGenerate) } apiValidation { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 00000000000..83dbd616549 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + `kotlin-dsl` +} + +dependencies { + implementation("org.jetbrains.dokka:dokka-gradle-plugin:2.0.20+") + implementation(libs.kotlin.gradlePlugin) + implementation(libs.android.library.gradlePlugin) +} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts new file mode 100644 index 00000000000..57d93a84957 --- /dev/null +++ b/buildSrc/settings.gradle.kts @@ -0,0 +1,28 @@ +rootProject.name = "buildSrc" + +pluginManagement { + @Suppress("LocalVariableName") val kotlin_repo_url: String? by settings + repositories { + gradlePluginPortal() + mavenCentral() + } +} + +dependencyResolutionManagement { + val kotlin_repo_url: String? by settings + repositories { + kotlin_repo_url?.also { maven(it) } + mavenCentral() + gradlePluginPortal() + maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") { + name = "JetBrains Dokka Dev" + } + google() + } + + versionCatalogs { + create("libs") { + from(files("../gradle/libs.versions.toml")) + } + } +} diff --git a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts new file mode 100644 index 00000000000..02dc3577250 --- /dev/null +++ b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -0,0 +1,14 @@ +plugins { + id("org.jetbrains.dokka") +} + +dokka { + dokkaGeneratorIsolation = ClassLoaderIsolation() +// dokkaGeneratorIsolation = ProcessIsolation { +// jvmArgs = listOf( +// "-Xmx6G", +// //"-XX:+UseParallelGC", +// //"-XX:MaxMetaspaceSize=1g", +// ) +// } +} diff --git a/gradle.properties b/gradle.properties index b648e798dda..394cbab8c5b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,8 +25,11 @@ POM_SCM_CONNECTION=scm:git:git://github.com/arrow-kt/arrow.git POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/arrow-kt/arrow.git # Gradle options -org.gradle.jvmargs=-Xmx4g +org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx4g org.gradle.parallel=true +org.gradle.caching=true +org.gradle.configuration-cache-problems=warn +org.gradle.configuration-cache=true # To disable publishing of sha-512 checksums for maven-metadata.xml files systemProp.org.gradle.internal.publish.checksums.insecure=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8f1a760945e..0a75f70314b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,7 +21,7 @@ composePlugin = "1.6.11" agp = "8.6.1" android-compileSdk = "34" cache4k = "0.13.0" -publish="0.29.0" +publish = "0.29.0" [libraries] coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } @@ -48,15 +48,19 @@ kotlinCompileTesting = { module = "dev.zacsweers.kctfork:core", version.ref = "k kotlinCompileTestingKsp = { module = "dev.zacsweers.kctfork:ksp", version.ref = "kotlinCompileTesting" } cache4k = { module = "io.github.reactivecircus.cache4k:cache4k", version.ref = "cache4k" } +kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +android-library-gradlePlugin = { module = "com.android.library:com.android.library.gradle.plugin", version.ref = "agp"} + [plugins] animalSniffer = { id = "ru.vyarus.animalsniffer", version.ref = "animalSniffer" } arrowGradleConfig-formatter = { id = "io.arrow-kt.arrow-gradle-config-formatter", version.ref = "arrowGradleConfig" } arrowGradleConfig-kotlin = { id = "io.arrow-kt.arrow-gradle-config-kotlin", version.ref = "arrowGradleConfig" } arrowGradleConfig-publish = { id = "io.arrow-kt.arrow-gradle-config-publish", version.ref = "arrowGradleConfig" } -publish = { id = "com.vanniktech.maven.publish", version.ref="publish" } +publish = { id = "com.vanniktech.maven.publish", version.ref = "publish" } dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } -kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform" } +#kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-binaryCompatibilityValidator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "kotlinBinaryCompatibilityValidator" } kotlinx-knit = { id = "org.jetbrains.kotlinx.knit", version.ref = "knit" } kotlinx-kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } @@ -65,4 +69,4 @@ ksp = { id = "com.google.devtools.ksp", version.ref = "kspVersion" } spotless = { id = "com.diffplug.spotless", version.ref = "spotlessVersion" } compose-jetbrains = { id = "org.jetbrains.compose", version.ref = "composePlugin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -android-library = { id = "com.android.library", version.ref = "agp" } +android-library = { id = "com.android.library" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 3f8fa04b20a..7470fe2bdd9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,4 +1,6 @@ -@file:Suppress("LocalVariableName") +@file:Suppress("LocalVariableName", "UnstableApiUsage") + +import org.gradle.api.initialization.resolve.RepositoriesMode.PREFER_SETTINGS enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") @@ -7,19 +9,23 @@ rootProject.name = "arrow" pluginManagement { @Suppress("LocalVariableName") val kotlin_repo_url: String? by settings repositories { - gradlePluginPortal() mavenCentral() - mavenLocal() - kotlin_repo_url?.also { maven(it) } + //mavenLocal() google() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") + gradlePluginPortal() + kotlin_repo_url?.also { maven(it) { name = "KotlinRepo" } } + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") { + name = "JetBrains Compose Dev" + } + maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") { + name = "JetBrains Dokka Dev" + } } } plugins { id("com.gradle.develocity") version "3.18.1" - id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") + id("org.gradle.toolchains.foojay-resolver-convention") version ("0.8.0") } val kotlin_repo_url: String? by settings @@ -28,11 +34,16 @@ val ksp_version: String? by settings val compose_version: String? by settings dependencyResolutionManagement { + repositoriesMode = PREFER_SETTINGS repositories { mavenCentral() + //mavenLocal() + google() gradlePluginPortal() - mavenLocal() - kotlin_repo_url?.also { maven(it) } + kotlin_repo_url?.also { maven(it) { name = "KotlinRepo" } } + maven("https://maven.pkg.jetbrains.space/kotlin/p/dokka/dev") { + name = "JetBrains Dokka Dev" + } } versionCatalogs { create("libs") {