Rafs
07/02/2025, 10:11 PM--debug
flag to the build stage.
The environment is Java 17 and latest version of Kotlin and Compose
a problem occurred configuring project ':module-name'.
> Failed to notify project evaluation listener.
> Invalid version:
The error is very vague and I am struggling to figure out what version of what in particular is invalid. I am wondering if anyone has encountered this in the past.Hugo Costa
07/03/2025, 6:50 AM2.0.21
(don't ask) which is failing with
java.lang.NoSuchMethodError: 'org.gradle.api.provider.Provider org.gradle.api.provider.Provider.forUseAtConfigurationTime()'
at org.jetbrains.kotlin.gradle.plugin.internal.ConfigurationTimePropertiesAccessorG6.usedAtConfigurationTime(ConfigurationTimePropertiesAccessorG6.kt:19)
at org.jetbrains.kotlin.gradle.plugin.internal.ConfigurationTimePropertiesAccessorKt.usedAtConfigurationTime(ConfigurationTimePropertiesAccessor.kt:49)
at org.jetbrains.kotlin.gradle.utils.FileUtilsKt.getLocalProperties(fileUtils.kt:145)
at org.jetbrains.kotlin.gradle.internal.properties.PropertiesBuildService$Companion$registerIfAbsent$1.execute(PropertiesBuildService.kt:168)
at org.jetbrains.kotlin.gradle.internal.properties.PropertiesBuildService$Companion$registerIfAbsent$1.execute(PropertiesBuildService.kt:167)
Just want to confirm - is this a failure you'd expect in the gradle85
variant?Arjan van Wieringen
07/08/2025, 9:08 AMrunBlocking
to start the coroutine scope and initiate the client. I include the latest Coroutines Core dependency in my Gradle plugin build script.
When using this task in a target project I get the following error:
A problem occurred configuring project ':examples:asset-mapper'.
> Could not create task ':examples:asset-mapper:downloadCDNAssets'.
> kotlin/coroutines/jvm/internal/SpillingKt
....
Caused by: java.lang.NoClassDefFoundError: kotlin/coroutines/jvm/internal/SpillingKt
at nl.helicotech.ktorize.jsdelivr.JsDelivrClient.packageMetadata(JsDelivrClient.kt:91)
at nl.helicotech.ktorize.plugin.cdn.jsdelivr.JSDelivrDownloader$get$1.invokeSuspend(JSDelivrDownloader.kt:19)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
at nl.helicotech.ktorize.plugin.cdn.jsdelivr.JSDelivrDownloader.get(JSDelivrDownloader.kt:17)
at nl.helicotech.ktorize.plugin.cdn.Downloaders.get(Downloader.kt:16)
at nl.helicotech.ktorize.plugin.cdn.CDNPlugin.apply$lambda$3(CDNPlugin.kt:37)
at nl.helicotech.ktorize.plugin.cdn.CDNPlugin.apply$lambda$4(CDNPlugin.kt:26)
at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:66)
at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:66)
at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:124)
at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48)
at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107)
at org.gradle.internal.ImmutableActionSet$SetWithManyActions.execute(ImmutableActionSet.java:329)
at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:280)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection.doAdd(DefaultNamedDomainObjectCollection.java:125)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:1008)
... 154 more
Caused by: java.lang.ClassNotFoundException: kotlin.coroutines.jvm.internal.SpillingKt
at org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader.findClass(VisitableURLClassLoader.java:189)
... 184 more
It can not find the SpillingKt class. I have no idea why this is but my guess is Kotlin version differences/requirements between what Gradle plugins support and what version I am on.eygraber
07/08/2025, 10:16 AMSebastian Lehrbaum
07/09/2025, 1:17 PMExecution failed for task ':compileKotlin'.
> Error while evaluating property 'disableMultiModuleIC' of task ':compileKotlin'.
> Invocation of 'Task.project' by task ':compileKotlin' at execution time is unsupported with the configuration cache.
We traced it back to this line in the Kotlin compiler: https://github.com/JetBrains/kotlin/blob/master/libraries/tools/kotlin-gradle-plug[…]ommon/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt
It only happens on jenkins, locally all is fine.
It is reproducible and happens in a cleaned workspace (also in a dirty one).
We are unsure why the error only happens on jenkins. Maybe a timing issue with the lazy? Any idea what that could be?Josh Friend
07/09/2025, 2:08 PMOpt-in requirement marker XXX is unresolved
warnings? You apparently can't add opt-in args after dependency resolution because freeCompilerArgs is frozen so it makes convention plugins quite annoying because you have to either @OptIn
everywhere in source, or deal with hundreds of useless build warnings if you opt in with your conventions plugins.Emily
07/13/2025, 12:42 PMimplementation(project(":myLibs"))
, but I'd like to be able to do something akin to testImplementation(project(":myLibs", configuration = "testImplementation"))
or compileOnly(project(":myLibs", configuration = "compileOnly"))
. I've already tried the latter and know that doesn't work.
I know it could be done with a convention plugin, but I'm asking here in case there are better options.PHondogo
07/21/2025, 8:15 PMTask `:my-project:jsBrowserProductionWebpack` of type `org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack`: cannot serialize object of type 'org.gradle.api.internal.project.DefaultProject', a subtype of 'org.gradle.api.Project', as these are not supported with the configuration cache.
Oleg Nenashev
07/26/2025, 9:44 AMursus
07/29/2025, 10:44 PMursus
07/31/2025, 1:18 AM./gradlew ..
commands?
The latter seems more explicit but idk, is it idiomatic?alllex
08/02/2025, 4:46 PMGradle 9.0.0
is out!
🔧 Configuration Cache is now the recommended execution mode
☕ Gradle requires Java 17+ to run, but you can still build with older Java versions
💼 Updated to Kotlin 2.2 and Groovy 4.0. It means new language features in the DSLs
⚡ Improved Kotlin DSL build script compilation avoidance
What’s new in Gradle 9? https://gradle.org/whats-new/gradle-9/
Release video:
Full changelog: https://docs.gradle.org/9.0.0/release-notes.html
Please report any issue on GitHub - https://github.com/gradle/gradle/issues !Sargun Vohra
08/04/2025, 6:24 PMlibrary-x.y.z-natives_os_arch.jar
. The user of the library would depend on the library (without classifier) plus one or more natives , depending on which platforms they support.
• I could publish all the native binaries outside of Maven Central, and document for the user how to add them to their app. But this seems hard to use, essentially introducing some nonstandard dependency management. Or, I could publish a small gradle plugin that configures this for the user.
• I could publish my library as a single fat jar with all six binaries included. But that feels like it unnecessarily inflates the binary size. And building this one jar in CI would get complicated, with build steps on multiple different runners all coalescing into one jar.
How is this typically done in the JVM and the KMP world?
For example, I assume Compose Multiplatform itself includes some native libraries (skia?). But as a user I don't have to do anything special to depend on it, perhaps because the Compose gradle plugin deals with it for me? Are there some good examples out there that don't come with an associated plugin?
The second approach (classifiers) seems like the most viable to me. But I'm unclear on:
• What would the gradle config look like for such a library?
• What would the configuration look like for the user of the library?
• Would they be able to use a version catalog with these special artifacts?
My goal with this KMP library is to support Kotlin/JVM and Android with JNI, and Kotlin/Native with cinterop. But for now, I'm focusing on the (non-android) JVM build only.Joel Denke
08/07/2025, 5:29 AMmbonnin
08/08/2025, 1:34 PMkotlin.abiValidation
couldn't be a type safe fun abiValidation(action: Action<AbiValidationExtension>)
?
I get that working with extensions is best for top level blocks because of Groovy interop but is it also needed for nested blocks?
Reason I'm asking is it hurts discoverability when working in convention plugins where generated accessors are not always available.Oleg Nenashev
08/14/2025, 2:24 PMloke
08/18/2025, 4:24 PM-module
argument. Is there a way to specify this in the module's gradle file such that it is picked up by all dependent modules automatically? As it stands, I have to add it everywhere manually, and that's annoying.tony
08/18/2025, 5:24 PMSlackbot
08/19/2025, 11:14 AMeygraber
08/19/2025, 3:01 PMmbonnin
08/19/2025, 3:57 PMkotlin-stdlib
version of my project to a specific version for the JVM but not for other targets?
I have used coreLibrariesVersion
in the past but this has a lot of side effects, especially for targets like JS/Wasm that currently require their kotlin-stdlib
to be aligned with the compiler version.Edgar Avuzi
08/20/2025, 7:54 AMfun DependencyHandlerScope.implementations(vararg deps: Any) =
deps.forEach { this.implementation(it) }
fun DependencyHandlerScope.testImplementations(vararg deps: Any) =
deps.forEach { this.testImplementation(it) }
in Gradle Kotlin DSLritesh
08/20/2025, 6:16 PMalexhelder
08/21/2025, 1:02 AMTeodora Mihaila
08/21/2025, 12:14 PMrewrite-kotlin
module I get the following error:
Caused by: java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.buildtools.api.jvm.ClasspathEntrySnapshot org.jetbrains.kotlin.buildtools.api.CompilationService.calculateClasspathSnapshot(java.io.File, org.jetbrains.kotlin.buildtools.api.jvm.ClassSnapshotGranularity, boolean)'
along with the following warning:
w: ⚠️ 'org.jetbrains.kotlin:kotlin-compiler-embeddable' Artifact Present in Build Classpath
The artifact `org.jetbrains.kotlin:kotlin-compiler-embeddable` is present in the build classpath along Kotlin Gradle plugin.
This may lead to unpredictable and inconsistent behavior.
I think it's important mentioning that I get when same error even when just trying to upgrade from Kotlin 1.9.25 to 2.2.0 in the main repo without the changes from the PR.
From what I understand the cause of the error is a transitive dependency from the Kotlin Gradle plugin that introduces an older version on the build class path.
So far I have tried to fix this by doing the following:
1. Exploring the config files for any hardcoded old Kotlin version, but nothing was found.
2. Commenting out the dependencies in the build.gradle.kts
file of rewrite-kotlin module
to prevent transitive leaks. Nothing changed.
3. Using the following command: ./gradlew :rewrite-kotlin:dependencies | grep -A 5 "kotlin-compiler-embeddable"
to check which version of kotlin-compiler-embeddable
was Gradle resolving. The versions all appeared to match the set Kotlin language version.
4. Disabled classpath snapshots into gradle.properties
by adding: kotlin.incremental.useClasspathSnapshot=false
. Nothing changed.
5. Testing multiple Gradle/JDK combinations: Gradle versions between 8.14.3 & 9.0.0 with JDK 17, 21, 23, 24. Nothing changed.
Does anyone have any pointers on what could be going wrong and how to fix it?tapchicoma
08/21/2025, 3:38 PMDavid Herman
08/22/2025, 7:13 AMflorent
08/22/2025, 7:55 PMCLOVIS
08/23/2025, 1:09 PMkotlin {
js {
compilerOptions {
target.set("es2015")
}
}
}
How can I get which target is set from within a Gradle plugin?
The only thing I see is project.kotlinExtension.sourceSets
but that doesn't seem to have that option.Yongjun Hong
08/26/2025, 12:26 PMlicense
field
• Redefined required fields
• Completed the documentation
You can check the updates and download the latest plugin here:
• https://plugins.gradle.org/plugin/io.github.yonggoose.maven.central.utility.plugin.check
• https://plugins.gradle.org/plugin/io.github.yonggoose.maven.central.utility.plugin.project
• https://plugins.gradle.org/plugin/io.github.yonggoose.maven.central.utility.plugin.setting
• Release notes: https://github.com/YongGoose/Maven-Central-utility-plugins-for-Gradle/releases/tag/v0.1.7
For usage instructions, you can refer to the docs directory for a simple guide:
https://github.com/YongGoose/Maven-Central-utility-plugins-for-Gradle/tree/main/docs
I’d really appreciate it if you could try it out and share your feedback!
Special thanks to my mentor @Oleg Nenashev for continuous guidance and support throughout the project 🙏