From 8324adc97b272f4d386db05c1e545e3701215be4 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Mon, 14 Oct 2024 12:06:08 -0400 Subject: [PATCH 1/2] Prepare for release 0.20.1. --- CHANGELOG.md | 10 +++++++++- gradle.properties | 2 +- .../foundry/gradle/FoundryProperties.kt | 20 +++++++++++-------- .../kotlin/foundry/gradle/GlobalConfig.kt | 4 ++-- .../kotlin/foundry/gradle/kgp/KgpTasks.kt | 2 +- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91e5062e2..a220e702a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,18 @@ Changelog **Unreleased** -------------- +0.20.1 +------ + +_2024-10-14_ + +- **Fix**: Fall back to old property name for kotlin JVM args if the new one isn't found. +- **Enhancement**: Don't try to apply kotlin JVM args if there are none. + 0.20.0 ------ -_2024-09-25_ +_2024-10-11_ ### Project Restructuring diff --git a/gradle.properties b/gradle.properties index 6c1e3fb9f..644cfd373 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,4 +48,4 @@ POM_DEVELOPER_ID=slackhq POM_DEVELOPER_NAME=Slack Technologies, Inc. POM_DEVELOPER_URL=https://github.com/slackhq POM_INCEPTION_YEAR=2022 -VERSION_NAME=0.20.0-SNAPSHOT +VERSION_NAME=0.20.1 diff --git a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt index 53c36c160..303d1725c 100644 --- a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryProperties.kt @@ -386,17 +386,21 @@ internal constructor( get() = optionalStringProperty("foundry.android.disabledVariants") /** - * The Slack-specific kotlin.daemon.jvmargs computed by bootstrap. + * The project-specific kotlin.daemon.jvmargs computed by bootstrap. * * We don't just blanket use `kotlin.daemon.jvmargs` alone because we don't want to pollute other * projects. */ - public val kotlinDaemonArgs: String + public val kotlinDaemonArgs: List? get() = - stringProperty( - KOTLIN_DAEMON_ARGS_KEY, - defaultValue = stringProperty(KOTLIN_DAEMON_ARGS_KEY_OLD, defaultValue = ""), - ) + optionalStringProperty( + KOTLIN_DAEMON_ARGS_KEY, + defaultValue = optionalStringProperty(KOTLIN_DAEMON_ARGS_KEY_OLD, defaultValue = null), + ) + ?.split(" ") + ?.map(String::trim) + ?.filterNot(String::isBlank) + ?.takeUnless(List<*>::isNotEmpty) /** * Flag to enable ciUnitTest on this project. Default is true. @@ -658,7 +662,7 @@ internal constructor( get() = resolver.booleanValue("foundry.artifacts.configure-eagerly", defaultValue = false) /** - * Force-disables Anvil regardless of `SlackExtension.dagger()` settings, useful for K2 testing + * Force-disables Anvil regardless of `FoundryExtension.dagger()` settings, useful for K2 testing * where Anvil is unsupported. */ public val disableAnvilForK2Testing: Boolean @@ -778,7 +782,7 @@ internal constructor( public companion object { /** - * The Slack-specific kotlin.daemon.jvmargs computed by bootstrap. + * The project-specific kotlin.daemon.jvmargs computed by bootstrap. * * We don't just blanket use `kotlin.daemon.jvmargs` alone because we don't want to pollute * other projects. diff --git a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt index 1f3394997..cbc6f6f7e 100644 --- a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/GlobalConfig.kt @@ -21,7 +21,7 @@ import org.gradle.jvm.toolchain.JvmVendorSpec /** Registry of global configuration info. */ public class GlobalConfig private constructor( - internal val kotlinDaemonArgs: List, + internal val kotlinDaemonArgs: List?, internal val errorProneCheckNamesAsErrors: List, internal val affectedProjects: Set?, internal val jvmVendor: JvmVendorSpec?, @@ -32,7 +32,7 @@ private constructor( check(project == project.rootProject) { "Project is not root project!" } val globalFoundryProperties = FoundryProperties(project) return GlobalConfig( - kotlinDaemonArgs = globalFoundryProperties.kotlinDaemonArgs.split(" "), + kotlinDaemonArgs = globalFoundryProperties.kotlinDaemonArgs, errorProneCheckNamesAsErrors = globalFoundryProperties.errorProneCheckNamesAsErrors?.split(":").orEmpty(), affectedProjects = diff --git a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt index e1b8b6946..37de8c004 100644 --- a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/kgp/KgpTasks.kt @@ -68,7 +68,7 @@ internal object KgpTasks { project.pluginManager.onFirst(KGP_PLUGINS) { val kotlinExtension = project.kotlinExtension kotlinExtension.apply { - kotlinDaemonJvmArgs = foundryTools.globalConfig.kotlinDaemonArgs + foundryTools.globalConfig.kotlinDaemonArgs?.let { kotlinDaemonJvmArgs = it } foundryProperties.versions.jdk.ifPresent { jdkVersion -> jvmToolchain { languageVersion.set(JavaLanguageVersion.of(jdkVersion)) From dd8cdb32da4ef132aaae1db8ffce8f0e1f76b25f Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Mon, 14 Oct 2024 12:07:39 -0400 Subject: [PATCH 2/2] Prepare next development version. --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 644cfd373..6c1e3fb9f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,4 +48,4 @@ POM_DEVELOPER_ID=slackhq POM_DEVELOPER_NAME=Slack Technologies, Inc. POM_DEVELOPER_URL=https://github.com/slackhq POM_INCEPTION_YEAR=2022 -VERSION_NAME=0.20.1 +VERSION_NAME=0.20.0-SNAPSHOT