diff --git a/.editorconfig b/.editorconfig index 57f85912..8d82ba10 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,7 +13,7 @@ end_of_line = lf max_line_length = 140 indent_size = 2 tab_width = 2 -ij_continuation_indent_size = 4 +ij_continuation_indent_size = 2 trim_trailing_whitespace = true insert_final_newline = true diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bc2a769..9782ec92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - bump Android Gradle Plugin from _8.3.2_ to _8.4.0_ (compile-only dependency) in https://github.com/fluxo-kt/fluxo-kmp-conf/pull/48. - bump [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) from _0.3.15_ to _0.3.20_ in https://github.com/fluxo-kt/fluxo-kmp-conf/pull/53. - bump [binary-compatibility-validator-js](https://github.com/fluxo-kt/fluxo-bcv-js) from _0.2.0_ to _0.3.0_ in https://github.com/fluxo-kt/fluxo-kmp-conf/pull/52. +- bump [proguard-core](https://github.com/Guardsquare/proguard-core) from _9.1.2_ to _9.1.3_ in https://github.com/fluxo-kt/fluxo-kmp-conf/pull/49. ## [0.8.0] - 2024-04-22 diff --git a/checks/gradle-plugin/pg/proguard.pro b/checks/gradle-plugin/pg/proguard.pro index 040a0aa3..a9996212 100644 --- a/checks/gradle-plugin/pg/proguard.pro +++ b/checks/gradle-plugin/pg/proguard.pro @@ -9,4 +9,6 @@ # ProGuard-only configuration. -skipnonpubliclibraryclasses --keepkotlinmetadata +# The `-keepkotlinmetadata` option is deprecated and will be removed in a future ProGuard release. +# Please use `-keep class kotlin.Metadata` instead. +#-keepkotlinmetadata diff --git a/fluxo-kmp-conf/api/plugin.api b/fluxo-kmp-conf/api/plugin.api index c12a3526..f74cf3e0 100644 --- a/fluxo-kmp-conf/api/plugin.api +++ b/fluxo-kmp-conf/api/plugin.api @@ -617,5 +617,6 @@ public abstract interface class fluxo/conf/kmp/SourceSetBundle { public abstract fun getMain ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet; public fun getMoreTests ()[Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet; public abstract fun getTest ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet; + public synthetic fun invoke (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; } diff --git a/fluxo-kmp-conf/build.gradle.kts b/fluxo-kmp-conf/build.gradle.kts index 670b7472..dedcc02c 100644 --- a/fluxo-kmp-conf/build.gradle.kts +++ b/fluxo-kmp-conf/build.gradle.kts @@ -100,7 +100,7 @@ dependencies { testImplementation(libs.proguard.plugin) testImplementation(libs.proguard.core) testImplementation(libs.r8) - testImplementation(kotlin("test", libs.versions.kotlin.get())) + testImplementation(kotlin("test", libs.versions.kotlin.asProvider().get())) } tasks.test { @@ -180,6 +180,6 @@ buildConfig { } buildConfigField("PROGUARD_PLUGIN", libs.proguard.plugin) buildConfigField("PROGUARD_CORE", libs.proguard.core) - buildConfigField("KOTLINX_METADATA_JVM", libs.kotlinx.metadata.jvm) + buildConfigField("KOTLINX_METADATA_JVM", libs.kotlin.metadata.jvm) buildConfigField("R8", libs.r8) } diff --git a/fluxo-kmp-conf/dependencies/compileClasspath.txt b/fluxo-kmp-conf/dependencies/compileClasspath.txt index 9ae9cee5..a0371724 100644 --- a/fluxo-kmp-conf/dependencies/compileClasspath.txt +++ b/fluxo-kmp-conf/dependencies/compileClasspath.txt @@ -32,7 +32,7 @@ com.gradle.plugin-publish:com.gradle.plugin-publish.gradle.plugin:1.2.1 com.gradle.publish:plugin-publish-plugin:1.2.1 com.gradle:gradle-enterprise-gradle-plugin:3.16.2 com.guardsquare:proguard-base:7.4.2 -com.guardsquare:proguard-core:9.1.2 +com.guardsquare:proguard-core:9.1.3 com.guardsquare:proguard-gradle:7.4.2 com.louiscad.complete-kotlin:com.louiscad.complete-kotlin.gradle.plugin:1.1.0 com.louiscad.complete-kotlin:plugin:1.1.0 @@ -76,6 +76,7 @@ org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.23 org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.23 org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23 org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.23 +org.jetbrains.kotlin:kotlin-metadata-jvm:2.0.0-RC1 org.jetbrains.kotlin:kotlin-native-utils:1.9.23 org.jetbrains.kotlin:kotlin-project-model:1.9.23 org.jetbrains.kotlin:kotlin-sam-with-receiver:1.9.23 @@ -84,6 +85,5 @@ org.jetbrains.kotlin:kotlin-util-io:1.9.23 org.jetbrains.kotlin:kotlin-util-klib:1.9.23 org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin:0.14.0 org.jetbrains.kotlinx:binary-compatibility-validator:0.14.0 -org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.6.2 org.ow2.asm:asm:9.7 org.tomlj:tomlj:1.1.1 diff --git a/fluxo-kmp-conf/detekt-baseline.xml b/fluxo-kmp-conf/detekt-baseline.xml index 0da81a15..0c32c5c5 100644 --- a/fluxo-kmp-conf/detekt-baseline.xml +++ b/fluxo-kmp-conf/detekt-baseline.xml @@ -133,6 +133,7 @@ ForbiddenComment:VerifyApiWithReflection.kt$// TODO: Check parent classes and interfaces. Indentation:DependencyUpdatesPlugin.kt.kt$ Indentation:FluxoConfigurationExtensionAndroidImpl.kt$FluxoConfigurationExtensionAndroidImpl$ + Indentation:MultiplatformSourceSetUtils.kt$ LongMethod:SetupAndroidLint.kt$internal fun Project.setupAndroidLint( conf: FluxoConfigurationExtensionImpl, ignoredBuildTypes: List<String>, ignoredFlavors: List<String>, ) LongMethod:SetupPublication.kt$context(FluxoKmpConfContext) private fun Project.setupPublicationRepositoryAndSigning( config: FluxoPublicationConfig, publishing: PublishingExtension, mavenRepo: Boolean = true, ) LongMethod:TestReportsMergeTask.kt$TestReportsMergeTask$@TaskAction fun merge() diff --git a/fluxo-kmp-conf/pg/keep-api-autogenerated.pro b/fluxo-kmp-conf/pg/keep-api-autogenerated.pro index b20c384b..2f235396 100644 --- a/fluxo-kmp-conf/pg/keep-api-autogenerated.pro +++ b/fluxo-kmp-conf/pg/keep-api-autogenerated.pro @@ -2,7 +2,7 @@ # ProGuard/R8 keep rules # Auto-generated by Fluxo task :generateShrinkerKeepRulesFromApi # From API reports (with sha256short): -# - api/plugin.api (94cb11d) +# - api/plugin.api (100e89b) # DO NOT EDIT MANUALLY! -keep,includedescriptorclasses public final class Fkc { @@ -613,5 +613,6 @@ public abstract org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet getMain(); public org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet[] getMoreTests(); public abstract org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet getTest(); + public synthetic java.lang.Object invoke(kotlin.jvm.functions.Function1); } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b5ba2725..2d6f9f18 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -129,13 +129,13 @@ proguard = "7.4.2" # ProGuardCORE, library to read, analyze, modify, and write JVM class files. # https://github.com/Guardsquare/proguard-core/releases # https://mvnrepository.com/artifact/com.guardsquare/proguard-core. -proguard-core = "9.1.2" +proguard-core = "9.1.3" # Kotlin JVM metadata manipulation library. # Used by ProGuardCORE. -# https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-metadata-jvm +# https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-metadata-jvm #noinspection GradleDependency. -kotlinx-metadata-jvm = "0.6.2" +kotlin-metadata-jvm = "2.0.0-RC1" # R8 is a Google's code shrinker, obfuscator, and optimizer. Targeted for Android. # https://mvnrepository.com/artifact/com.android.tools/r8?repo=google @@ -190,7 +190,7 @@ plugin-spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", ver proguard-plugin = { module = "com.guardsquare:proguard-gradle", version.ref = "proguard" } proguard-core = { module = "com.guardsquare:proguard-core", version.ref = "proguard-core" } -kotlinx-metadata-jvm = { module = "org.jetbrains.kotlinx:kotlinx-metadata-jvm", version.ref = "kotlinx-metadata-jvm" } +kotlin-metadata-jvm = { module = "org.jetbrains.kotlin:kotlin-metadata-jvm", version.ref = "kotlin-metadata-jvm" } r8 = { module = "com.android.tools:r8", version.ref = "r8" } asm = { module = "org.ow2.asm:asm", version.ref = "asm" } diff --git a/self/build.gradle.kts b/self/build.gradle.kts index 6b443c18..d5e8eb3f 100644 --- a/self/build.gradle.kts +++ b/self/build.gradle.kts @@ -138,7 +138,7 @@ buildConfig { } buildConfigField("PROGUARD_PLUGIN", libs.proguard.plugin) buildConfigField("PROGUARD_CORE", libs.proguard.core) - buildConfigField("KOTLINX_METADATA_JVM", libs.kotlinx.metadata.jvm) + buildConfigField("KOTLINX_METADATA_JVM", libs.kotlin.metadata.jvm) buildConfigField("R8", libs.r8) }