From faeeb198a28d078875983c58f8522344b935949e Mon Sep 17 00:00:00 2001 From: Guillermo Mazzola Date: Mon, 1 Sep 2025 12:42:30 +0200 Subject: [PATCH 1/2] Extended Gradle TOML support --- gradle-version-catalog/app/build.gradle | 4 ++-- gradle-version-catalog/app/libs.versions.toml | 2 ++ gradle-version-catalog/build.gradle | 4 ++-- .../gradle/google-libs.versions.toml | 6 ++++++ gradle-version-catalog/settings.gradle | 10 ++++++++-- 5 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 gradle-version-catalog/app/libs.versions.toml create mode 100644 gradle-version-catalog/gradle/google-libs.versions.toml diff --git a/gradle-version-catalog/app/build.gradle b/gradle-version-catalog/app/build.gradle index 049cc16a..08be559e 100644 --- a/gradle-version-catalog/app/build.gradle +++ b/gradle-version-catalog/app/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.android.application' + alias(googleLibs.plugins.android.application) id 'org.jetbrains.kotlin.android' } @@ -48,7 +48,7 @@ android { dependencies { - implementation 'androidx.core:core-ktx:1.7.0' + implementation appLibs.androidx.core implementation libs.lifecycleRuntimeKtx implementation libs.bundles.compose diff --git a/gradle-version-catalog/app/libs.versions.toml b/gradle-version-catalog/app/libs.versions.toml new file mode 100644 index 00000000..7634c111 --- /dev/null +++ b/gradle-version-catalog/app/libs.versions.toml @@ -0,0 +1,2 @@ +[libraries] +androidx-core = "androidx.core:core-ktx:1.7.0" diff --git a/gradle-version-catalog/build.gradle b/gradle-version-catalog/build.gradle index c3d3e58d..40a6bec7 100644 --- a/gradle-version-catalog/build.gradle +++ b/gradle-version-catalog/build.gradle @@ -9,8 +9,8 @@ buildscript { } plugins { - id 'com.android.application' version '7.3.1' apply false - id 'com.android.library' version '7.3.1' apply false + alias(googleLibs.plugins.android.application) apply false + alias(googleLibs.plugins.android.library) apply false id 'org.jetbrains.kotlin.android' version '1.7.0' apply false alias(libs.plugins.kotlinter) } diff --git a/gradle-version-catalog/gradle/google-libs.versions.toml b/gradle-version-catalog/gradle/google-libs.versions.toml new file mode 100644 index 00000000..65f71bfd --- /dev/null +++ b/gradle-version-catalog/gradle/google-libs.versions.toml @@ -0,0 +1,6 @@ +[versions] +agp = "7.3.1" + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } diff --git a/gradle-version-catalog/settings.gradle b/gradle-version-catalog/settings.gradle index 84159c48..8a9780d3 100644 --- a/gradle-version-catalog/settings.gradle +++ b/gradle-version-catalog/settings.gradle @@ -1,5 +1,3 @@ -import org.gradle.api.initialization.resolve.RepositoriesMode - pluginManagement { repositories { google() @@ -14,6 +12,14 @@ dependencyResolutionManagement { mavenCentral() maven { url 'https://jitpack.io' } } + versionCatalogs { + create("googleLibs") { + from(files("gradle/google-libs.versions.toml")) + } + create("appLibs") { + from(files("app/libs.versions.toml")) + } + } } rootProject.name = "VersionCatalog" include ':app' From a001b9550a819462d18bfc24aa0a90000d9ee5a7 Mon Sep 17 00:00:00 2001 From: Guillermo Mazzola Date: Mon, 1 Sep 2025 15:30:26 +0200 Subject: [PATCH 2/2] Updated `smoke-gradle-version-catalog.yaml` --- tests/smoke-gradle-version-catalog.yaml | 394 +++++++++--------------- 1 file changed, 152 insertions(+), 242 deletions(-) diff --git a/tests/smoke-gradle-version-catalog.yaml b/tests/smoke-gradle-version-catalog.yaml index 04fc4db2..0f04ded9 100644 --- a/tests/smoke-gradle-version-catalog.yaml +++ b/tests/smoke-gradle-version-catalog.yaml @@ -48,12 +48,9 @@ input: version-requirement: '>3.13.0' source: provider: github - repo: dependabot/smoke-tests + repo: gmazzo/dependabot-smoke-tests directory: /gradle-version-catalog/ - commit: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 - credentials-metadata: - - host: github.com - type: git_source + commit: 8bc960855eb981c542bdb69a39cad446063187d2 credentials: - host: github.com password: $LOCAL_GITHUB_ACCESS_TOKEN @@ -64,42 +61,46 @@ output: expect: data: dependencies: - - name: com.android.application + - name: org.jetbrains.kotlin.android requirements: - file: build.gradle groups: - plugins - requirement: 7.3.1 + requirement: 1.7.0 source: null - version: 7.3.1 - - name: com.android.library + version: 1.7.0 + - name: com.android.application requirements: - - file: build.gradle + - file: gradle/google-libs.versions.toml groups: - plugins + metadata: + property_name: agp requirement: 7.3.1 source: null version: 7.3.1 - - name: org.jetbrains.kotlin.android + - name: com.android.library requirements: - - file: build.gradle + - file: gradle/google-libs.versions.toml groups: - plugins - requirement: 1.7.0 + metadata: + property_name: agp + requirement: 7.3.1 source: null - version: 1.7.0 + version: 7.3.1 - name: androidx.core:core-ktx requirements: - - file: app/build.gradle - groups: [] - requirement: 1.7.0 - source: null - file: gradle/libs.versions.toml groups: [] metadata: property_name: corektx requirement: 1.7.0 source: null + - file: app/libs.versions.toml + groups: [] + requirement: 1.7.0 + source: null version: 1.7.0 - name: androidx.lifecycle:lifecycle-runtime-ktx requirements: @@ -200,122 +201,14 @@ output: dependency_files: - /gradle-version-catalog/build.gradle - /gradle-version-catalog/settings.gradle + - /gradle-version-catalog/gradle/google-libs.versions.toml - /gradle-version-catalog/gradle/libs.versions.toml + - /gradle-version-catalog/app/libs.versions.toml - /gradle-version-catalog/app/build.gradle - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 - dependencies: - - name: com.android.application - previous-requirements: - - file: build.gradle - groups: - - plugins - requirement: 7.3.1 - source: null - previous-version: 7.3.1 - requirements: - - file: build.gradle - groups: - - plugins - requirement: 7.4.2 - source: - type: maven_repo - url: https://maven.google.com - version: 7.4.2 - directory: /gradle-version-catalog - updated-dependency-files: - - content: | - buildscript { - allprojects { - repositories { - google() - mavenCentral() - maven { url 'https://jitpack.io' } - } - } - } - - plugins { - id 'com.android.application' version '7.4.2' apply false - id 'com.android.library' version '7.3.1' apply false - id 'org.jetbrains.kotlin.android' version '1.7.0' apply false - alias(libs.plugins.kotlinter) - } - content_encoding: utf-8 - deleted: false - directory: /gradle-version-catalog - name: build.gradle - operation: update - support_file: false - type: file - pr-title: Bump com.android.application from 7.3.1 to 7.4.2 in /gradle-version-catalog - pr-body: | - Bumps com.android.application from 7.3.1 to 7.4.2. - commit-message: |- - Bump com.android.application in /gradle-version-catalog - - Bumps com.android.application from 7.3.1 to 7.4.2. - - type: create_pull_request - expect: - data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 - dependencies: - - name: com.android.library - previous-requirements: - - file: build.gradle - groups: - - plugins - requirement: 7.3.1 - source: null - previous-version: 7.3.1 - requirements: - - file: build.gradle - groups: - - plugins - requirement: 7.4.2 - source: - type: maven_repo - url: https://maven.google.com - version: 7.4.2 - directory: /gradle-version-catalog - updated-dependency-files: - - content: | - buildscript { - allprojects { - repositories { - google() - mavenCentral() - maven { url 'https://jitpack.io' } - } - } - } - - plugins { - id 'com.android.application' version '7.3.1' apply false - id 'com.android.library' version '7.4.2' apply false - id 'org.jetbrains.kotlin.android' version '1.7.0' apply false - alias(libs.plugins.kotlinter) - } - content_encoding: utf-8 - deleted: false - directory: /gradle-version-catalog - name: build.gradle - operation: update - support_file: false - type: file - pr-title: Bump com.android.library from 7.3.1 to 7.4.2 in /gradle-version-catalog - pr-body: | - Bumps com.android.library from 7.3.1 to 7.4.2. - commit-message: |- - Bump com.android.library from 7.3.1 to 7.4.2 in /gradle-version-catalog - - Bumps com.android.library from 7.3.1 to 7.4.2. - - type: create_pull_request - expect: - data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: org.jetbrains.kotlin.android previous-requirements: @@ -348,8 +241,8 @@ output: } plugins { - id 'com.android.application' version '7.3.1' apply false - id 'com.android.library' version '7.3.1' apply false + alias(googleLibs.plugins.android.application) apply false + alias(googleLibs.plugins.android.library) apply false id 'org.jetbrains.kotlin.android' version '1.8.10' apply false alias(libs.plugins.kotlinter) } @@ -436,54 +329,56 @@ output:
Changelog -

