Skip to content

Commit

Permalink
Merge pull request #20 from huanshankeji/kotlin-2.1.0-and-above
Browse files Browse the repository at this point in the history
Bump Kotlin to 2.1.0, Gradle to v8.11.1, and remove all the `app-conventions` plugins
  • Loading branch information
ShreckYe authored Dec 3, 2024
2 parents e9a89a6 + e3c03d7 commit a013225
Show file tree
Hide file tree
Showing 14 changed files with 10 additions and 196 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Original file line number Diff line number Diff line change
Expand Up @@ -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 <init> ()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 <init> ()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 <init> ()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 <init> ()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 <init> ()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 <init> ()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 <init> (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 <init> (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 <init> (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 <init> (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 <init> (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 <init> (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
}
Expand Down
26 changes: 0 additions & 26 deletions architecture-common-gradle-plugins/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,6 @@ 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"
)

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"
Expand Down
Original file line number Diff line number Diff line change
@@ -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")
}
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

4 changes: 2 additions & 2 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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.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("com.gradle.publish:plugin-publish-plugin:1.3.0")

Expand Down
8 changes: 4 additions & 4 deletions buildSrc/src/main/kotlin/VersionsAndDependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ 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"
}

val alignedPluginVersion = "0.7.1-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-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 {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.huanshankeji

@RequiresOptIn
@RequiresOptIn("This API is internal in this project.")
@Retention(AnnotationRetention.BINARY)
@Target(AnnotationTarget.PROPERTY)
annotation class InternalApi

0 comments on commit a013225

Please sign in to comment.