From 8905e7f1350c6bb947d6d9bd046070b07ad858a4 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Fri, 18 Oct 2024 21:31:05 +0800 Subject: [PATCH 01/50] Bump `pluginProjectSourceDependentStableCommonGradleDependenciesVersion` to the release version --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 2f903e4..a5f7b0e 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -18,6 +18,6 @@ val alignedPluginVersion = "0.6.0-SNAPSHOT" val commonGradleDependenciesVersion = "0.8.0-20241016-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". -val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016-SNAPSHOT".apply { - //require(!endsWith("SNAPSHOT")) // TODO +val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { + require(!endsWith("SNAPSHOT")) } From 67ecedd2f728eba767d4d707df3dba4481954a49 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Fri, 18 Oct 2024 23:32:02 +0800 Subject: [PATCH 02/50] Add change logs Content copied from https://github.com/huanshankeji/gradle-common/releases/tag/common-gradle-dependencies-v0.8.0-20241016 and https://github.com/huanshankeji/gradle-common/releases/tag/plugins-v0.6.0. --- CHANGELOG.md | 5 +++++ COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md | 6 ++++++ PLUGINS_CHANGELOG.md | 9 +++++++++ 3 files changed, 20 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md create mode 100644 PLUGINS_CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..970e45b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# Change log + +["common-gradle-dependencies" change log](COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md) + +["Gradle plugins" change log](PLUGINS_CHANGELOG.md) diff --git a/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md b/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md new file mode 100644 index 0000000..8675ef2 --- /dev/null +++ b/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md @@ -0,0 +1,6 @@ +# "common-gradle-dependencies" change log + +## v0.8.0-20241016 / 2024-10-18 + +* bump the dependency versions in CommonVersions to the latest compatible with Kotlin 2.0.10 as of Oct 16, 2024 +* add some dependencies and versions of "androidx" and "org.jetbrains.androidx" diff --git a/PLUGINS_CHANGELOG.md b/PLUGINS_CHANGELOG.md new file mode 100644 index 0000000..f07efb2 --- /dev/null +++ b/PLUGINS_CHANGELOG.md @@ -0,0 +1,9 @@ +# "Gradle plugins" change log + +## v0.6.0 / 2024-10-18 + +* remove the bootstrapping "common-gradle-dependencies" dependency, put the shared depdencies in `buildSrc` `DependencyVersions`, and generate versions for "common-gradle-dependencies" (see caf83246808b33bbb854bc486476758c73b9f398 for more details) +* bump Kotlin to 2.0.10 and Compose Multiplatform to 1.7.0 +* refactor the `kotlin-multiplatform-jvm-and-js-browser-app-conventions` plugin into `kotlin-multiplatform-app-conventions-with-conventional-targets` +* fix an error in `GenerateKotlinJsBrowserWebrootForVertxWebPlugin` that emerged with the new Kotlin version +* add a `sparkJava17CompatibleJvmArgs` variable From aa42af1ddf2744ff3b0bd6cdd611c72b129f8f42 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Sat, 19 Oct 2024 14:07:25 +0800 Subject: [PATCH 03/50] Bump the Plugin Publishing Plugin to 1.3.0 --- buildSrc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 75e9850..6b5e030 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -29,7 +29,7 @@ dependencies { implementation(kotlin("gradle-plugin", "2.0.10")) implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:4.5.0") // This version has to be used for Gradle 8.10. - implementation("com.gradle.publish:plugin-publish-plugin:1.2.1") + implementation("com.gradle.publish:plugin-publish-plugin:1.3.0") // This is a bootstrapping dependency (cross-version self-dependency). Try not to update its version unless necessary. implementation("com.huanshankeji.team:gradle-plugins:0.3.0") { exclude("org.jetbrains.kotlin") } From adc4c6893545a667e01e684d6d44e9153bb0e231 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Sun, 20 Oct 2024 20:43:32 +0800 Subject: [PATCH 04/50] Do not configure the `signing` DSL at all when the version is a snapshot in the `sonatype-ossrh-publish` plugin Somehow with the original approach of configuring `onlyIf` in the `Sign` tasks, when the signing key is configured in `~/.gradle/gradle.properties`, `publishToMavenLocal` becomes significantly slower. This solves the problem. Bump the aligned project version BTW. --- .../src/main/kotlin/VersionsAndDependencies.kt | 2 +- .../sonatype-ossrh-publish.gradle.kts | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index a5f7b0e..54a02fb 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -11,7 +11,7 @@ object DependencyVersions { val kotlinxBenchmark = "0.4.11" } -val alignedPluginVersion = "0.6.0-SNAPSHOT" +val alignedPluginVersion = "0.6.1-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. diff --git a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/sonatype-ossrh-publish.gradle.kts b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/sonatype-ossrh-publish.gradle.kts index 91720da..4ca3b81 100644 --- a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/sonatype-ossrh-publish.gradle.kts +++ b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/sonatype-ossrh-publish.gradle.kts @@ -5,19 +5,23 @@ plugins { signing } -signing { - isRequired = false - sign(publishing.publications) -} +val isSnapshotVersion = isSnapshotVersion() + +if (!isSnapshotVersion) + signing { + isRequired = false + sign(publishing.publications) + } // wrapped in `afterEvaluate` because the project version may be set after applying this plugin, on which whether to choose the release URL or the snapshot URL depends afterEvaluate { - val isSnapshotVersion = isSnapshotVersion() - + //old approach that makes `publishToMavenLocal` significantly slower when the signing key is configured in `~/.gradle/gradle.properties` + /* // see: https://docs.gradle.org/current/userguide/signing_plugin.html#sec:conditional_signing tasks.withType().configureEach { onlyIf { !isSnapshotVersion } } + */ publishing.repositories.maven { name = "SonatypeOssrh" From 26467286299c015ac5208847c52c8d302b7d4983 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Wed, 30 Oct 2024 21:48:15 +0800 Subject: [PATCH 05/50] Add a TODO --- .../src/main/kotlin/com/huanshankeji/CommonVersions.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt index a010b6c..98c5080 100644 --- a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt +++ b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt @@ -10,6 +10,7 @@ class CommonVersions( val kotlinxSerialization: String = "1.7.1", // "1.7.2" and "1.7.3" use Kotlin 2.0.20 and seem to cause problems with Kotlin 2.0.10 builds. val kotlinxDatetime: String = "0.6.1", val kotlinxBenchmark: String = GeneratedVersions.kotlinxBenchmark, + // TODO `kotlinxIo` val exposed: String = "0.53.0", // "0.54.0" deprecates the old DSL APIs as errors while we still depend on them. val ktor: String = "2.3.12", // "3.0.0" uses Kotlin 2.0.20 too. val androidx: Androidx = Androidx(), From 642cdead586a475c63c24975341783d2ef6ae9f8 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Mon, 4 Nov 2024 04:23:39 +0800 Subject: [PATCH 06/50] Improve `GenerateKotlinJsBrowserWebrootForVertxWebPlugin` --- ...KotlinJsBrowserWebrootForVertxWebPlugin.kt | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin.kt b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin.kt index a1bee16..0a932b7 100644 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin.kt +++ b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin.kt @@ -5,10 +5,9 @@ import org.gradle.api.Project import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property import org.gradle.api.tasks.Copy +import org.gradle.api.tasks.Sync import org.gradle.api.tasks.util.PatternFilterable -import org.gradle.kotlin.dsl.create -import org.gradle.kotlin.dsl.named -import org.gradle.kotlin.dsl.register +import org.gradle.kotlin.dsl.* class GenerateKotlinJsBrowserWebrootForVertxWebPlugin : Plugin { override fun apply(project: Project): Unit = project.run { @@ -16,27 +15,25 @@ class GenerateKotlinJsBrowserWebrootForVertxWebPlugin : Plugin { afterEvaluate { val frontendProject = project(extension.webFrontendProjectPath.get()) - val jsBrowserDistributionTask = frontendProject.tasks.named("jsBrowserDistribution") + val jsBrowserDistribution by frontendProject.tasks.getting(Copy::class) /*val jsBrowserWebpack by lazy { tasks.getByPath( extension.webFrontendProjectPath.get() + if (extension.production.get()) ":jsBrowserProductionWebpack" else ":jsBrowserDevelopmentWebpack" ) as KotlinWebpack }*/ - val copyJsBrowserDistributionToResourcesWebroot = "copyJsBrowserDistributionToResourcesWebroot" val browserDistributionResourcesDirectory = layout.buildDirectory.get().dir("browserDistributionResources") - tasks.register(copyJsBrowserDistributionToResourcesWebroot) { - dependsOn(jsBrowserDistributionTask) - // TODO I didn't find a way to get this path using the DSL, so there may be a bug if this path is customized. - from(frontendProject.layout.buildDirectory.get().dir("dist/js/productionExecutable")) + val syncJsBrowserDistributionToResourcesWebroot by tasks.registering(Sync::class) { + //dependsOn(jsBrowserDistribution) + from(jsBrowserDistribution) //if (extension.production.get()) extension.includes.getOrNull()?.let { include(it) } into(browserDistributionResourcesDirectory.dir(extension.webRoot.getOrElse("webroot"))) } tasks.named("processResources") { - dependsOn(copyJsBrowserDistributionToResourcesWebroot) + dependsOn(syncJsBrowserDistributionToResourcesWebroot) } /* When running a Maven publish task, the error occurs if this line is not added: @@ -44,7 +41,7 @@ class GenerateKotlinJsBrowserWebrootForVertxWebPlugin : Plugin { TODO This is probably a bug. remove this line when it's fixed. */ - tasks.named("sourcesJar") { dependsOn("copyJsBrowserDistributionToResourcesWebroot") } + tasks.named("sourcesJar") { dependsOn(syncJsBrowserDistributionToResourcesWebroot) } sourceSets.main { resources.srcDir(browserDistributionResourcesDirectory) } } From f8642e9902b98d25454c25b536cfe4fc18059254 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Mon, 4 Nov 2024 11:35:33 +0800 Subject: [PATCH 07/50] Create kotlin-jvm-ci.yml with our workflow template --- .github/workflows/kotlin-jvm-ci.yml | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/kotlin-jvm-ci.yml diff --git a/.github/workflows/kotlin-jvm-ci.yml b/.github/workflows/kotlin-jvm-ci.yml new file mode 100644 index 0000000..f3135e8 --- /dev/null +++ b/.github/workflows/kotlin-jvm-ci.yml @@ -0,0 +1,45 @@ +name: CI + +on: + push: + branches: [ "*" ] +# pull_request: +# branches: [ "*" ] + +jobs: + check: + + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Check with Gradle Wrapper + run: ./gradlew check + + dependency-submission: + + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + + - name: Generate and submit dependency graph + uses: gradle/actions/dependency-submission@v4 From 6e5de03a2c02efb53aa373638c86774930bca2c3 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Tue, 5 Nov 2024 17:20:44 +0800 Subject: [PATCH 08/50] Create dokka-gh-pages.yml with our workflow template --- .github/workflows/dokka-gh-pages.yml | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/dokka-gh-pages.yml diff --git a/.github/workflows/dokka-gh-pages.yml b/.github/workflows/dokka-gh-pages.yml new file mode 100644 index 0000000..5cae7a8 --- /dev/null +++ b/.github/workflows/dokka-gh-pages.yml @@ -0,0 +1,61 @@ +name: Deploy the API documentation to GitHub Pages with Dokka + +on: + push: + branches: [ "release" ] + pull_request: + branches: [ "release" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: "8" + distribution: "zulu" + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Build the distribution with Gradle Wrapper + run: ./gradlew :dokkaGeneratePublicationHtml + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: build/dokka/html/ + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From 502df8e5e2c7e8b8626a87a00ed1caa4d9a58afb Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Tue, 5 Nov 2024 17:22:22 +0800 Subject: [PATCH 09/50] Update the OS and JDK distribution in dokka-gh-pages.yml --- .github/workflows/dokka-gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dokka-gh-pages.yml b/.github/workflows/dokka-gh-pages.yml index 5cae7a8..2781a64 100644 --- a/.github/workflows/dokka-gh-pages.yml +++ b/.github/workflows/dokka-gh-pages.yml @@ -24,7 +24,7 @@ concurrency: jobs: # Build job build: - runs-on: macos-latest + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 @@ -35,7 +35,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: "8" - distribution: "zulu" + distribution: "temurin" - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 From d0c81059c453e854043475d9e7f077826ad84c8a Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Tue, 5 Nov 2024 18:44:59 +0800 Subject: [PATCH 10/50] Configure the Dokka Gradle plugin and its tasks with code copied and adapted from "kotlin-common" A source commit: https://github.com/huanshankeji/kotlin-common/commit/157159b4d63117bddba2f3d4e763a43943d2f76d The `dokkaGenerate` tasks fails with the following error: ```text Execution failed for task ':dokkaGeneratePublicationHtml'. > Could not resolve all files for configuration ':dokkaHtmlPluginIntransitiveResolver~internal'. > Cannot resolve external dependency org.jetbrains.dokka:templating-plugin:2.0.0-Beta because no repositories are defined. Required by: root project : > Cannot resolve external dependency org.jetbrains.dokka:dokka-base:2.0.0-Beta because no repositories are defined. Required by: root project : ``` This may be a bug from Dokka. See https://github.com/Kotlin/dokka/issues/2260. --- .github/workflows/dokka-gh-pages.yml | 4 ++-- build.gradle.kts | 18 ++++++++++++++++++ buildSrc/build.gradle.kts | 2 ++ ...igned-version-plugin-conventions.gradle.kts | 1 + .../main/kotlin/dokka-convention.gradle.kts | 12 ++++++++++++ gradle.properties | 2 ++ 6 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 buildSrc/src/main/kotlin/dokka-convention.gradle.kts diff --git a/.github/workflows/dokka-gh-pages.yml b/.github/workflows/dokka-gh-pages.yml index 2781a64..53c853c 100644 --- a/.github/workflows/dokka-gh-pages.yml +++ b/.github/workflows/dokka-gh-pages.yml @@ -2,9 +2,9 @@ name: Deploy the API documentation to GitHub Pages with Dokka on: push: - branches: [ "release" ] + branches: [ "plugins-release" ] pull_request: - branches: [ "release" ] + branches: [ "plugins-release" ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/build.gradle.kts b/build.gradle.kts index f2ba312..13392ad 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,10 @@ tasks.wrapper { distributionType = Wrapper.DistributionType.ALL } +plugins { + id("org.jetbrains.dokka") +} + evaluationDependsOnChildren() task("publishPluginProjectPlugins") { group = "plugin portal" @@ -9,3 +13,17 @@ task("publishPluginProjectPlugins") { val pluginProjects = subprojects.filter { it.name.endsWith("plugins") } pluginProjects.forEach { dependsOn(it.tasks.named("publishPlugins")) } } + + +dependencies { + /* + "common-gradle-dependencies" not added because it's published in a separate branch + "huanshankeji-team-gradle-plugins" not added because it's renamed and more cumbersome to configure, and also because it's only used by us + */ + listOf( + "kotlin-common-gradle-plugins", + "architecture-common-gradle-plugins", + ).forEach { + dokka(project(":$it")) + } +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 6b5e030..db36dd1 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -38,4 +38,6 @@ dependencies { // This is also a bootstrapping dependency. implementation("com.huanshankeji:common-gradle-dependencies:0.7.1-20240314-boostrap") { exclude("org.jetbrains.kotlin") } */ + + implementation("org.jetbrains.dokka:dokka-gradle-plugin:2.0.0-Beta") } diff --git a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts index b8b0bbe..93ac02b 100644 --- a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask plugins { id("conventions") + id("dokka-convention") } version = alignedPluginVersion 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 0000000..6bceb68 --- /dev/null +++ b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -0,0 +1,12 @@ +plugins { + id("org.jetbrains.dokka") +} + +dokka { + dokkaSourceSets.all { + sourceLink { + remoteUrl("https://github.com/huanshankeji/kotlin-common/tree/v${version}/${project.name}") + remoteLineSuffix.set("#L") + } + } +} diff --git a/gradle.properties b/gradle.properties index 6e2c210..860f258 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,3 +2,5 @@ #kotlin.mpp.stability.nowarn=true # More memory is needed to build "architecture-common-gradle-plugins" since Kotlin 2.0.0 org.gradle.jvmargs=-Xmx2G +# for Dokka +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled From 894a09f38eb5cabc017230bb580fd1b19da4780d Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Tue, 5 Nov 2024 18:49:44 +0800 Subject: [PATCH 11/50] Fix the source link URL --- buildSrc/src/main/kotlin/dokka-convention.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts index 6bceb68..ac6e6ac 100644 --- a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -5,7 +5,7 @@ plugins { dokka { dokkaSourceSets.all { sourceLink { - remoteUrl("https://github.com/huanshankeji/kotlin-common/tree/v${version}/${project.name}") + remoteUrl("https://github.com/huanshankeji/gradle-common/tree/v${version}/${project.name}") remoteLineSuffix.set("#L") } } From c8f99f38057f2634be176d7b96d5934624400e30 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Tue, 5 Nov 2024 19:09:30 +0800 Subject: [PATCH 12/50] Workaround the issue in commit d0c81059c453e854043475d9e7f077826ad84c8a --- build.gradle.kts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 13392ad..8259f79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,11 @@ plugins { id("org.jetbrains.dokka") } +// workaround for https://github.com/Kotlin/dokka/issues/3903 from https://github.com/Kotlin/dokka/issues/2260 TODO remove when it's fixed +repositories { + mavenCentral() +} + evaluationDependsOnChildren() task("publishPluginProjectPlugins") { group = "plugin portal" From 31eff070f39695e62671b5545982a7b8d42dad1f Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Tue, 5 Nov 2024 19:21:59 +0800 Subject: [PATCH 13/50] Update README.md about the API documentation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5b011b..f3d9d1c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Huanshankeji's Gradle common code in Kotlin, mainly for common projects in Kotli ## Examples -There are currently no docs or tutorials on how to use the plugins. See the build scripts in [kotlin-common](https://github.com/huanshankeji/kotlin-common) for examples. +There are currently no docs or tutorials on how to use the plugins. [Check out the API documentation here.](https://huanshankeji.github.io/gradle-common/.) See the build scripts in [kotlin-common](https://github.com/huanshankeji/kotlin-common) for examples. ## Gradle version and Kotlin version From e6588109ffe353a390138b0200aea4835b71ff74 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Wed, 6 Nov 2024 07:18:00 +0800 Subject: [PATCH 14/50] Resolve the Dokka "could not resolve" issue with https://github.com/Kotlin/dokka/issues/3903?notification_referrer_id=NT_kwDOAae4d7QxMzIwNjAxNjU0NDoyNzc2ODk1MQ#issuecomment-2457375290 --- build.gradle.kts | 7 +------ settings.gradle.kts | 7 +++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8259f79..0179377 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,11 +6,6 @@ plugins { id("org.jetbrains.dokka") } -// workaround for https://github.com/Kotlin/dokka/issues/3903 from https://github.com/Kotlin/dokka/issues/2260 TODO remove when it's fixed -repositories { - mavenCentral() -} - evaluationDependsOnChildren() task("publishPluginProjectPlugins") { group = "plugin portal" @@ -22,7 +17,7 @@ task("publishPluginProjectPlugins") { dependencies { /* - "common-gradle-dependencies" not added because it's published in a separate branch + "common-gradle-dependencies" not added because its releases are published in a separate branch, and also because its API documentation is not important "huanshankeji-team-gradle-plugins" not added because it's renamed and more cumbersome to configure, and also because it's only used by us */ listOf( diff --git a/settings.gradle.kts b/settings.gradle.kts index dcfbee8..9b33f20 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -14,3 +14,10 @@ include("huanshankeji-team-gradle-plugins") project(":huanshankeji-team-gradle-plugins").name = "gradle-plugins" include("architecture-common-gradle-plugins") include("common-gradle-dependencies") + +@Suppress("UnstableApiUsage") +dependencyResolutionManagement { + repositories { + mavenCentral() + } +} From 1b90ba4f745968c1fa0953a9d954cab4ef82c153 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Wed, 6 Nov 2024 07:26:52 +0800 Subject: [PATCH 15/50] Remove some redundant `repositories` blocks, both in the project code and the build code --- architecture-common-gradle-plugins/build.gradle.kts | 5 ----- .../default-web-frontend-conventions.gradle.kts | 6 ------ buildSrc/src/main/kotlin/conventions.gradle.kts | 2 +- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/architecture-common-gradle-plugins/build.gradle.kts b/architecture-common-gradle-plugins/build.gradle.kts index 279561e..8faa1fc 100644 --- a/architecture-common-gradle-plugins/build.gradle.kts +++ b/architecture-common-gradle-plugins/build.gradle.kts @@ -2,11 +2,6 @@ plugins { `aligned-version-plugin-conventions` } -repositories { - mavenLocal() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") -} - dependencies { implementation(project(":kotlin-common-gradle-plugins")) implementation("org.jetbrains.kotlin:compose-compiler-gradle-plugin:${DependencyVersions.kotlin}") diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts index a07123d..cfea229 100644 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts +++ b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts @@ -12,12 +12,6 @@ interface Extension { val extension = extensions.create("defaultWebFrontendConventions") -repositories { - google() - mavenCentral() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") -} - kotlin { js { browser { diff --git a/buildSrc/src/main/kotlin/conventions.gradle.kts b/buildSrc/src/main/kotlin/conventions.gradle.kts index a830671..d7a893e 100644 --- a/buildSrc/src/main/kotlin/conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/conventions.gradle.kts @@ -8,7 +8,7 @@ plugins { } repositories { - mavenLocal() // TODO comment out when not needed + //mavenLocal() // comment out when not needed gradlePluginPortal() } From c1c69c36fc82be8876c516a3dc06570f1271d857 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Wed, 6 Nov 2024 09:54:08 +0800 Subject: [PATCH 16/50] Add a comment --- settings.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/settings.gradle.kts b/settings.gradle.kts index 9b33f20..c472c0c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,6 +15,7 @@ project(":huanshankeji-team-gradle-plugins").name = "gradle-plugins" include("architecture-common-gradle-plugins") include("common-gradle-dependencies") +// for Dokka @Suppress("UnstableApiUsage") dependencyResolutionManagement { repositories { From 4f1b2e43db899bb30ae9d40242545193dce05f67 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 11:33:34 +0800 Subject: [PATCH 17/50] Improve `dokka-convention.gradle.kts` Changes: 1. use the project relative path in the source remote URL to improve its versatility 1. fix the bug that incorrect release tags `v...`` are used, while correct ones should be `plugins-v...` 1. put the `dokka` configuration code in `afterEvaluate` so the project version can be retrieved --- .../src/main/kotlin/dokka-convention.gradle.kts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts index ac6e6ac..2332ca6 100644 --- a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -2,11 +2,15 @@ plugins { id("org.jetbrains.dokka") } -dokka { - dokkaSourceSets.all { - sourceLink { - remoteUrl("https://github.com/huanshankeji/gradle-common/tree/v${version}/${project.name}") - remoteLineSuffix.set("#L") +// put in `afterEvaluate` so the project version can be retrieved +afterEvaluate { + dokka { + dokkaSourceSets.all { + sourceLink { + val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) + remoteUrl("https://github.com/huanshankeji/gradle-common/tree/plugins-v${version}/$projectRelativePath") + remoteLineSuffix.set("#L") + } } } } From 9e60c15fa54e02722c9b409eed68e75fabec4e66 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 16:12:37 +0800 Subject: [PATCH 18/50] Add the Dokka convention plugins and extract some common functions --- .../main/kotlin/VersionsAndDependencies.kt | 3 ++- .../build.gradle.kts | 6 ++++++ ...ackagesMaven.kt => GithubPackagesMaven.kt} | 0 .../kotlin/com/huanshankeji/team/MavenPom.kt | 3 ++- .../dokka/github-dokka-convention.gradle.kts | 21 +++++++++++++++++++ .../com/huanshankeji/team/github/Github.kt | 12 +++++++++++ kotlin-common-gradle-plugins/build.gradle.kts | 6 ++++++ .../dokka/dokka-convention.gradle.kts | 21 +++++++++++++++++++ 8 files changed, 70 insertions(+), 2 deletions(-) rename huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/{GitHubPackagesMaven.kt => GithubPackagesMaven.kt} (100%) create mode 100644 huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts create mode 100644 huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/github/Github.kt create mode 100644 kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 54a02fb..800cf26 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -9,9 +9,10 @@ object DependencyVersions { val kotlin = "2.0.10" // compatible with the compose version below val composeMultiplatform = "1.7.0" val kotlinxBenchmark = "0.4.11" + val dokka = "2.0.0-Beta" } -val alignedPluginVersion = "0.6.1-SNAPSHOT" +val alignedPluginVersion = "0.7.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. diff --git a/huanshankeji-team-gradle-plugins/build.gradle.kts b/huanshankeji-team-gradle-plugins/build.gradle.kts index 9861042..2822e26 100644 --- a/huanshankeji-team-gradle-plugins/build.gradle.kts +++ b/huanshankeji-team-gradle-plugins/build.gradle.kts @@ -24,5 +24,11 @@ gradlePlugin { "default-github-packages-maven-publish", "GitHub Packages Maven publish (to Huanshankeji team's repository) with default conventions" ) + + scriptConventionsPlugin( + "dokka.github-dokka-convention", + "Dokka convention plugin for projects on GitHub", + "Please apply this plugin after setting the project version." + ) } } diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/GitHubPackagesMaven.kt b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/GithubPackagesMaven.kt similarity index 100% rename from huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/GitHubPackagesMaven.kt rename to huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/GithubPackagesMaven.kt diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/MavenPom.kt b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/MavenPom.kt index 0665e93..8c9f0bb 100644 --- a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/MavenPom.kt +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/MavenPom.kt @@ -1,6 +1,7 @@ package com.huanshankeji.team import com.huanshankeji.pomForDefaultOpenSourceWithApacheLicense20OnGitHub +import com.huanshankeji.team.github.defaultRootProjectGithubRepositoryUrl import org.gradle.api.Project import org.gradle.api.publish.maven.MavenPomDeveloperSpec import org.gradle.api.publish.maven.MavenPublication @@ -9,7 +10,7 @@ import org.gradle.api.publish.maven.MavenPublication fun MavenPublication.pomForTeamDefaultOpenSource( project: Project, nameArg: String, descriptionArg: String, - gitProjectPageUrl: String = "https://github.com/huanshankeji/${project.rootProject.name}", + gitProjectPageUrl: String = project.defaultRootProjectGithubRepositoryUrl(), gitUrl: String = "$gitProjectPageUrl.git", scmConnection: String = "scm:git:$gitUrl", developersBlock: MavenPomDeveloperSpec.() -> Unit ) = diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts new file mode 100644 index 0000000..f236581 --- /dev/null +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts @@ -0,0 +1,21 @@ +package com.huanshankeji.team.dokka + +import com.huanshankeji.team.github.defaultRepositoryName +import com.huanshankeji.team.github.githubRepositoryUrl + +plugins { + id("com.huanshankeji.dokka.dokka-convention") +} + +val extension = extensions.create("githubDokkaConvention") + +interface GithubDokkaConventionExtension { + val repositoryName: Property + val commitOrTag: Property +} + +dokkaConvention { + val repositoryUrl = githubRepositoryUrl(extension.repositoryName.getOrElse(defaultRepositoryName())) + val commitOrTag = extension.commitOrTag.getOrElse("v${version}") + sourceLinkRemoteUrlRoot.set("$repositoryUrl/tree/$commitOrTag") +} diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/github/Github.kt b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/github/Github.kt new file mode 100644 index 0000000..45099a1 --- /dev/null +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/github/Github.kt @@ -0,0 +1,12 @@ +package com.huanshankeji.team.github + +import org.gradle.api.Project + +fun githubRepositoryUrl(repositoryName: String) = + "https://github.com/huanshankeji/$repositoryName" + +fun Project.defaultRepositoryName() = + rootProject.name + +fun Project.defaultRootProjectGithubRepositoryUrl() = + githubRepositoryUrl(defaultRepositoryName()) diff --git a/kotlin-common-gradle-plugins/build.gradle.kts b/kotlin-common-gradle-plugins/build.gradle.kts index 409188d..ee8c2ea 100644 --- a/kotlin-common-gradle-plugins/build.gradle.kts +++ b/kotlin-common-gradle-plugins/build.gradle.kts @@ -7,6 +7,7 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-benchmark-plugin:${DependencyVersions.kotlinxBenchmark}") implementation(kotlin("allopen", DependencyVersions.kotlin)) + implementation("org.jetbrains.dokka:dokka-gradle-plugin:${DependencyVersions.dokka}") testImplementation(kotlin("test")) } @@ -95,5 +96,10 @@ gradlePlugin { "Applies the kotlinx-benchmark and `allopen` plugins and adds the koltinx-benchmark dependencies." ) } + + scriptConventionsPlugin( + "dokka.dokka-convention", + "Dokka convention plugin" + ) } } diff --git a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts new file mode 100644 index 0000000..453a129 --- /dev/null +++ b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts @@ -0,0 +1,21 @@ +package com.huanshankeji.dokka + +plugins { + id("org.jetbrains.dokka") +} + +interface DokkaConventionExtension { + val sourceLinkRemoteUrlRoot: Property +} + +val extension = extensions.create("dokkaConvention") + +dokka { + dokkaSourceSets.all { + sourceLink { + val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) + remoteUrl("${extension.sourceLinkRemoteUrlRoot.get()}/$projectRelativePath") + remoteLineSuffix.set("#L") + } + } +} From 86e9062e2b8379c37d0e48609bf81676d33b5c1c Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 16:15:24 +0800 Subject: [PATCH 19/50] Change "tree" to "blob" in the GitHub URLs because "tree" is for directories while "blob" is for files You get redirected if using the wrong one though. --- buildSrc/src/main/kotlin/dokka-convention.gradle.kts | 2 +- .../huanshankeji/team/dokka/github-dokka-convention.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts index 2332ca6..6decee3 100644 --- a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -8,7 +8,7 @@ afterEvaluate { dokkaSourceSets.all { sourceLink { val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) - remoteUrl("https://github.com/huanshankeji/gradle-common/tree/plugins-v${version}/$projectRelativePath") + remoteUrl("https://github.com/huanshankeji/gradle-common/blob/plugins-v${version}/$projectRelativePath") remoteLineSuffix.set("#L") } } diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts index f236581..4c050ef 100644 --- a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts @@ -17,5 +17,5 @@ interface GithubDokkaConventionExtension { dokkaConvention { val repositoryUrl = githubRepositoryUrl(extension.repositoryName.getOrElse(defaultRepositoryName())) val commitOrTag = extension.commitOrTag.getOrElse("v${version}") - sourceLinkRemoteUrlRoot.set("$repositoryUrl/tree/$commitOrTag") + sourceLinkRemoteUrlRoot.set("$repositoryUrl/blob/$commitOrTag") } From bd03cb8c682aeee8ef75bcb34454582a50f199c1 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 16:30:32 +0800 Subject: [PATCH 20/50] Get rid of `afterEvaluate` in dokka-convention.gradle.kts in "buildSrc" --- .../aligned-version-plugin-conventions.gradle.kts | 3 +-- .../aligned-version-plugin-version.gradle.kts | 3 +++ .../src/main/kotlin/dokka-convention.gradle.kts | 15 ++++++--------- 3 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 buildSrc/src/main/kotlin/aligned-version-plugin-version.gradle.kts diff --git a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts index 93ac02b..174453d 100644 --- a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts @@ -2,11 +2,10 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask plugins { id("conventions") + id("aligned-version-plugin-version") id("dokka-convention") } -version = alignedPluginVersion - dependencies { implementation("com.huanshankeji:common-gradle-dependencies:$pluginProjectSourceDependentStableCommonGradleDependenciesVersion") } diff --git a/buildSrc/src/main/kotlin/aligned-version-plugin-version.gradle.kts b/buildSrc/src/main/kotlin/aligned-version-plugin-version.gradle.kts new file mode 100644 index 0000000..195f1b6 --- /dev/null +++ b/buildSrc/src/main/kotlin/aligned-version-plugin-version.gradle.kts @@ -0,0 +1,3 @@ +// extracted into a separate script so the version can be set before `dokka-convention` + +version = alignedPluginVersion diff --git a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts index 6decee3..aa0a2c0 100644 --- a/buildSrc/src/main/kotlin/dokka-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/dokka-convention.gradle.kts @@ -2,15 +2,12 @@ plugins { id("org.jetbrains.dokka") } -// put in `afterEvaluate` so the project version can be retrieved -afterEvaluate { - dokka { - dokkaSourceSets.all { - sourceLink { - val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) - remoteUrl("https://github.com/huanshankeji/gradle-common/blob/plugins-v${version}/$projectRelativePath") - remoteLineSuffix.set("#L") - } +dokka { + dokkaSourceSets.all { + sourceLink { + val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) + remoteUrl("https://github.com/huanshankeji/gradle-common/blob/plugins-v${version}/$projectRelativePath") + remoteLineSuffix.set("#L") } } } From d49964bce3d2bbf1d29ed0f38757b1fc9d5f0ed0 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 17:37:24 +0800 Subject: [PATCH 21/50] Try using `Provider.map` instead of `Provider.get` to resolve `org.gradle.api.internal.provider.MissingValueException` in projects in the Dokka convention plugins --- .../dokka/github-dokka-convention.gradle.kts | 18 ++++++++++++------ .../dokka/dokka-convention.gradle.kts | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts index 4c050ef..33a7b7c 100644 --- a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts @@ -7,15 +7,21 @@ plugins { id("com.huanshankeji.dokka.dokka-convention") } -val extension = extensions.create("githubDokkaConvention") - interface GithubDokkaConventionExtension { val repositoryName: Property val commitOrTag: Property } -dokkaConvention { - val repositoryUrl = githubRepositoryUrl(extension.repositoryName.getOrElse(defaultRepositoryName())) - val commitOrTag = extension.commitOrTag.getOrElse("v${version}") - sourceLinkRemoteUrlRoot.set("$repositoryUrl/blob/$commitOrTag") +extensions.create("githubDokkaConvention").apply { + repositoryName.convention(defaultRepositoryName()) + commitOrTag.convention("v${version}") + + dokkaConvention { + repositoryName.map { repositoryName -> + val repositoryUrl = githubRepositoryUrl(repositoryName) + commitOrTag.map { commitOrTag -> + sourceLinkRemoteUrlRoot.set("$repositoryUrl/blob/$commitOrTag") + } + } + } } diff --git a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts index 453a129..e98697e 100644 --- a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts +++ b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts @@ -14,7 +14,7 @@ dokka { dokkaSourceSets.all { sourceLink { val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) - remoteUrl("${extension.sourceLinkRemoteUrlRoot.get()}/$projectRelativePath") + extension.sourceLinkRemoteUrlRoot.map { remoteUrl("$it/$projectRelativePath") } remoteLineSuffix.set("#L") } } From fac56e49fb61077287a041596ab21e2f8d2c98d7 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 17:56:57 +0800 Subject: [PATCH 22/50] Use `void set(Provider provider);` in `Property` to resolve an additional error While running `dokkaGenerate` in dependent projects: ```text A problem was found with the configuration of task ':exposed-adt-mapping:dokkaGenerateModuleHtml' (type 'DokkaGenerateModuleTask'). - In plugin 'org.jetbrains.dokka.gradle.DokkaBasePlugin_Decorated' type 'org.jetbrains.dokka.gradle.tasks.DokkaGenerateModuleTask' property 'generator.dokkaSourceSets.main$0.sourceLinks.$0.remoteUrl' doesn't have a configured value. Reason: This property isn't marked as optional and no value has been configured. Possible solutions: 1. Assign a value to 'generator.dokkaSourceSets.main$0.sourceLinks.$0.remoteUrl'. 2. Mark property 'generator.dokkaSourceSets.main$0.sourceLinks.$0.remoteUrl' as optional. ``` Simply moving `map`s outside doesn't resolve this issue, probably because `Provider.map` is lazy not eager. So calling `Provider.set` inside them is not a good idea. --- .../team/dokka/github-dokka-convention.gradle.kts | 14 ++++++++------ .../huanshankeji/dokka/dokka-convention.gradle.kts | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts index 33a7b7c..510279a 100644 --- a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts @@ -16,12 +16,14 @@ extensions.create("githubDokkaConvention").apply repositoryName.convention(defaultRepositoryName()) commitOrTag.convention("v${version}") - dokkaConvention { - repositoryName.map { repositoryName -> - val repositoryUrl = githubRepositoryUrl(repositoryName) - commitOrTag.map { commitOrTag -> - sourceLinkRemoteUrlRoot.set("$repositoryUrl/blob/$commitOrTag") - } + val sourceLinkRemoteUrlRoot = repositoryName.flatMap { repositoryName -> + val repositoryUrl = githubRepositoryUrl(repositoryName) + commitOrTag.map { commitOrTag -> + "$repositoryUrl/blob/$commitOrTag" } } + + dokkaConvention { + this.sourceLinkRemoteUrlRoot.set(sourceLinkRemoteUrlRoot) + } } diff --git a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts index e98697e..0bc679b 100644 --- a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts +++ b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/dokka/dokka-convention.gradle.kts @@ -14,8 +14,8 @@ dokka { dokkaSourceSets.all { sourceLink { val projectRelativePath = projectDir.relativeTo(rootProject.projectDir) - extension.sourceLinkRemoteUrlRoot.map { remoteUrl("$it/$projectRelativePath") } + remoteUrl(extension.sourceLinkRemoteUrlRoot.map { "$it/$projectRelativePath" }) remoteLineSuffix.set("#L") } } -} +} \ No newline at end of file From 361feee765fdf10f4ad40f05aefdfd78c7e9ec8c Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 22:30:32 +0800 Subject: [PATCH 23/50] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..da80987 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +shreckye@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. From 4a7852641cfa96147b8c80657c307920da547c71 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Thu, 7 Nov 2024 23:26:06 +0800 Subject: [PATCH 24/50] Create CONTRIBUTING.md --- CONTRIBUTING.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..05336d7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,15 @@ +# Contributing guidelines + +Hello, thank you for your interest in contributing to our project. + +## Submitting issues + +You are welcome to submit issues on bugs or feature requests. If you have questions, please ask them in GitHub Discussions. + +## Pull requests + +If you want to contribute to the code of our project, you are welcome to open pull requests. However, it's always a good idea to open a related issue or talk with us in Discussions first. + +## Furthur notice + +We are currently a small team with limited effort. We may not always implement your requested features, merge your pull requests, or do such things in time. You are always welcome to create your own fork and make any changes you like. From c0118b9ef0c90c75d6426bacde3b2069bc0668a6 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Fri, 8 Nov 2024 00:04:56 +0800 Subject: [PATCH 25/50] Update CONTRIBUTING.md --- CONTRIBUTING.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 05336d7..ca714df 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ Hello, thank you for your interest in contributing to our project. -## Submitting issues +## Issues and Discussions You are welcome to submit issues on bugs or feature requests. If you have questions, please ask them in GitHub Discussions. @@ -10,6 +10,14 @@ You are welcome to submit issues on bugs or feature requests. If you have questi If you want to contribute to the code of our project, you are welcome to open pull requests. However, it's always a good idea to open a related issue or talk with us in Discussions first. +## Development + +Please make sure you have a valid JDK installed. Some projects may require multiple JDKs of different versions. The JDK version we use can be found in the [GitHub Actions workflow files](.github/workflows). + +We recommend developing with IntelliJ IDEA. In IntelliJ IDEA, select the correct [Project SDK in Project Structure](https://www.jetbrains.com/help/idea/project-settings-and-structure.html#project-sdk) and it's recommended to set [Gradle JVM](https://www.jetbrains.com/help/idea/gradle-jvm-selection.html#jvm_settings) to "Project SDK". + +Run the `publishToMavenLocal` Gradle task to publish the libraries to your machine's Maven Local Repository so your projects can depend on the changes you have made, run `check` to ensure our limited number of tests pass. + ## Furthur notice -We are currently a small team with limited effort. We may not always implement your requested features, merge your pull requests, or do such things in time. You are always welcome to create your own fork and make any changes you like. +We are currently a small team with limited effort. While we may not always implement your requested features, merge your pull requests, or do such things in time, you are always welcome to create your own fork and make any changes you like. From 5aa5aaa23960f75629f321e6464128267b96dd8f Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Fri, 8 Nov 2024 10:48:39 +0800 Subject: [PATCH 26/50] Apply the binary compatibility validator Gradle plugin --- build.gradle.kts | 1 + buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 1 + 2 files changed, 2 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 0179377..091069c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,6 +4,7 @@ tasks.wrapper { plugins { id("org.jetbrains.dokka") + id("org.jetbrains.kotlinx.binary-compatibility-validator") version DependencyVersions.binaryCompatibilityValidator } evaluationDependsOnChildren() diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 800cf26..6c082d4 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -10,6 +10,7 @@ object DependencyVersions { val composeMultiplatform = "1.7.0" val kotlinxBenchmark = "0.4.11" val dokka = "2.0.0-Beta" + val binaryCompatibilityValidator = "0.16.3" } val alignedPluginVersion = "0.7.0-SNAPSHOT" From de1baa370a68022f2b79aed47118fe53f7d56cb5 Mon Sep 17 00:00:00 2001 From: Shreck Ye Date: Fri, 8 Nov 2024 10:52:03 +0800 Subject: [PATCH 27/50] Run `apiDump` --- .../architecture-common-gradle-plugins.api | 224 ++++++++++ .../api/common-gradle-dependencies.api | 394 ++++++++++++++++++ .../api/gradle-plugins.api | 71 ++++ .../api/kotlin-common-gradle-plugins.api | 348 ++++++++++++++++ 4 files changed, 1037 insertions(+) create mode 100644 architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api create mode 100644 common-gradle-dependencies/api/common-gradle-dependencies.api create mode 100644 huanshankeji-team-gradle-plugins/api/gradle-plugins.api create mode 100644 kotlin-common-gradle-plugins/api/kotlin-common-gradle-plugins.api diff --git a/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api b/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api new file mode 100644 index 0000000..6c9c584 --- /dev/null +++ b/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api @@ -0,0 +1,224 @@ +public final class com/huanshankeji/DefaultMaterialWebFrontendConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/DefaultWebFrontendConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/Default_material_web_frontend_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Default_web_frontend_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getExtension ()Lcom/huanshankeji/Default_web_frontend_conventions_gradle$Extension; + public final fun getGeneratedResourcesFile ()Ljava/io/File; + public static final fun main ([Ljava/lang/String;)V +} + +public abstract interface class com/huanshankeji/Default_web_frontend_conventions_gradle$Extension { + public abstract fun getHtmlGenerationProjectPath ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public abstract interface class com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin$Extension { + public abstract fun getIncludes ()Lorg/gradle/api/provider/ListProperty; + public abstract fun getWebFrontendProjectPath ()Lorg/gradle/api/provider/Property; + public abstract fun getWebRoot ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlugin$apply$1$1$inlined$sam$i$org_gradle_api_Action$0 : org/gradle/api/Action { + public fun (Lkotlin/jvm/functions/Function1;)V + public final synthetic fun execute (Ljava/lang/Object;)V +} + +public final class com/huanshankeji/KotlinJvmApplicationAppConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinJvmCommonAppConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinJvmLibraryAppConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformAppConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformAppConventionsWithConventionalTargetsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformJsBrowserAppConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/Kotlin_jvm_application_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_jvm_common_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_jvm_library_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_app_conventions_with_conventional_targets_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_js_browser_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/OptInsKt { + public static final fun defaultOptIns (Lorg/jetbrains/kotlin/gradle/plugin/LanguageSettingsBuilder;)V +} + +public final class com/huanshankeji/jvm/native/osandarch/CpuArchitecture : java/lang/Enum { + public static final field Aarch64 Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture; + public static final field X8664 Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture; + public final fun getIdentifier ()Ljava/lang/String; + public static fun valueOf (Ljava/lang/String;)Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture; + public static fun values ()[Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture; +} + +public final class com/huanshankeji/jvm/native/osandarch/DefaultSupported { + public static final field INSTANCE Lcom/huanshankeji/jvm/native/osandarch/DefaultSupported; +} + +public final class com/huanshankeji/jvm/native/osandarch/DefaultSupported$ArchsByOs { + public static final field INSTANCE Lcom/huanshankeji/jvm/native/osandarch/DefaultSupported$ArchsByOs; + public final fun getLinux ()Ljava/util/List; + public final fun getMacos ()Ljava/util/List; + public final fun getWindows ()Ljava/util/List; +} + +public final class com/huanshankeji/jvm/native/osandarch/DefaultSupported$OsAndArchs { + public static final field INSTANCE Lcom/huanshankeji/jvm/native/osandarch/DefaultSupported$OsAndArchs; + public final fun getAll ()Ljava/util/List; + public final fun getAllFeatureVariantNames ()Ljava/util/List; + public final fun getFutureAll ()Ljava/util/List; + public final fun getLinux ()Ljava/util/List; + public final fun getMacos ()Ljava/util/List; + public final fun getWindows ()Ljava/util/List; +} + +public final class com/huanshankeji/jvm/native/osandarch/FeatureVariantDependencyConfig { + public fun (Lcom/huanshankeji/jvm/native/osandarch/OsAndArch;Ljava/lang/String;)V + public final fun component1 ()Lcom/huanshankeji/jvm/native/osandarch/OsAndArch; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lcom/huanshankeji/jvm/native/osandarch/OsAndArch;Ljava/lang/String;)Lcom/huanshankeji/jvm/native/osandarch/FeatureVariantDependencyConfig; + public static synthetic fun copy$default (Lcom/huanshankeji/jvm/native/osandarch/FeatureVariantDependencyConfig;Lcom/huanshankeji/jvm/native/osandarch/OsAndArch;Ljava/lang/String;ILjava/lang/Object;)Lcom/huanshankeji/jvm/native/osandarch/FeatureVariantDependencyConfig; + public fun equals (Ljava/lang/Object;)Z + public final fun getIdentifier ()Ljava/lang/String; + public final fun getOsAndArch ()Lcom/huanshankeji/jvm/native/osandarch/OsAndArch; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/huanshankeji/jvm/native/osandarch/FeatureVariantsAndDependenciesKt { + public static final fun addDependenciesToFeatureVariantsWithIdentifiersInClassifiers (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static final fun addDependenciesToFeatureVariantsWithIdentifiersInClassifiers (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Lkotlin/jvm/functions/Function1;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static synthetic fun addDependenciesToFeatureVariantsWithIdentifiersInClassifiers$default (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun addDependenciesToFeatureVariantsWithIdentifiersInClassifiers$default (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Lkotlin/jvm/functions/Function1;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static final fun addDependenciesToFeatureVariantsWithIdentifiersInNameSuffixes (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static final fun addDependenciesToFeatureVariantsWithIdentifiersInNameSuffixes (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Lkotlin/jvm/functions/Function1;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static synthetic fun addDependenciesToFeatureVariantsWithIdentifiersInNameSuffixes$default (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun addDependenciesToFeatureVariantsWithIdentifiersInNameSuffixes$default (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Lkotlin/jvm/functions/Function1;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static final fun addDependencyToFeatureVariants (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/Object;)V + public static final fun addDependencyWithFeatureVariantCapabilityDependenciesToOneConfiguration (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static synthetic fun addDependencyWithFeatureVariantCapabilityDependenciesToOneConfiguration$default (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static final fun addDependencyWithFeatureVariantTransitiveCapabilityDependencies (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static synthetic fun addDependencyWithFeatureVariantTransitiveCapabilityDependencies$default (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static final fun getCapabilityNotation (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static final fun getFeatureVariantName (Lcom/huanshankeji/jvm/native/osandarch/OsAndArch;)Ljava/lang/String; + public static final fun registerDefaultSupportedFeatureVariants (Lorg/gradle/api/plugins/JavaPluginExtension;Lcom/huanshankeji/SourceSetType;)V +} + +public final class com/huanshankeji/jvm/native/osandarch/Os : java/lang/Enum { + public static final field Linux Lcom/huanshankeji/jvm/native/osandarch/Os; + public static final field Macos Lcom/huanshankeji/jvm/native/osandarch/Os; + public static final field Windows Lcom/huanshankeji/jvm/native/osandarch/Os; + public final fun getIdentifier ()Ljava/lang/String; + public static fun valueOf (Ljava/lang/String;)Lcom/huanshankeji/jvm/native/osandarch/Os; + public static fun values ()[Lcom/huanshankeji/jvm/native/osandarch/Os; +} + +public final class com/huanshankeji/jvm/native/osandarch/OsAndArch { + public fun (Lcom/huanshankeji/jvm/native/osandarch/Os;Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture;)V + public final fun component1 ()Lcom/huanshankeji/jvm/native/osandarch/Os; + public final fun component2 ()Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture; + public final fun copy (Lcom/huanshankeji/jvm/native/osandarch/Os;Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture;)Lcom/huanshankeji/jvm/native/osandarch/OsAndArch; + public static synthetic fun copy$default (Lcom/huanshankeji/jvm/native/osandarch/OsAndArch;Lcom/huanshankeji/jvm/native/osandarch/Os;Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture;ILjava/lang/Object;)Lcom/huanshankeji/jvm/native/osandarch/OsAndArch; + public fun equals (Ljava/lang/Object;)Z + public final fun getArch ()Lcom/huanshankeji/jvm/native/osandarch/CpuArchitecture; + public final fun getCamelCaseIdentifier ()Ljava/lang/String; + public final fun getKebabCaseIdentifier ()Ljava/lang/String; + public final fun getOs ()Lcom/huanshankeji/jvm/native/osandarch/Os; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/huanshankeji/jvm/native/osandarch/OsAndArchKt { + public static final fun getCurrentOsAndArch ()Lcom/huanshankeji/jvm/native/osandarch/OsAndArch; +} + +public final class com/huanshankeji/jvm/native/osandarch/RegisterDefaultSupportedFeatureVariantsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/jvm/native/osandarch/Register_default_supported_feature_variants_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getExtension ()Lcom/huanshankeji/jvm/native/osandarch/Register_default_supported_feature_variants_gradle$Extension; + public static final fun main ([Ljava/lang/String;)V +} + +public abstract interface class com/huanshankeji/jvm/native/osandarch/Register_default_supported_feature_variants_gradle$Extension { + public abstract fun getSourceSetType ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/spark/SparkKt { + public static final fun getSparkJava17CompatibleJvmArgs ()Ljava/util/List; +} + diff --git a/common-gradle-dependencies/api/common-gradle-dependencies.api b/common-gradle-dependencies/api/common-gradle-dependencies.api new file mode 100644 index 0000000..994cd88 --- /dev/null +++ b/common-gradle-dependencies/api/common-gradle-dependencies.api @@ -0,0 +1,394 @@ +public final class com/huanshankeji/CommonDependencies { + public fun ()V + public fun (Lcom/huanshankeji/CommonVersions;)V + public synthetic fun (Lcom/huanshankeji/CommonVersions;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getAndroidx ()Lcom/huanshankeji/CommonDependencies$Androidx; + public final fun getArrow ()Lcom/huanshankeji/CommonDependencies$Arrow; + public final fun getExposed ()Lcom/huanshankeji/CommonDependencies$Exposed; + public final fun getJetbrainsAndroidx ()Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx; + public final fun getKotest ()Lcom/huanshankeji/CommonDependencies$Kotest; + public final fun getKotlinCommon ()Lcom/huanshankeji/CommonDependencies$KotlinCommon; + public final fun getKotlinx ()Lcom/huanshankeji/CommonDependencies$Kotlinx; + public final fun getKtor ()Lcom/huanshankeji/CommonDependencies$Ktor; + public final fun getOrgJunit ()Lcom/huanshankeji/CommonDependencies$OrgJunit; + public final fun getSlf4j ()Lcom/huanshankeji/CommonDependencies$Slf4j; + public final fun getTestContainers ()Lcom/huanshankeji/CommonDependencies$TestContainers; + public final fun getVersions ()Lcom/huanshankeji/CommonVersions; + public final fun getVertx ()Lcom/huanshankeji/CommonDependencies$Vertx; + public final fun postgreSql (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun postgreSql$default (Lcom/huanshankeji/CommonDependencies;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Androidx { + public static final field Companion Lcom/huanshankeji/CommonDependencies$Androidx$Companion; + public fun (Lcom/huanshankeji/CommonVersions$Androidx;)V + public final fun getActivity ()Lcom/huanshankeji/CommonDependencies$Androidx$Activity; + public final fun getCompose ()Lcom/huanshankeji/CommonDependencies$Androidx$Compose; +} + +public final class com/huanshankeji/CommonDependencies$Androidx$Activity : com/huanshankeji/CommonDependencies$Androidx$Subgroup { + public fun (Ljava/lang/String;)V + public final fun compose (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun compose$default (Lcom/huanshankeji/CommonDependencies$Androidx$Activity;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public fun getDefaultVersion ()Ljava/lang/String; + public fun getSubgroupName ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Androidx$Companion { + public final fun getPackage ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Androidx$Compose { + public fun (Lcom/huanshankeji/CommonVersions$Androidx$Compose;)V + public final fun getUi ()Lcom/huanshankeji/CommonDependencies$Androidx$Compose$Ui; +} + +public abstract interface class com/huanshankeji/CommonDependencies$Androidx$Compose$Subgroup : com/huanshankeji/CommonDependencies$SubgroupWithNameInArtifact { + public fun getGroupPrefix ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Androidx$Compose$Ui : com/huanshankeji/CommonDependencies$Androidx$Compose$Subgroup { + public fun (Ljava/lang/String;)V + public fun getDefaultVersion ()Ljava/lang/String; + public fun getSubgroupName ()Ljava/lang/String; +} + +public abstract interface class com/huanshankeji/CommonDependencies$Androidx$Subgroup : com/huanshankeji/CommonDependencies$SubgroupWithNameInArtifact { + public fun getGroupPrefix ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Arrow { + public final fun core (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun core$default (Lcom/huanshankeji/CommonDependencies$Arrow;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Arrow;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Exposed { + public final fun core (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun core$default (Lcom/huanshankeji/CommonDependencies$Exposed;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Exposed;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$JetbrainsAndroidx { + public fun (Lcom/huanshankeji/CommonVersions$JetbrainsAndroidx;)V + public final fun getLifecycle ()Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx$Lifecycle; + public final fun getNavigation ()Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx$Navigation; +} + +public final class com/huanshankeji/CommonDependencies$JetbrainsAndroidx$Lifecycle : com/huanshankeji/CommonDependencies$JetbrainsAndroidx$Subgroup { + public fun (Ljava/lang/String;)V + public fun getDefaultVersion ()Ljava/lang/String; + public fun getSubgroupName ()Ljava/lang/String; + public final fun viewmodel (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun viewmodel$default (Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx$Lifecycle;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun viewmodelCompose (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun viewmodelCompose$default (Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx$Lifecycle;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$JetbrainsAndroidx$Navigation : com/huanshankeji/CommonDependencies$JetbrainsAndroidx$Subgroup { + public fun (Ljava/lang/String;)V + public final fun compose (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun compose$default (Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx$Navigation;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public fun getDefaultVersion ()Ljava/lang/String; + public fun getSubgroupName ()Ljava/lang/String; + public final fun runtime (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun runtime$default (Lcom/huanshankeji/CommonDependencies$JetbrainsAndroidx$Navigation;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public abstract interface class com/huanshankeji/CommonDependencies$JetbrainsAndroidx$Subgroup : com/huanshankeji/CommonDependencies$SubgroupWithNameInArtifact { + public fun getGroupPrefix ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Kotest { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Kotest;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun property (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun property$default (Lcom/huanshankeji/CommonDependencies$Kotest;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$KotlinCommon { + public final fun arrow (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun arrow$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun core (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun core$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun coroutines (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun coroutines$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun exposed (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun exposed$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun getKtor ()Lcom/huanshankeji/CommonDependencies$KotlinCommon$Ktor; + public final fun getVertx ()Lcom/huanshankeji/CommonDependencies$KotlinCommon$Vertx; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun net (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun net$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun reflect (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun reflect$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun serialization (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun serialization$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun vertx (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun vertx$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun web (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun web$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$KotlinCommon$Ktor { + public final fun client (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun client$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon$Ktor;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon$Ktor;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$KotlinCommon$Vertx { + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon$Vertx;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun withContextReceivers (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun withContextReceivers$default (Lcom/huanshankeji/CommonDependencies$KotlinCommon$Vertx;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Kotlinx { + public final fun datetime (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun datetime$default (Lcom/huanshankeji/CommonDependencies$Kotlinx;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getBenchmark ()Lcom/huanshankeji/CommonDependencies$Kotlinx$Benchmark; + public final fun getCoroutines ()Lcom/huanshankeji/CommonDependencies$Kotlinx$Coroutines; + public final fun getHtml ()Lcom/huanshankeji/CommonDependencies$Kotlinx$Html; + public final fun getSerialization ()Lcom/huanshankeji/CommonDependencies$Kotlinx$Serialization; +} + +public final class com/huanshankeji/CommonDependencies$Kotlinx$Benchmark { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Benchmark;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun runtime (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun runtime$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Benchmark;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Kotlinx$Coroutines { + public final fun core (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun core$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Coroutines;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Coroutines;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun test (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun test$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Coroutines;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Kotlinx$Html { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Html;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Kotlinx$Serialization { + public final fun core (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun core$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Serialization;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun json (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun json$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Serialization;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Serialization;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun protobuf (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun protobuf$default (Lcom/huanshankeji/CommonDependencies$Kotlinx$Serialization;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Ktor { + public final fun getClient ()Lcom/huanshankeji/CommonDependencies$Ktor$Client; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Ktor;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Ktor$Client { + public final fun core (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun core$default (Lcom/huanshankeji/CommonDependencies$Ktor$Client;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Ktor$Client;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$OrgJunit { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun getJupiter ()Lcom/huanshankeji/CommonDependencies$OrgJunit$Jupiter; + public final fun platformBom (Lorg/gradle/api/artifacts/dsl/DependencyHandler;Ljava/lang/String;)Lorg/gradle/api/artifacts/Dependency; + public static synthetic fun platformBom$default (Lcom/huanshankeji/CommonDependencies$OrgJunit;Lorg/gradle/api/artifacts/dsl/DependencyHandler;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/Dependency; +} + +public final class com/huanshankeji/CommonDependencies$OrgJunit$Jupiter { + public final fun apiWithVersion (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun apiWithVersion$default (Lcom/huanshankeji/CommonDependencies$OrgJunit$Jupiter;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun apiWithoutVersion ()Ljava/lang/String; + public final fun engineWithVersion (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun engineWithVersion$default (Lcom/huanshankeji/CommonDependencies$OrgJunit$Jupiter;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun engineWithoutVersion ()Ljava/lang/String; + public final fun moduleWithVersion (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun moduleWithVersion$default (Lcom/huanshankeji/CommonDependencies$OrgJunit$Jupiter;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun moduleWithoutVersion (Ljava/lang/String;)Ljava/lang/String; + public final fun withVersion (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun withVersion$default (Lcom/huanshankeji/CommonDependencies$OrgJunit$Jupiter;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun withoutVersion ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$Slf4j { + public final fun api (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun api$default (Lcom/huanshankeji/CommonDependencies$Slf4j;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$Slf4j;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun simple (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun simple$default (Lcom/huanshankeji/CommonDependencies$Slf4j;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public abstract interface class com/huanshankeji/CommonDependencies$SubgroupWithNameInArtifact { + public abstract fun getDefaultVersion ()Ljava/lang/String; + public abstract fun getGroupPrefix ()Ljava/lang/String; + public abstract fun getSubgroupName ()Ljava/lang/String; + public fun module (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun module$default (Lcom/huanshankeji/CommonDependencies$SubgroupWithNameInArtifact;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonDependencies$TestContainers { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun getJunitJupiter ()Ljava/lang/String; + public final fun getPostgreSql ()Ljava/lang/String; + public final fun getTestContainers ()Ljava/lang/String; + public final fun moduleWithVersion (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun moduleWithVersion$default (Lcom/huanshankeji/CommonDependencies$TestContainers;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun moduleWithoutVersion (Ljava/lang/String;)Ljava/lang/String; + public final fun platformBom (Lorg/gradle/api/artifacts/dsl/DependencyHandler;Ljava/lang/String;)Lorg/gradle/api/artifacts/Dependency; + public static synthetic fun platformBom$default (Lcom/huanshankeji/CommonDependencies$TestContainers;Lorg/gradle/api/artifacts/dsl/DependencyHandler;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/Dependency; +} + +public final class com/huanshankeji/CommonDependencies$Vertx { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun moduleWithVersion (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun moduleWithVersion$default (Lcom/huanshankeji/CommonDependencies$Vertx;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; + public final fun moduleWithoutVersion (Ljava/lang/String;)Ljava/lang/String; + public final fun platformStackDepchain (Lorg/gradle/api/artifacts/dsl/DependencyHandler;Ljava/lang/String;)Lorg/gradle/api/artifacts/Dependency; + public static synthetic fun platformStackDepchain$default (Lcom/huanshankeji/CommonDependencies$Vertx;Lorg/gradle/api/artifacts/dsl/DependencyHandler;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/Dependency; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies { + public fun (Lcom/huanshankeji/CommonVersions;)V + public final fun getComposeMultiplatform ()Lcom/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform; + public final fun getKotlin ()Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlin; + public final fun getKotlinx ()Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlinx; + public final fun getVersions ()Lcom/huanshankeji/CommonVersions; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform { + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun getGradlePlugin ()Lcom/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform$GradlePlugin; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform$GradlePlugin { + public fun (Lcom/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform;)V + public final fun applyPluginWithVersion (Lorg/gradle/plugin/use/PluginDependenciesSpec;Ljava/lang/String;)Lorg/gradle/plugin/use/PluginDependencySpec; + public static synthetic fun applyPluginWithVersion$default (Lcom/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform$GradlePlugin;Lorg/gradle/plugin/use/PluginDependenciesSpec;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/plugin/use/PluginDependencySpec; + public final fun applyPluginWithoutVersion (Lorg/gradle/plugin/use/PluginDependenciesSpec;)Lorg/gradle/plugin/use/PluginDependencySpec; + public final fun pluginProject (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun pluginProject$default (Lcom/huanshankeji/CommonGradleClasspathDependencies$ComposeMultiplatform$GradlePlugin;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$Kotlin { + public final fun getGroup ()Ljava/lang/String; + public final fun getPlugin ()Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlin$Plugin; + public final fun getSerializationPlugin ()Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlin$Plugin$Serialization; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$Kotlin$Plugin { + public final fun getSerialization ()Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlin$Plugin$Serialization; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$Kotlin$Plugin$Serialization { + public final fun applyPluginWithVersion (Lorg/gradle/plugin/use/PluginDependenciesSpec;Ljava/lang/String;)Lorg/gradle/plugin/use/PluginDependencySpec; + public static synthetic fun applyPluginWithVersion$default (Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlin$Plugin$Serialization;Lorg/gradle/plugin/use/PluginDependenciesSpec;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/plugin/use/PluginDependencySpec; + public final fun applyPluginWithoutVersion (Lorg/gradle/plugin/use/PluginDependenciesSpec;)Lorg/gradle/plugin/use/PluginDependencySpec; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun getModuleName ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$Kotlinx { + public final fun getBenchmark ()Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlinx$Benchmark; +} + +public final class com/huanshankeji/CommonGradleClasspathDependencies$Kotlinx$Benchmark { + public fun (Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlinx;)V + public final fun applyPluginWithVersion (Lorg/gradle/plugin/use/PluginDependenciesSpec;Ljava/lang/String;)Lorg/gradle/plugin/use/PluginDependencySpec; + public static synthetic fun applyPluginWithVersion$default (Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlinx$Benchmark;Lorg/gradle/plugin/use/PluginDependenciesSpec;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/plugin/use/PluginDependencySpec; + public final fun getDefaultVersion ()Ljava/lang/String; + public final fun pluginProject (Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun pluginProject$default (Lcom/huanshankeji/CommonGradleClasspathDependencies$Kotlinx$Benchmark;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + +public final class com/huanshankeji/CommonGradleDependenciesDummyPluginPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/CommonVersions { + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getAndroidx ()Lcom/huanshankeji/CommonVersions$Androidx; + public final fun getArrow ()Ljava/lang/String; + public final fun getComposeMultiplatform ()Ljava/lang/String; + public final fun getExposed ()Ljava/lang/String; + public final fun getJetBrainsAndroidx ()Lcom/huanshankeji/CommonVersions$JetbrainsAndroidx; + public final fun getKotest ()Ljava/lang/String; + public final fun getKotlin ()Ljava/lang/String; + public final fun getKotlinCommon ()Ljava/lang/String; + public final fun getKotlinxBenchmark ()Ljava/lang/String; + public final fun getKotlinxCoroutines ()Ljava/lang/String; + public final fun getKotlinxDatetime ()Ljava/lang/String; + public final fun getKotlinxHtml ()Ljava/lang/String; + public final fun getKotlinxSerialization ()Ljava/lang/String; + public final fun getKtor ()Ljava/lang/String; + public final fun getOrgJunit ()Ljava/lang/String; + public final fun getPostgreSql ()Ljava/lang/String; + public final fun getSlf4j ()Ljava/lang/String; + public final fun getTestContainers ()Ljava/lang/String; + public final fun getVertx ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonVersions$Androidx { + public fun ()V + public fun (Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx$Compose;)V + public synthetic fun (Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx$Compose;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getActivity ()Ljava/lang/String; + public final fun getCompose ()Lcom/huanshankeji/CommonVersions$Androidx$Compose; +} + +public final class com/huanshankeji/CommonVersions$Androidx$Compose { + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getCommon ()Ljava/lang/String; + public final fun getCompiler ()Ljava/lang/String; + public final fun getMaterial3 ()Ljava/lang/String; + public final fun getMaterial3Adaptive ()Ljava/lang/String; +} + +public final class com/huanshankeji/CommonVersions$JetbrainsAndroidx { + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getComposeMultiplatform ()Ljava/lang/String; + public final fun getLifecycle ()Ljava/lang/String; + public final fun getNavigation ()Ljava/lang/String; +} + +public final class com/huanshankeji/Common_gradle_dependencies_dummy_plugin_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/KotlinxDependencyExtensionsKt { + public static final fun kotlinx (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static synthetic fun kotlinx$default (Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String; +} + diff --git a/huanshankeji-team-gradle-plugins/api/gradle-plugins.api b/huanshankeji-team-gradle-plugins/api/gradle-plugins.api new file mode 100644 index 0000000..17b85f6 --- /dev/null +++ b/huanshankeji-team-gradle-plugins/api/gradle-plugins.api @@ -0,0 +1,71 @@ +public final class com/huanshankeji/team/ConstantsKt { + public static final field HUANSHANKEJI_IN_LOWERCASE Ljava/lang/String; +} + +public final class com/huanshankeji/team/DefaultGithubPackagesMavenPublishPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/team/Default_github_packages_maven_publish_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/team/GithubPackagesMavenKt { + public static final fun repositoriesAddTeamGithubPackagesMavenRegistry (Lorg/gradle/api/Project;Ljava/lang/String;)V +} + +public final class com/huanshankeji/team/GithubPackagesMavenPublishPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/team/Github_packages_maven_publish_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/team/MavenPomKt { + public static final fun Shreck Ye (Lorg/gradle/api/publish/maven/MavenPomDeveloperSpec;)V + public static final fun pomForTeamDefaultOpenSource (Lorg/gradle/api/publish/maven/MavenPublication;Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static synthetic fun pomForTeamDefaultOpenSource$default (Lorg/gradle/api/publish/maven/MavenPublication;Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V +} + +public final class com/huanshankeji/team/WithGroupPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/team/With_group_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/team/dokka/GithubDokkaConventionPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/team/dokka/Github_dokka_convention_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public final field $$result Lcom/huanshankeji/team/dokka/Github_dokka_convention_gradle$GithubDokkaConventionExtension; + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun get$$result ()Lcom/huanshankeji/team/dokka/Github_dokka_convention_gradle$GithubDokkaConventionExtension; + public static final fun main ([Ljava/lang/String;)V +} + +public abstract interface class com/huanshankeji/team/dokka/Github_dokka_convention_gradle$GithubDokkaConventionExtension { + public abstract fun getCommitOrTag ()Lorg/gradle/api/provider/Property; + public abstract fun getRepositoryName ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/team/github/GithubKt { + public static final fun defaultRepositoryName (Lorg/gradle/api/Project;)Ljava/lang/String; + public static final fun defaultRootProjectGithubRepositoryUrl (Lorg/gradle/api/Project;)Ljava/lang/String; + public static final fun githubRepositoryUrl (Ljava/lang/String;)Ljava/lang/String; +} + diff --git a/kotlin-common-gradle-plugins/api/kotlin-common-gradle-plugins.api b/kotlin-common-gradle-plugins/api/kotlin-common-gradle-plugins.api new file mode 100644 index 0000000..81ac83c --- /dev/null +++ b/kotlin-common-gradle-plugins/api/kotlin-common-gradle-plugins.api @@ -0,0 +1,348 @@ +public final class com/huanshankeji/ConcatenatedProjectNamesKt { + public static final fun cpnProject (Lorg/gradle/api/artifacts/dsl/DependencyHandler;Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/api/artifacts/ProjectDependency; + public static final fun cpnProject (Lorg/jetbrains/kotlin/gradle/plugin/KotlinDependencyHandler;Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/api/artifacts/ProjectDependency; + public static synthetic fun cpnProject$default (Lorg/gradle/api/artifacts/dsl/DependencyHandler;Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/ProjectDependency; + public static synthetic fun cpnProject$default (Lorg/jetbrains/kotlin/gradle/plugin/KotlinDependencyHandler;Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/ProjectDependency; + public static final fun getConcatenatedProjectNamePath (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static final fun getConcatenatedProjectNamePath (Lorg/gradle/api/Project;Ljava/lang/String;)Ljava/lang/String; +} + +public final class com/huanshankeji/FeatureVariantsKt { + public static final fun addDependencyToFeatureVariants (Lorg/gradle/kotlin/dsl/DependencyHandlerScope;Ljava/util/List;Ljava/lang/String;Ljava/lang/Object;)V + public static final fun isValidFeatureVariantName (Ljava/lang/String;)Z + public static final fun registerFeatureVariantWithNewSourceSet (Lorg/gradle/api/plugins/JavaPluginExtension;Ljava/lang/String;Ljava/lang/String;)V + public static synthetic fun registerFeatureVariantWithNewSourceSet$default (Lorg/gradle/api/plugins/JavaPluginExtension;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static final fun registerFeatureVariantWithSourceSet (Lorg/gradle/api/plugins/JavaPluginExtension;Ljava/lang/String;Lorg/gradle/api/tasks/SourceSet;)V +} + +public final class com/huanshankeji/GenerateKotlinSourcesKt { + public static final fun generateKotlinSources (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V + public static synthetic fun generateKotlinSources$default (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ILjava/lang/Object;)V + public static final fun generateKotlinVersion (Lorg/gradle/api/Project;Ljava/lang/String;)V + public static final fun generateRootProjectName (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/GithubPackagesMavenPublishPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public abstract interface class com/huanshankeji/GithubPackagesMavenPublishPlugin$Extension { + public abstract fun getOwner ()Lorg/gradle/api/provider/Property; + public abstract fun getRepository ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/GithubPackagesMavenRegistryKt { + public static final fun githubPackagesMavenRegistrySetUrlAndCredentials (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository;Ljava/lang/String;Ljava/lang/String;)V + public static final fun publishing (Lorg/gradle/api/Project;Lorg/gradle/api/Action;)V + public static final fun publishingRepositoriesAddGithubPackagesMavenRepository (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public static synthetic fun publishingRepositoriesAddGithubPackagesMavenRepository$default (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V + public static final fun repositoriesAddGithubPackagesMavenRegistry (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/lang/String;)V +} + +public final class com/huanshankeji/GitlabPackageRegistryMavenKt { + public static final field GITLAB_HOST Ljava/lang/String; + public static final fun gitlabGroupLevelMavenRepository (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static synthetic fun gitlabGroupLevelMavenRepository$default (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static final fun gitlabInstanceLevelMavenRepository (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static synthetic fun gitlabInstanceLevelMavenRepository$default (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static final fun gitlabMavenRepository (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static synthetic fun gitlabMavenRepository$default (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static final fun gitlabProjectLevelMavenRepository (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; + public static synthetic fun gitlabProjectLevelMavenRepository$default (Lorg/gradle/api/Project;Lorg/gradle/api/artifacts/dsl/RepositoryHandler;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/gradle/api/artifacts/repositories/MavenArtifactRepository; +} + +public final class com/huanshankeji/GitlabProjectLevelMavenEndpointPublishPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public abstract interface class com/huanshankeji/GitlabProjectLevelMavenEndpointPublishPlugin$Extension { + public abstract fun getHost ()Lorg/gradle/api/provider/Property; + public abstract fun getProjectId ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/GradleKotlinExtensionsKt { + public static final fun getSourceSets (Lorg/gradle/api/Project;)Lorg/gradle/api/tasks/SourceSetContainer; + public static final fun main (Lorg/gradle/api/tasks/SourceSetContainer;Lkotlin/jvm/functions/Function1;)Lorg/gradle/api/NamedDomainObjectProvider; +} + +public final class com/huanshankeji/GradleKotlinExtensionsKt$inlined$sam$i$org_gradle_api_Action$0 : org/gradle/api/Action { + public fun (Lkotlin/jvm/functions/Function1;)V + public final synthetic fun execute (Ljava/lang/Object;)V +} + +public abstract interface annotation class com/huanshankeji/InternalApi : java/lang/annotation/Annotation { +} + +public final class com/huanshankeji/JvmIntegrationTestPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/JvmTestCommonFeatureVariantPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/Jvm_integration_test_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getIntTestImplementation ()Lorg/gradle/api/artifacts/Configuration; + public final fun getIntegrationTest ()Lorg/gradle/api/tasks/testing/Test; + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Jvm_test_common_feature_variant_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getTestCommon ()Ljava/lang/String; + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/KotlinJvmLibraryMavenPublishConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinJvmLibrarySonatypeOssrhPublishConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformConventionalTargetsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformJsBrowserConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformMavenPublishConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/KotlinMultiplatformSonatypeOssrhPublishConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/Kotlin_jvm_library_maven_publish_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_jvm_library_maven_publish_conventions_gradle$3$1$inlined$sam$i$org_gradle_api_Action$0 : org/gradle/api/Action { + public fun (Lkotlin/jvm/functions/Function1;)V + public final synthetic fun execute (Ljava/lang/Object;)V +} + +public final class com/huanshankeji/Kotlin_jvm_library_sonatype_ossrh_publish_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_conventional_targets_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_js_browser_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_maven_publish_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_sonatype_ossrh_publish_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getJavadocJar ()Lorg/gradle/api/tasks/TaskProvider; + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/Kotlin_multiplatform_sonatype_ossrh_publish_conventions_gradle$2$inlined$sam$i$org_gradle_api_Action$0 : org/gradle/api/Action { + public fun (Lkotlin/jvm/functions/Function1;)V + public final synthetic fun execute (Ljava/lang/Object;)V +} + +public final class com/huanshankeji/MavenPomKt { + public static final fun pomForDefaultOpenSourceWithApacheLicense20OnGitHub (Lorg/gradle/api/publish/maven/MavenPublication;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static synthetic fun pomForDefaultOpenSourceWithApacheLicense20OnGitHub$default (Lorg/gradle/api/publish/maven/MavenPublication;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V + public static final fun setUpForDefaultOpenSourceWithApacheLicense20OnGitHub (Lorg/gradle/api/publish/maven/MavenPom;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static synthetic fun setUpForDefaultOpenSourceWithApacheLicense20OnGitHub$default (Lorg/gradle/api/publish/maven/MavenPom;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V +} + +public final class com/huanshankeji/MavenPublishConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V + public final fun getPublishing (Lorg/gradle/api/Project;)Lorg/gradle/api/publish/PublishingExtension; +} + +public abstract class com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig { +} + +public final class com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig$Custom : com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig { + public fun (Ljava/lang/String;)V + public final fun getArtifactId ()Ljava/lang/String; +} + +public final class com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig$DefaultUnchanged : com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig { + public static final field INSTANCE Lcom/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig$DefaultUnchanged; +} + +public final class com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig$SubprojectNameConcatenated : com/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig { + public static final field INSTANCE Lcom/huanshankeji/MavenPublishConventionsPlugin$ArtifactIdConfig$SubprojectNameConcatenated; +} + +public abstract class com/huanshankeji/MavenPublishConventionsPlugin$Extension { + public fun ()V + public abstract fun getArtifactIdConfig ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/MavenPublishConventionsPlugin$apply$1$1$inlined$sam$i$org_gradle_api_Action$0 : org/gradle/api/Action { + public fun (Lkotlin/jvm/functions/Function1;)V + public final synthetic fun execute (Ljava/lang/Object;)V +} + +public final class com/huanshankeji/NamingConventionsKt { + public static final fun camelCaseConcat (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; + public static final fun camelCaseToKebabCase (Ljava/lang/String;)Ljava/lang/String; + public static final fun capitalizeFirstChar (Ljava/lang/String;)Ljava/lang/String; + public static final fun getCamelCaseCharRegex ()Lkotlin/text/Regex; + public static final fun getCamelCaseRegex ()Lkotlin/text/Regex; + public static final fun kebabCaseConcat (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +} + +public final class com/huanshankeji/NexusStagingPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/Nexus_staging_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/ProjectNamesKt { + public static final fun getDefaultFullNameForPublishing (Lorg/gradle/api/Project;)Ljava/lang/String; + public static final fun getDefaultPrefixForPublishing (Lorg/gradle/api/Project;)Ljava/lang/String; + public static final fun getFullNameForFileSystem (Lorg/gradle/api/Project;)Ljava/lang/String; + public static final fun getFullNameWithRootProjectNameForFileSystem (Lorg/gradle/api/Project;)Ljava/lang/String; +} + +public final class com/huanshankeji/SnapshotAndReleaseVersionsKt { + public static final fun isSnapshotVersion (Lorg/gradle/api/Project;)Z +} + +public final class com/huanshankeji/SonatypeOssrhPublishPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/Sonatype_ossrh_publish_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun isSnapshotVersion ()Z + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/SourceFile { + public fun (Ljava/lang/String;Ljava/lang/String;)V + public final fun getContent ()Ljava/lang/String; + public final fun getFilePath ()Ljava/lang/String; +} + +public final class com/huanshankeji/SourceSetConfig { + public static final field Companion Lcom/huanshankeji/SourceSetConfig$Companion; + public fun (Lcom/huanshankeji/SourceSetConfig$Type;Ljava/lang/String;Ljava/util/List;)V + public final fun getDependents ()Ljava/util/List; + public final fun getName ()Ljava/lang/String; + public final fun getType ()Lcom/huanshankeji/SourceSetConfig$Type; +} + +public final class com/huanshankeji/SourceSetConfig$Companion { + public final fun getMain ()Lcom/huanshankeji/SourceSetConfig; +} + +public final class com/huanshankeji/SourceSetConfig$Type : java/lang/Enum { + public static final field Existing Lcom/huanshankeji/SourceSetConfig$Type; + public static final field New Lcom/huanshankeji/SourceSetConfig$Type; + public static fun valueOf (Ljava/lang/String;)Lcom/huanshankeji/SourceSetConfig$Type; + public static fun values ()[Lcom/huanshankeji/SourceSetConfig$Type; +} + +public final class com/huanshankeji/SourceSetType : java/lang/Enum { + public static final field Main Lcom/huanshankeji/SourceSetType; + public static final field RegisterSeparate Lcom/huanshankeji/SourceSetType; + public static fun valueOf (Ljava/lang/String;)Lcom/huanshankeji/SourceSetType; + public static fun values ()[Lcom/huanshankeji/SourceSetType; +} + +public final class com/huanshankeji/VersionsAndDependenciesKt { + public static final fun getCommonDependencies ()Lcom/huanshankeji/CommonDependencies; + public static final fun getCommonVersions ()Lcom/huanshankeji/CommonVersions; +} + +public abstract interface class com/huanshankeji/benchmark/KotlinxBenchmarkConventionsExtension { + public abstract fun getSourceSetType ()Lorg/gradle/api/provider/Property; +} + +public final class com/huanshankeji/benchmark/KotlinxBenchmarkConventionsExtensionKt { + public static final fun createKotlinxBenchmarkConventionsExtension (Lorg/gradle/api/plugins/ExtensionContainer;)Lcom/huanshankeji/benchmark/KotlinxBenchmarkConventionsExtension; +} + +public final class com/huanshankeji/benchmark/KotlinxBenchmarkJvmConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/benchmark/KotlinxBenchmarkMultiplatformConventionsPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/benchmark/Kotlinx_benchmark_jvm_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getExtension ()Lcom/huanshankeji/benchmark/KotlinxBenchmarkConventionsExtension; + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/benchmark/Kotlinx_benchmark_multiplatform_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public static final fun main ([Ljava/lang/String;)V +} + +public final class com/huanshankeji/dokka/DokkaConventionPlugin : org/gradle/api/Plugin { + public fun ()V + public synthetic fun apply (Ljava/lang/Object;)V + public fun apply (Lorg/gradle/api/Project;)V +} + +public final class com/huanshankeji/dokka/Dokka_convention_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { + public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V + public final fun getExtension ()Lcom/huanshankeji/dokka/Dokka_convention_gradle$DokkaConventionExtension; + public static final fun main ([Ljava/lang/String;)V +} + +public abstract interface class com/huanshankeji/dokka/Dokka_convention_gradle$DokkaConventionExtension { + public abstract fun getSourceLinkRemoteUrlRoot ()Lorg/gradle/api/provider/Property; +} + From b2993a02613bdafa4589dd7951d384dc722f6117 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 26 Nov 2024 12:38:33 +0800 Subject: [PATCH 28/50] Try resolving an error that occurs when syncing the project in IntelliJ IDEA without success, by removing the module-wide opt-in and bumping the Gradle wrapper The Gradle error message when syncing in IntelliJ IDEA: ```text Execution failed for task ':kotlin-common-gradle-plugins:configurePrecompiledScriptDependenciesResolver'. > The value for property 'freeCompilerArgs' is final and cannot be changed any further. ``` This error doesn't occur when I run `publishToMavenLocal` or `check` from the command line. The commands work in the command line. See https://github.com/gradle/gradle/issues/22091 which could be related. --- buildSrc/build.gradle.kts | 4 ++-- .../main/kotlin/aligned-version-plugin-conventions.gradle.kts | 4 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- .../src/main/kotlin/com/huanshankeji/Internal.kt | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index db36dd1..fa7fdc3 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -26,8 +26,8 @@ dependencies { */ // for `KotlinCompilationTask` and the version is compatible with Compose 1.6.11 // With Kotlin 2.0.20, a "Could not parse POM" build error occurs in the JVM projects of some dependent projects. - implementation(kotlin("gradle-plugin", "2.0.10")) - implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:4.5.0") // This version has to be used for Gradle 8.10. + implementation(kotlin("gradle-plugin", "2.0.20")) + implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:5.1.1") // This version has to be used for Gradle 8.11.2. implementation("com.gradle.publish:plugin-publish-plugin:1.3.0") diff --git a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts index 174453d..b595e10 100644 --- a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask - plugins { id("conventions") id("aligned-version-plugin-version") @@ -10,6 +8,8 @@ dependencies { implementation("com.huanshankeji:common-gradle-dependencies:$pluginProjectSourceDependentStableCommonGradleDependenciesVersion") } +/* tasks.named>("compileKotlin").configure { compilerOptions.freeCompilerArgs.add("-opt-in=com.huanshankeji.InternalApi") } +*/ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 79eb9d0..c1d5e01 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt index cd5f39e..3bdc043 100644 --- a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt +++ b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt @@ -1,6 +1,5 @@ package com.huanshankeji -@RequiresOptIn +@RequiresOptIn("This API is internal in this project.", RequiresOptIn.Level.WARNING) // TODO consider removing `WARNING` @Retention(AnnotationRetention.BINARY) -@Target(AnnotationTarget.PROPERTY) annotation class InternalApi \ No newline at end of file From 6f91b61c76b15eeb46622fa25ddb8d17dc97b78e Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 26 Nov 2024 13:43:35 +0800 Subject: [PATCH 29/50] This might be a bug in IntelliJ IDEA 2024.3 as IntelliJ IDEA 2024.2.4, reported at https://youtrack.jetbrains.com/issue/IDEA-363846/Loading-a-Gradle-project-of-Gradle-plugins-changes-a-final-Kotlin-freeCompilerArgs-since-IntelliJ-IDEA-2024.3 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3d9d1c..b865a26 100644 --- a/README.md +++ b/README.md @@ -53,3 +53,4 @@ configurations.all { 1. IntelliJ IDEA doesn't work well with applying plugins to script plugins in project sources. If a script plugin's code does not resolve, try restarting IntelliJ IDEA. 1. `./gradlew build` (and tasks depending on it) somehow has to run twice to work. I haven't identified the cause yet. +1. IntelliJ IDEA 2024.3 doesn't load this project, which is reported at [IDEA-363846](https://youtrack.jetbrains.com/issue/IDEA-363846/Loading-a-Gradle-project-of-Gradle-plugins-changes-a-final-Kotlin-freeCompilerArgs-since-IntelliJ-IDEA-2024.3). From 62e09f63b38f58bc83c1792a89f0c03bf8f11798 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 26 Nov 2024 18:27:50 +0800 Subject: [PATCH 30/50] Revert the opt-in configurations --- .../main/kotlin/aligned-version-plugin-conventions.gradle.kts | 4 ++-- .../src/main/kotlin/com/huanshankeji/Internal.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts index b595e10..174453d 100644 --- a/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/aligned-version-plugin-conventions.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("conventions") id("aligned-version-plugin-version") @@ -8,8 +10,6 @@ dependencies { implementation("com.huanshankeji:common-gradle-dependencies:$pluginProjectSourceDependentStableCommonGradleDependenciesVersion") } -/* tasks.named>("compileKotlin").configure { compilerOptions.freeCompilerArgs.add("-opt-in=com.huanshankeji.InternalApi") } -*/ diff --git a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt index 3bdc043..29de1d2 100644 --- a/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt +++ b/kotlin-common-gradle-plugins/src/main/kotlin/com/huanshankeji/Internal.kt @@ -1,5 +1,5 @@ package com.huanshankeji -@RequiresOptIn("This API is internal in this project.", RequiresOptIn.Level.WARNING) // TODO consider removing `WARNING` +@RequiresOptIn("This API is internal in this project.") @Retention(AnnotationRetention.BINARY) annotation class InternalApi \ No newline at end of file From c20c8c02e2b8475cdc3fceb4812cbb8deb92cff9 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Fri, 29 Nov 2024 11:42:59 +0800 Subject: [PATCH 31/50] Bump Exposed to v0.56.0 in `CommonVersions` --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 2 +- .../src/main/kotlin/com/huanshankeji/CommonVersions.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 6c082d4..25b9d8f 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -17,7 +17,7 @@ val alignedPluginVersion = "0.7.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. -val commonGradleDependenciesVersion = "0.8.0-20241016-SNAPSHOT" +val commonGradleDependenciesVersion = "0.8.0-20241129-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { diff --git a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt index 98c5080..6169c00 100644 --- a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt +++ b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt @@ -11,7 +11,7 @@ class CommonVersions( val kotlinxDatetime: String = "0.6.1", val kotlinxBenchmark: String = GeneratedVersions.kotlinxBenchmark, // TODO `kotlinxIo` - val exposed: String = "0.53.0", // "0.54.0" deprecates the old DSL APIs as errors while we still depend on them. + val exposed: String = "0.56.0", val ktor: String = "2.3.12", // "3.0.0" uses Kotlin 2.0.20 too. val androidx: Androidx = Androidx(), From 89a2272860c4c349d36291b39f27f0de58b88aba Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Fri, 29 Nov 2024 17:16:36 +0800 Subject: [PATCH 32/50] Add change log for v0.7.0 --- PLUGINS_CHANGELOG.md | 9 +++++++++ .../team/dokka/github-dokka-convention.gradle.kts | 2 ++ 2 files changed, 11 insertions(+) diff --git a/PLUGINS_CHANGELOG.md b/PLUGINS_CHANGELOG.md index f07efb2..21ce0a9 100644 --- a/PLUGINS_CHANGELOG.md +++ b/PLUGINS_CHANGELOG.md @@ -1,5 +1,14 @@ # "Gradle plugins" change log +## v0.7.0 / 2024-11-20 + +* do not configure the signing DSL at all when the version is a snapshot in the `com.huanshankeji.sonatype-ossrh-publish` plugin, so `publishToMavenLocal` becomes significantly faster +* add API documentation generated by Dokka hosted at +* do not add any Maven repositories any more in plugins +* add the Dokka convention plugins `com.huanshankeji.dokka.dokka-convention` and `com.huanshankeji.team.dokka.github-dokka-convention` to ease Dokka configuration +* add CODE_OF_CONDUCT.md and CONTRIBUTING.md +* use the Kotlin binary compatibility validator + ## v0.6.0 / 2024-10-18 * remove the bootstrapping "common-gradle-dependencies" dependency, put the shared depdencies in `buildSrc` `DependencyVersions`, and generate versions for "common-gradle-dependencies" (see caf83246808b33bbb854bc486476758c73b9f398 for more details) diff --git a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts index 510279a..968e945 100644 --- a/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts +++ b/huanshankeji-team-gradle-plugins/src/main/kotlin/com/huanshankeji/team/dokka/github-dokka-convention.gradle.kts @@ -1,3 +1,5 @@ +// TODO consider moving/extracting this plugin out of this "team" module + package com.huanshankeji.team.dokka import com.huanshankeji.team.github.defaultRepositoryName From e9a89a684084696d0f74cb83ded2a532ac7982f0 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Sun, 1 Dec 2024 19:46:21 +0800 Subject: [PATCH 33/50] Bump the project version to 0.7.1-SNAPSHOT --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 25b9d8f..167cd94 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -13,7 +13,7 @@ object DependencyVersions { val binaryCompatibilityValidator = "0.16.3" } -val alignedPluginVersion = "0.7.0-SNAPSHOT" +val alignedPluginVersion = "0.7.1-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. From d528e20b72d465be40a5ca93547002b95c2bb3c6 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Sun, 1 Dec 2024 19:58:04 +0800 Subject: [PATCH 34/50] Bump Kotlin to 2.1.0 and kotlinx-benchmark to 0.4.13 --- buildSrc/build.gradle.kts | 2 +- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index db36dd1..87ba65d 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { */ // for `KotlinCompilationTask` and the version is compatible with Compose 1.6.11 // With Kotlin 2.0.20, a "Could not parse POM" build error occurs in the JVM projects of some dependent projects. - implementation(kotlin("gradle-plugin", "2.0.10")) + implementation(kotlin("gradle-plugin", "2.1.0")) implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:4.5.0") // This version has to be used for Gradle 8.10. implementation("com.gradle.publish:plugin-publish-plugin:1.3.0") diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 167cd94..f67f21a 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -6,9 +6,9 @@ val commonGradleClasspathDependencies = CommonGradleClasspathDependencies(common object DependencyVersions { - val kotlin = "2.0.10" // compatible with the compose version below + val kotlin = "2.1.0" // compatible with the compose version below val composeMultiplatform = "1.7.0" - val kotlinxBenchmark = "0.4.11" + val kotlinxBenchmark = "0.4.13" val dokka = "2.0.0-Beta" val binaryCompatibilityValidator = "0.16.3" } @@ -17,7 +17,7 @@ val alignedPluginVersion = "0.7.1-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. -val commonGradleDependenciesVersion = "0.8.0-20241129-SNAPSHOT" +val commonGradleDependenciesVersion = "0.8.0-20241201-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { From b93e9798ddeebdd5aea755f7d91ad884b68bc967 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Mon, 2 Dec 2024 15:56:17 +0800 Subject: [PATCH 35/50] Bump the Gradle wrapper to the latest version of v8.11.1 which depends on Kotlin 2.0.20 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 79eb9d0..c1d5e01 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 9b54ad279b3d72213b9541662171a26093caa0d7 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Mon, 2 Dec 2024 17:46:03 +0800 Subject: [PATCH 36/50] Make the project versions explicit --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index f67f21a..e46b266 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -13,11 +13,11 @@ object DependencyVersions { val binaryCompatibilityValidator = "0.16.3" } -val alignedPluginVersion = "0.7.1-SNAPSHOT" +val alignedPluginVersion = "0.7.1-kotlin-2.1.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. -val commonGradleDependenciesVersion = "0.8.0-20241201-SNAPSHOT" +val commonGradleDependenciesVersion = "0.8.0-20241201-kotlin-2.1.0-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { From a4906668c43d3ffb3b3eec3876b71f8c7ddb3472 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 01:26:59 +0800 Subject: [PATCH 37/50] Remove the `kotlin-jvm-*-app-conventions` script plugins as they are unnecessary as it turns out, and the `implementation(platform(kotlin("bom")))` line without a Kotlin version has introduced a "Could not parse POM" build error in projects dependent on a project with one of these plugins applied via Maven since Kotlin 2.0.20 See commit 1648b7e096a4f3c34c2ec3d3fd88cde753ac958e and commit dc9d1c8541912235d508a017c5395773e90fa63c for more details. --- .../build.gradle.kts | 14 +-------- ...jvm-application-app-conventions.gradle.kts | 13 --------- ...tlin-jvm-common-app-conventions.gradle.kts | 29 ------------------- ...lin-jvm-library-app-conventions.gradle.kts | 13 --------- .../main/kotlin/VersionsAndDependencies.kt | 2 +- 5 files changed, 2 insertions(+), 69 deletions(-) delete mode 100644 architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-application-app-conventions.gradle.kts delete mode 100644 architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-common-app-conventions.gradle.kts delete mode 100644 architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-library-app-conventions.gradle.kts diff --git a/architecture-common-gradle-plugins/build.gradle.kts b/architecture-common-gradle-plugins/build.gradle.kts index 8faa1fc..6c3925d 100644 --- a/architecture-common-gradle-plugins/build.gradle.kts +++ b/architecture-common-gradle-plugins/build.gradle.kts @@ -23,19 +23,7 @@ gradlePlugin { fun scriptConventionsPlugin(idSuffix: String, displayName: String, description: String = displayName) = scriptPlugin(`package`, idSuffix, displayName, description) - scriptConventionsPlugin( - "kotlin-jvm-common-app-conventions", - "Kotlin/JVM common app conventions" - ) - scriptConventionsPlugin( - "kotlin-jvm-application-app-conventions", - "Kotlin/JVM application app conventions" - ) - scriptConventionsPlugin( - "kotlin-jvm-library-app-conventions", - "Kotlin/JVM library app conventions" - ) - + // TODO consider removing these too scriptConventionsPlugin( "kotlin-multiplatform-app-conventions", "Kotlin Multiplatform app conventions" diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-application-app-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-application-app-conventions.gradle.kts deleted file mode 100644 index 9f14629..0000000 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-application-app-conventions.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -package com.huanshankeji - -/* - * This file was generated by the Gradle 'init' task. - */ - -plugins { - // Apply the common convention plugin for shared build configuration between library and application projects. - id("com.huanshankeji.kotlin-jvm-common-app-conventions") - - // Apply the application plugin to add support for building a CLI application in Java. - application -} diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-common-app-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-common-app-conventions.gradle.kts deleted file mode 100644 index 07d2a4f..0000000 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-common-app-conventions.gradle.kts +++ /dev/null @@ -1,29 +0,0 @@ -package com.huanshankeji - -plugins { - kotlin("jvm") -} - -dependencies { - implementation(platform(kotlin("bom"))) - - testImplementation(kotlin("test")) - with(commonDependencies.orgJunit.jupiter) { - testImplementation(apiWithVersion()) - testRuntimeOnly(engineWithoutVersion()) - } - - with(commonDependencies.kotlinx.coroutines) { - implementation(core()) - testImplementation(test()) - } -} - -tasks.test { - // Use junit platform for unit tests. - useJUnitPlatform() -} - -kotlin.sourceSets.all { - languageSettings.defaultOptIns() -} diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-library-app-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-library-app-conventions.gradle.kts deleted file mode 100644 index 6a5be43..0000000 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-jvm-library-app-conventions.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -package com.huanshankeji - -/* - * This file was generated by the Gradle 'init' task. - */ - -plugins { - // Apply the common convention plugin for shared build configuration between library and application projects. - id("com.huanshankeji.kotlin-jvm-common-app-conventions") - - // Apply the java-library plugin for API and implementation separation. - `java-library` -} diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index e46b266..695e7d8 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -13,7 +13,7 @@ object DependencyVersions { val binaryCompatibilityValidator = "0.16.3" } -val alignedPluginVersion = "0.7.1-kotlin-2.1.0-SNAPSHOT" +val alignedPluginVersion = "0.8.0-kotlin-2.1.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. From 8933fe2269c068719a08e31c8c49f2f1e9816719 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 18:12:30 +0800 Subject: [PATCH 38/50] Remove the Kotlin Multiplatform `*-app-conventions` plugins too --- .../build.gradle.kts | 14 ---------- ...efault-web-frontend-conventions.gradle.kts | 2 +- ...tions-with-conventional-targets.gradle.kts | 6 ----- ...n-multiplatform-app-conventions.gradle.kts | 27 ------------------- ...form-js-browser-app-conventions.gradle.kts | 6 ----- 5 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions-with-conventional-targets.gradle.kts delete mode 100644 architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions.gradle.kts delete mode 100644 architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-js-browser-app-conventions.gradle.kts diff --git a/architecture-common-gradle-plugins/build.gradle.kts b/architecture-common-gradle-plugins/build.gradle.kts index 6c3925d..daa46be 100644 --- a/architecture-common-gradle-plugins/build.gradle.kts +++ b/architecture-common-gradle-plugins/build.gradle.kts @@ -23,20 +23,6 @@ gradlePlugin { fun scriptConventionsPlugin(idSuffix: String, displayName: String, description: String = displayName) = scriptPlugin(`package`, idSuffix, displayName, description) - // TODO consider removing these too - scriptConventionsPlugin( - "kotlin-multiplatform-app-conventions", - "Kotlin Multiplatform app conventions" - ) - scriptConventionsPlugin( - "kotlin-multiplatform-js-browser-app-conventions", - "Kotlin Multiplatform app conventions with the JS browser target" - ) - scriptConventionsPlugin( - "kotlin-multiplatform-app-conventions-with-conventional-targets", - "Kotlin Multiplatform app conventions with the conventional targets JVM, JS (browser), iOS (`iosX64`, `iosArm64`, and `iosSimulatorArm64`), and Wasm JS" - ) - scriptConventionsPlugin( "default-web-frontend-conventions", "Default web frontend conventions for our projects with Compose for Web and kotlinx.html HTML generation" diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts index cfea229..92c58f5 100644 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts +++ b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/default-web-frontend-conventions.gradle.kts @@ -1,7 +1,7 @@ package com.huanshankeji plugins { - id("com.huanshankeji.kotlin-multiplatform-js-browser-app-conventions") + id("com.huanshankeji.kotlin-multiplatform-js-browser-conventions") kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions-with-conventional-targets.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions-with-conventional-targets.gradle.kts deleted file mode 100644 index 682bb07..0000000 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions-with-conventional-targets.gradle.kts +++ /dev/null @@ -1,6 +0,0 @@ -package com.huanshankeji - -plugins { - id("com.huanshankeji.kotlin-multiplatform-app-conventions") - id("com.huanshankeji.kotlin-multiplatform-conventional-targets") -} diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions.gradle.kts deleted file mode 100644 index 4f4eefb..0000000 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-app-conventions.gradle.kts +++ /dev/null @@ -1,27 +0,0 @@ -package com.huanshankeji - -plugins { - kotlin("multiplatform") -} - -kotlin { - sourceSets { - val commonMain by getting { - dependencies { - //implementation(platform(kotlin("bom", kotlinVersion))) - implementation(commonDependencies.kotlinx.coroutines.core()) - } - } - - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - implementation(commonDependencies.kotlinx.coroutines.test()) - } - } - - all { - languageSettings.defaultOptIns() - } - } -} diff --git a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-js-browser-app-conventions.gradle.kts b/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-js-browser-app-conventions.gradle.kts deleted file mode 100644 index 38fc82a..0000000 --- a/architecture-common-gradle-plugins/src/main/kotlin/com/huanshankeji/kotlin-multiplatform-js-browser-app-conventions.gradle.kts +++ /dev/null @@ -1,6 +0,0 @@ -package com.huanshankeji - -plugins { - id("com.huanshankeji.kotlin-multiplatform-app-conventions") - id("com.huanshankeji.kotlin-multiplatform-js-browser-conventions") -} From 431bd01d66d376b49817b8f074f58237886eb063 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 18:14:54 +0800 Subject: [PATCH 39/50] Run `apiDump` --- .../architecture-common-gradle-plugins.api | 66 ------------------- 1 file changed, 66 deletions(-) diff --git a/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api b/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api index 6c9c584..57ecb6c 100644 --- a/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api +++ b/architecture-common-gradle-plugins/api/architecture-common-gradle-plugins.api @@ -43,72 +43,6 @@ public final class com/huanshankeji/GenerateKotlinJsBrowserWebrootForVertxWebPlu public final synthetic fun execute (Ljava/lang/Object;)V } -public final class com/huanshankeji/KotlinJvmApplicationAppConventionsPlugin : org/gradle/api/Plugin { - public fun ()V - public synthetic fun apply (Ljava/lang/Object;)V - public fun apply (Lorg/gradle/api/Project;)V -} - -public final class com/huanshankeji/KotlinJvmCommonAppConventionsPlugin : org/gradle/api/Plugin { - public fun ()V - public synthetic fun apply (Ljava/lang/Object;)V - public fun apply (Lorg/gradle/api/Project;)V -} - -public final class com/huanshankeji/KotlinJvmLibraryAppConventionsPlugin : org/gradle/api/Plugin { - public fun ()V - public synthetic fun apply (Ljava/lang/Object;)V - public fun apply (Lorg/gradle/api/Project;)V -} - -public final class com/huanshankeji/KotlinMultiplatformAppConventionsPlugin : org/gradle/api/Plugin { - public fun ()V - public synthetic fun apply (Ljava/lang/Object;)V - public fun apply (Lorg/gradle/api/Project;)V -} - -public final class com/huanshankeji/KotlinMultiplatformAppConventionsWithConventionalTargetsPlugin : org/gradle/api/Plugin { - public fun ()V - public synthetic fun apply (Ljava/lang/Object;)V - public fun apply (Lorg/gradle/api/Project;)V -} - -public final class com/huanshankeji/KotlinMultiplatformJsBrowserAppConventionsPlugin : org/gradle/api/Plugin { - public fun ()V - public synthetic fun apply (Ljava/lang/Object;)V - public fun apply (Lorg/gradle/api/Project;)V -} - -public final class com/huanshankeji/Kotlin_jvm_application_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { - public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V - public static final fun main ([Ljava/lang/String;)V -} - -public final class com/huanshankeji/Kotlin_jvm_common_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { - public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V - public static final fun main ([Ljava/lang/String;)V -} - -public final class com/huanshankeji/Kotlin_jvm_library_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { - public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V - public static final fun main ([Ljava/lang/String;)V -} - -public final class com/huanshankeji/Kotlin_multiplatform_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { - public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V - public static final fun main ([Ljava/lang/String;)V -} - -public final class com/huanshankeji/Kotlin_multiplatform_app_conventions_with_conventional_targets_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { - public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V - public static final fun main ([Ljava/lang/String;)V -} - -public final class com/huanshankeji/Kotlin_multiplatform_js_browser_app_conventions_gradle : org/gradle/kotlin/dsl/precompile/v1/PrecompiledProjectScript { - public fun (Lorg/gradle/api/Project;Lorg/gradle/api/Project;)V - public static final fun main ([Ljava/lang/String;)V -} - public final class com/huanshankeji/OptInsKt { public static final fun defaultOptIns (Lorg/jetbrains/kotlin/gradle/plugin/LanguageSettingsBuilder;)V } From e3c03d7fa2ad314413c8dce6e2ed4d22311567ec Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 20:48:50 +0800 Subject: [PATCH 40/50] Remove "kotlin-2.1.0" in the project versions for the merge --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 695e7d8..5247b78 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -13,11 +13,11 @@ object DependencyVersions { val binaryCompatibilityValidator = "0.16.3" } -val alignedPluginVersion = "0.8.0-kotlin-2.1.0-SNAPSHOT" +val alignedPluginVersion = "0.8.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. -val commonGradleDependenciesVersion = "0.8.0-20241201-kotlin-2.1.0-SNAPSHOT" +val commonGradleDependenciesVersion = "0.8.0-20241201-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { From dc5363f2caf032365834dc4fe612f97322fc1b71 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 21:00:04 +0800 Subject: [PATCH 41/50] Bump Compose Multiplatform to v1.7.1 --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 5247b78..0c406c2 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -7,7 +7,7 @@ val commonGradleClasspathDependencies = CommonGradleClasspathDependencies(common object DependencyVersions { val kotlin = "2.1.0" // compatible with the compose version below - val composeMultiplatform = "1.7.0" + val composeMultiplatform = "1.7.1" val kotlinxBenchmark = "0.4.13" val dokka = "2.0.0-Beta" val binaryCompatibilityValidator = "0.16.3" From dab2962785b947d425a8e59d2de11c94c518c8fd Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 21:11:18 +0800 Subject: [PATCH 42/50] Add change log for v0.8.0 --- PLUGINS_CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/PLUGINS_CHANGELOG.md b/PLUGINS_CHANGELOG.md index 21ce0a9..442a340 100644 --- a/PLUGINS_CHANGELOG.md +++ b/PLUGINS_CHANGELOG.md @@ -1,5 +1,12 @@ # "Gradle plugins" change log +## v0.8.0 / 2024-12-03 + +* bump Kotlin to 2.1.0, Gradle to v8.1.11, kotlinx-benchmark to v0.4.13, and Compose Multiplatform to v1.7.1 +* remove the `*-app-conventions` plugins that are not necessary and buggy + + The JVM dependency configuration line `implementation(platform(kotlin("bom")))` without a Kotlin version has introduced "Could not parse POM" build error in projects consuming the `kotlin-jvm-*-app-conventions` plugins + ## v0.7.0 / 2024-11-20 * do not configure the signing DSL at all when the version is a snapshot in the `com.huanshankeji.sonatype-ossrh-publish` plugin, so `publishToMavenLocal` becomes significantly faster From cbec1d1c724fd40f6933775d3342febee21163f6 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 21:22:43 +0800 Subject: [PATCH 43/50] Fix a typo --- buildSrc/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 520ca0f..4ef0284 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { // for `KotlinCompilationTask` and the version is compatible with Compose 1.6.11 // With Kotlin 2.0.20, a "Could not parse POM" build error occurs in the JVM projects of some dependent projects. implementation(kotlin("gradle-plugin", "2.1.0")) - implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:5.1.1") // This version has to be used for Gradle 8.11.2. + implementation("org.gradle.kotlin:gradle-kotlin-dsl-plugins:5.1.1") // This version has to be used for Gradle 8.11.1. implementation("com.gradle.publish:plugin-publish-plugin:1.3.0") From 80819c9bf22587ec174ec226d2e012b82a80c65f Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Tue, 3 Dec 2024 21:50:54 +0800 Subject: [PATCH 44/50] Bump the versions and add one for kotlinx-io in `CommonVersions` --- .../main/kotlin/VersionsAndDependencies.kt | 2 +- .../kotlin/com/huanshankeji/CommonVersions.kt | 28 ++++++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 0c406c2..7df9fcf 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -17,7 +17,7 @@ val alignedPluginVersion = "0.8.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. -val commonGradleDependenciesVersion = "0.8.0-20241201-SNAPSHOT" +val commonGradleDependenciesVersion = "0.9.0-20241203-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { diff --git a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt index 6169c00..d2794c5 100644 --- a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt +++ b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonVersions.kt @@ -1,31 +1,33 @@ package com.huanshankeji +import GeneratedVersions + class CommonVersions( val kotlin: String = GeneratedVersions.kotlin, - val kotlinCommon: String = "0.4.0", + val kotlinCommon: String = "0.5.1", val kotlinxCoroutines: String = "1.9.0", val kotlinxHtml: String = "0.11.0", - val kotlinxSerialization: String = "1.7.1", // "1.7.2" and "1.7.3" use Kotlin 2.0.20 and seem to cause problems with Kotlin 2.0.10 builds. + val kotlinxSerialization: String = "1.7.3", val kotlinxDatetime: String = "0.6.1", val kotlinxBenchmark: String = GeneratedVersions.kotlinxBenchmark, - // TODO `kotlinxIo` + val kotlinxIo: String = "0.6.0", val exposed: String = "0.56.0", - val ktor: String = "2.3.12", // "3.0.0" uses Kotlin 2.0.20 too. + val ktor: String = "3.0.1", val androidx: Androidx = Androidx(), - val vertx: String = "4.5.10", - val arrow: String = "1.2.4", - val orgJunit: String = "5.11.2", // JUnit 5 actually - val kotest: String = "5.9.1", // v6.0.0.M1 is available already + val vertx: String = "4.5.11", // "5.0.0.CR2" is available but it's used here yet. See https://vertx.io/docs/guides/vertx-5-migration-guide/. + val arrow: String = "2.0.0-rc.1", + val orgJunit: String = "5.11.3", // JUnit 5 actually + val kotest: String = "6.0.0.M1", // v6.0.0.M1 is available already val postgreSql: String = "42.7.4", val slf4j: String = "1.7.36", // TODO: consider replacing with kotlin-logging (https://github.com/oshai/kotlin-logging) - val testContainers: String = "1.20.2" + val testContainers: String = "1.20.4" ) { class JetbrainsAndroidx( val composeMultiplatform: String = GeneratedVersions.composeMultiplatform, // this is usually only used in classpath dependencies - val lifecycle: String = "2.8.3", + val lifecycle: String = "2.8.4", val navigation: String = "2.8.0-alpha10", ) @@ -40,9 +42,9 @@ class CommonVersions( ) { class Compose( val compiler: String = "1.5.15", - val common: String = "1.7.4", // for "animation", "foundation", "material","runtime", and "ui" - val material3: String = "1.3.0", - val material3Adaptive: String = "1.0.0" + val common: String = "1.7.5", // for "animation", "foundation", "material","runtime", and "ui" + val material3: String = "1.3.1", + val material3Adaptive: String = "1.0.0" // This version is not available yet. I don't remember why I added this. Maybe it's for the future. ) } } \ No newline at end of file From 12e838486c50be5fc72f6c3ddb73826cc5492193 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Wed, 4 Dec 2024 20:22:45 +0800 Subject: [PATCH 45/50] Remove redundant qualifier name --- .../src/main/kotlin/com/huanshankeji/CommonDependencies.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonDependencies.kt b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonDependencies.kt index ab7a045..3e654c8 100644 --- a/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonDependencies.kt +++ b/common-gradle-dependencies/src/main/kotlin/com/huanshankeji/CommonDependencies.kt @@ -138,7 +138,7 @@ class CommonDependencies(val versions: CommonVersions = CommonVersions()) { // TODO consider refactoring other inner classes to this architecture too class JetbrainsAndroidx(defaultVersions: CommonVersions.JetbrainsAndroidx) { - interface Subgroup : CommonDependencies.SubgroupWithNameInArtifact { + interface Subgroup : SubgroupWithNameInArtifact { override val groupPrefix: String get() = "org.jetbrains.androidx" } From a5328b8019933e23f354686fe8fd8be58319eed1 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Wed, 4 Dec 2024 20:42:18 +0800 Subject: [PATCH 46/50] Add a section in README.md about "common Gradle dependencies" and its incompatibility issue --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index b865a26..d3b535e 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,12 @@ configurations.all { } ``` +## Common Gradle dependencies + +The `common-gradle-dependenicies` module includes dependencies and their versions that we use in our projects. + +Please note that this project often has breaking/incompatible changes, and the Gradle plugin modules depend on a certain version of `common-gradle-dependenicies` as its library dependency. If you use both the Gradle plugins and `common-gradle-dependenicies` in your project and encounter `java.lang.NoClassDefFoundError` when loading your Gradle build, please consider updating them to matching versions. + ## Developer notices 1. IntelliJ IDEA doesn't work well with applying plugins to script plugins in project sources. If a script plugin's code does not resolve, try restarting IntelliJ IDEA. From 528f7b1f96de35df395e4d96a61d71743ce501bd Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Wed, 4 Dec 2024 20:45:03 +0800 Subject: [PATCH 47/50] Bump `pluginProjectSourceDependentStableCommonGradleDependenciesVersion` --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 6 +++--- buildSrc/src/main/kotlin/conventions.gradle.kts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 7df9fcf..8da7a50 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -13,13 +13,13 @@ object DependencyVersions { val binaryCompatibilityValidator = "0.16.3" } -val alignedPluginVersion = "0.8.0-SNAPSHOT" +val alignedPluginVersion = "0.9.0-SNAPSHOT" // "x.y.z" indicates the version of the way of organizing the code, // and the date indicates the version when the dependency versions are updated. val commonGradleDependenciesVersion = "0.9.0-20241203-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". -val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { - require(!endsWith("SNAPSHOT")) +val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.9.0-20241203-SNAPSHOT".apply { + //require(!endsWith("SNAPSHOT")) // TODO comment this out when debugging and testing snapshots } diff --git a/buildSrc/src/main/kotlin/conventions.gradle.kts b/buildSrc/src/main/kotlin/conventions.gradle.kts index d7a893e..a830671 100644 --- a/buildSrc/src/main/kotlin/conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/conventions.gradle.kts @@ -8,7 +8,7 @@ plugins { } repositories { - //mavenLocal() // comment out when not needed + mavenLocal() // TODO comment out when not needed gradlePluginPortal() } From cb6055c7235e7d2bbfec6ba5997f1d736360b60f Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Wed, 4 Dec 2024 20:47:12 +0800 Subject: [PATCH 48/50] Run `apiDump` --- .../api/common-gradle-dependencies.api | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common-gradle-dependencies/api/common-gradle-dependencies.api b/common-gradle-dependencies/api/common-gradle-dependencies.api index 994cd88..1e5449a 100644 --- a/common-gradle-dependencies/api/common-gradle-dependencies.api +++ b/common-gradle-dependencies/api/common-gradle-dependencies.api @@ -332,8 +332,8 @@ public final class com/huanshankeji/CommonGradleDependenciesDummyPluginPlugin : public final class com/huanshankeji/CommonVersions { public fun ()V - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/huanshankeji/CommonVersions$Androidx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun getAndroidx ()Lcom/huanshankeji/CommonVersions$Androidx; public final fun getArrow ()Ljava/lang/String; public final fun getComposeMultiplatform ()Ljava/lang/String; @@ -346,6 +346,7 @@ public final class com/huanshankeji/CommonVersions { public final fun getKotlinxCoroutines ()Ljava/lang/String; public final fun getKotlinxDatetime ()Ljava/lang/String; public final fun getKotlinxHtml ()Ljava/lang/String; + public final fun getKotlinxIo ()Ljava/lang/String; public final fun getKotlinxSerialization ()Ljava/lang/String; public final fun getKtor ()Ljava/lang/String; public final fun getOrgJunit ()Ljava/lang/String; From 55229b12a7ecdd8caff60cd3f377ddaa21255d1e Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Thu, 5 Dec 2024 00:11:43 +0800 Subject: [PATCH 49/50] Add change log for common-gradle-dependencies v0.9.0-20241203 --- COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md b/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md index 8675ef2..520da98 100644 --- a/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md +++ b/COMMON_GRADLE_DEPENDENCIES_CHANGELOG.md @@ -1,6 +1,11 @@ # "common-gradle-dependencies" change log +## v0.9.0-20241203 / 2024-12-5 + +* bump the dependency versions in `CommonVersions` to the latest as of Dec 3, 2024 (including pre-release versions except for Vert.x 5) +* add a version for kotlinx-io + ## v0.8.0-20241016 / 2024-10-18 -* bump the dependency versions in CommonVersions to the latest compatible with Kotlin 2.0.10 as of Oct 16, 2024 +* bump the dependency versions in `CommonVersions` to the latest compatible with Kotlin 2.0.10 as of Oct 16, 2024 * add some dependencies and versions of "androidx" and "org.jetbrains.androidx" From 2924b8ebab7d3e6006692db4676c5b35a279e994 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Thu, 5 Dec 2024 00:29:47 +0800 Subject: [PATCH 50/50] Revert `pluginProjectSourceDependentStableCommonGradleDependenciesVersion` to the released stable version temporarily so the build can resolve in CI --- buildSrc/src/main/kotlin/VersionsAndDependencies.kt | 5 +++-- buildSrc/src/main/kotlin/conventions.gradle.kts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt index 8da7a50..b8e7753 100644 --- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt +++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt @@ -20,6 +20,7 @@ val alignedPluginVersion = "0.9.0-SNAPSHOT" val commonGradleDependenciesVersion = "0.9.0-20241203-SNAPSHOT" // This is the source dependency version. There is another build source dependency in "buildSrc/build.gradle.kts". -val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.9.0-20241203-SNAPSHOT".apply { - //require(!endsWith("SNAPSHOT")) // TODO comment this out when debugging and testing snapshots +// TODO bump this when it's released +val pluginProjectSourceDependentStableCommonGradleDependenciesVersion = "0.8.0-20241016".apply { + require(!endsWith("SNAPSHOT")) // comment this out when debugging and testing snapshots } diff --git a/buildSrc/src/main/kotlin/conventions.gradle.kts b/buildSrc/src/main/kotlin/conventions.gradle.kts index a830671..d7a893e 100644 --- a/buildSrc/src/main/kotlin/conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/conventions.gradle.kts @@ -8,7 +8,7 @@ plugins { } repositories { - mavenLocal() // TODO comment out when not needed + //mavenLocal() // comment out when not needed gradlePluginPortal() }