Sourced from org.jetbrains.kotlin.android's changelog.

+

Sourced from org.jetbrains.kotlin.android's changelog.

-

1.8.21

+

1.8.10

Compiler

    -
  • KT-57848 Native: compilation of dynamic/static library fails with Xcode 14.3
  • -
  • KT-57875 Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA
  • -
  • KT-57946 KAPT: "RuntimeException: No type for expression" with delegate
  • +
  • KT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
  • +
  • KT-55729 "None of the following functions can be called with the arguments supplied:" in 1.8.0
  • +
  • KT-55769 "ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0
  • +
  • KT-55308 InnerClass attributes should be sorted (innermost last)

JavaScript

    -
  • KT-57356 KJS: StackOverflowException on @​JsExport with type parameters referring to one another
  • +
  • KT-56282 KJS: Invalidate incremental cache in case of compiler internal errors
  • +
  • KT-55852 JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type
  • +
  • KT-55716 KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0
  • +
  • KT-55758 KJS / IR: Checking implemented interface on a class implementing a @​JsExport interface returns the wrong result
  • +
+

Reflection

+
    +
  • KT-56093 Metaspace leak in a Gradle plugin built with Kotlin 1.8.0

Tools. Compiler plugins. Serialization

    -
  • KT-58067 Serialization: NullPointerException caused by @​Contextual property with type with generic
  • -
  • KT-57730 Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java type
  • +
  • KT-56347 [Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error
  • +
  • KT-55681 Serialization: NullPointerException after update to 1.8.0 caused by @Serializer(forClass= ..)
  • +
  • KT-56244 kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
  • +
  • KT-55683 Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object
  • +
  • KT-55682 Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
-

Tools. Gradle. JS

+

Tools. Gradle

    -
  • KT-57766 KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"
  • +
  • KT-55697 KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
-

Tools. Kapt

+

Tools. Gradle. Multiplatform

    -
  • KT-58027 Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"
  • +
  • KT-55730 MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
-

Tools. Maven

+

Tools. Gradle. Native

    -
  • KT-58048 Maven: "Too many source module declarations found" after upgrading to 1.8.20
  • -
  • KT-58101 'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20
  • +
  • KT-56280 Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
-

1.8.20

-

Analysis API

+

Tools. Kapt

    -
  • KT-55510 K2: Lost designation for local classes
  • -
  • KT-55191 AA: add an API to compare symbol pointers
  • -
  • KT-55487 K2: symbol pointer restoring doesn't work for static members
  • -
  • KT-55336 K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project
  • -
  • KT-55098 AA: KtDeclarationRenderer should render a context receivers
  • -
  • KT-51181 LL API: errors for SAM with suspend function from another module
  • -
  • KT-50250 Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression
  • -
  • KT-54360 KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
  • +
  • KT-48013 Kapt generates illegal stubs for private interface methods
-

Analysis API. FE1.0

+

1.8.0-RC2

+

Compiler

    -
  • KT-55825 AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
  • +
  • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
-

Analysis API. FIR

... (truncated)

@@ -510,37 +405,115 @@ output: Bumps [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) from 1.7.0 to 1.8.10. - [Release notes](https://github.com/JetBrains/kotlin/releases) - - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) + - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.8.10/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.0...v1.8.10) - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - - name: androidx.core:core-ktx + - name: com.android.application previous-requirements: - - file: app/build.gradle - groups: [] - requirement: 1.7.0 + - file: gradle/google-libs.versions.toml + groups: + - plugins + metadata: + property_name: agp + requirement: 7.3.1 + source: null + previous-version: 7.3.1 + requirements: + - file: gradle/google-libs.versions.toml + groups: + - plugins + metadata: + property_name: agp + requirement: 7.4.2 + source: + type: maven_repo + url: https://maven.google.com + version: 7.4.2 + directory: /gradle-version-catalog + - name: com.android.library + previous-requirements: + - file: gradle/google-libs.versions.toml + groups: + - plugins + metadata: + property_name: agp + requirement: 7.3.1 source: null + previous-version: 7.3.1 + requirements: + - file: gradle/google-libs.versions.toml + groups: + - plugins + metadata: + property_name: agp + requirement: 7.4.2 + source: + type: maven_repo + url: https://maven.google.com + version: 7.4.2 + directory: /gradle-version-catalog + updated-dependency-files: + - content: | + [versions] + agp = "7.4.2" + + [plugins] + android-application = { id = "com.android.application", version.ref = "agp" } + android-library = { id = "com.android.library", version.ref = "agp" } + content_encoding: utf-8 + deleted: false + directory: /gradle-version-catalog + name: gradle/google-libs.versions.toml + operation: update + support_file: false + type: file + pr-title: Bump agp from 7.3.1 to 7.4.2 in /gradle-version-catalog + pr-body: | + Bumps `agp` from 7.3.1 to 7.4.2. + Updates `com.android.application` from 7.3.1 to 7.4.2 + + Updates `com.android.library` from 7.3.1 to 7.4.2 + commit-message: |- + Bump agp from 7.3.1 to 7.4.2 in /gradle-version-catalog + + Bumps `agp` from 7.3.1 to 7.4.2. + + Updates `com.android.application` from 7.3.1 to 7.4.2 + + Updates `com.android.library` from 7.3.1 to 7.4.2 + - type: create_pull_request + expect: + data: + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 + dependencies: + - name: androidx.core:core-ktx + previous-requirements: - file: gradle/libs.versions.toml groups: [] metadata: property_name: corektx requirement: 1.7.0 source: null + - file: app/libs.versions.toml + groups: [] + requirement: 1.7.0 + source: null previous-version: 1.7.0 requirements: - - file: app/build.gradle + - file: gradle/libs.versions.toml groups: [] + metadata: + property_name: corektx requirement: 1.9.0 source: type: maven_repo url: https://maven.google.com - - file: gradle/libs.versions.toml + - file: app/libs.versions.toml groups: [] - metadata: - property_name: corektx requirement: 1.9.0 source: type: maven_repo @@ -586,75 +559,12 @@ output: support_file: false type: file - content: | - plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' - } - - android { - namespace 'com.example.versioncatalog' - compileSdk 33 - - defaultConfig { - applicationId "com.example.versioncatalog" - minSdk 24 - targetSdk 33 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - vectorDrawables { - useSupportLibrary true - } - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = '1.8' - } - buildFeatures { - compose true - } - composeOptions { - kotlinCompilerExtensionVersion '1.2.0' - } - packagingOptions { - resources { - excludes += '/META-INF/{AL2.0,LGPL2.1}' - } - } - } - - dependencies { - - implementation 'androidx.core:core-ktx:1.9.0' - - implementation libs.lifecycleRuntimeKtx - implementation libs.bundles.compose - - testImplementation libs.test.junit - - androidTestImplementation libs.test.andoridx.junit - androidTestImplementation libs.test.espresso.core - androidTestImplementation libs.test.compose.ui - androidTestImplementation libs.test.compose.ui.tooling - - debugImplementation libs.test.compose.ui.tooling - debugImplementation libs.test.compose.manifest - } + [libraries] + androidx-core = "androidx.core:core-ktx:1.9.0" content_encoding: utf-8 deleted: false directory: /gradle-version-catalog - name: app/build.gradle + name: app/libs.versions.toml operation: update support_file: false type: file @@ -668,7 +578,7 @@ output: - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: androidx.lifecycle:lifecycle-runtime-ktx previous-requirements: @@ -738,7 +648,7 @@ output: - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: androidx.activity:activity-compose previous-requirements: @@ -804,7 +714,7 @@ output: - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: androidx.compose.ui:ui previous-requirements: @@ -973,7 +883,7 @@ output: - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: androidx.test.ext:junit previous-requirements: @@ -1043,7 +953,7 @@ output: - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: androidx.test.espresso:espresso-core previous-requirements: @@ -1113,7 +1023,7 @@ output: - type: create_pull_request expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2 dependencies: - name: org.jmailen.kotlinter previous-requirements: @@ -1181,4 +1091,4 @@ output: - type: mark_as_processed expect: data: - base-commit-sha: 943c1eaeb4ed9383ec77c0ffe95ec727c1f7c5e6 + base-commit-sha: 8bc960855eb981c542bdb69a39cad446063187d2