From 0dfe624ee87067d28a89bd9b5555973778f0097d Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Thu, 30 Jan 2025 15:40:50 -0500 Subject: [PATCH] Prepare for release 0.24.2. --- CHANGELOG.md | 9 +++++++++ gradle.properties | 2 +- gradle/libs.versions.toml | 2 +- .../foundry/gradle/properties/PropertyResolver.kt | 4 +++- .../kotlin/foundry/gradle/AnnotationProcessing.kt | 7 ++++--- .../main/kotlin/foundry/gradle/FoundryProperties.kt | 12 ++++++++---- 6 files changed, 26 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f466d7f6c..64f34e5d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ Changelog **Unreleased** -------------- +0.24.2 +------ + +_2025-01-30_ + +- Fix loading of optional properties with defined default values. +- Update to Kotlin `2.1.10`. +- Build against KSP `2.1.10-1.0.29`. + 0.24.1 ------ diff --git a/gradle.properties b/gradle.properties index bc2dd8082..3c49a00ba 100644 --- a/gradle.properties +++ b/gradle.properties @@ -52,4 +52,4 @@ POM_DEVELOPER_ID=slackhq POM_DEVELOPER_NAME=Slack Technologies, Inc. POM_DEVELOPER_URL=https://github.com/slackhq POM_INCEPTION_YEAR=2022 -VERSION_NAME=1.0.0-SNAPSHOT +VERSION_NAME=0.24.2 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bb8421c0c..d0c1e5bc8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ jvmTarget = "17" jewel = "0.27.0" jna = "5.16.0" kaml = "0.67.0" -kotlin = "2.1.0" +kotlin = "2.1.10" kotlinx-serialization = "1.8.0" ksp = "2.1.10-1.0.29" kotlinPoet = "2.0.0" diff --git a/platforms/gradle/better-gradle-properties/src/main/kotlin/foundry/gradle/properties/PropertyResolver.kt b/platforms/gradle/better-gradle-properties/src/main/kotlin/foundry/gradle/properties/PropertyResolver.kt index eb46c5222..1a264037f 100644 --- a/platforms/gradle/better-gradle-properties/src/main/kotlin/foundry/gradle/properties/PropertyResolver.kt +++ b/platforms/gradle/better-gradle-properties/src/main/kotlin/foundry/gradle/properties/PropertyResolver.kt @@ -137,7 +137,9 @@ public class PropertyResolver( blankBehavior: BlankBehavior = BlankBehavior.ERROR, ): Provider { return providerFor(key) - .let { defaultValue?.let { providers.provider { defaultValue } } ?: it } + .let { provider -> + defaultValue?.let { provider.orElse(providers.provider { defaultValue }) } ?: provider + } .filter { when (blankBehavior) { BlankBehavior.FILTER -> { diff --git a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt index 78c064487..930ac8048 100644 --- a/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt +++ b/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/AnnotationProcessing.kt @@ -153,6 +153,7 @@ internal abstract class BasicAptOptionsConfig : AptOptionsConfig { configure { arguments { baseConfig.globalOptions(foundryProperties).forEach { (key, value) -> + logger.lifecycle("Adding kapt args to $path: $key=$value") arg(key, value) } } @@ -193,8 +194,8 @@ internal object AptOptionsConfigs { object Dagger : BasicAptOptionsConfig() { override val targetDependency: String = "dagger-compiler" - override fun globalOptions(foundryProperties: FoundryProperties): Map = - foundryProperties.daggerOptions.getOrElse(DEFAULT_ARGS) + override fun globalOptions(properties: FoundryProperties): Map = + properties.daggerOptions.getOrElse(DEFAULT_ARGS) private val DEFAULT_ARGS = mapOf( @@ -214,7 +215,7 @@ internal object AptOptionsConfigs { object Moshi : BasicAptOptionsConfig() { override val targetDependency: String = "moshi-kotlin-codegen" - override fun globalOptions(foundryProperties: FoundryProperties): Map = + override fun globalOptions(properties: FoundryProperties): Map = mapOf("moshi.generated" to "javax.annotation.Generated") } } 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 857368972..cdce417e4 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 @@ -735,10 +735,14 @@ internal constructor( */ public val daggerOptions: Provider> get() = - resolver.optionalStringProvider("foundry.dagger.options", defaultValue = "").map { value -> - if (value.isBlank()) return@map emptyMap() - value.splitToSequence(',').associate { kv -> kv.trim().split('=').let { it[0] to it[1] } } - } + resolver + .optionalStringProvider( + key = "foundry.dagger.options", + blankBehavior = PropertyResolver.BlankBehavior.FILTER, + ) + .map { value -> + value.splitToSequence(',').associate { kv -> kv.trim().split('=').let { it[0] to it[1] } } + } /** Overrides the kotlin language version if present. */ public val kaptLanguageVersion: Provider