tony
07/16/2026, 5:14 PMTest task named "testFoo". For Reasons, I want to register a lifecycle task (not a Test task), named simply "test", which will have a dependsOn relationship with the original "testFoo". Is there any way to propagate command-line options to the underlying "real" task? E.g., a test filter --tests="*.foo.*"?Vlastimil Brecka
07/18/2026, 10:29 AMsubprojects block)hackm1160
07/18/2026, 11:49 AMA failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction> 16 issues were found when checking AAR metadata: 1. Dependency ':firebase_core' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 2. Dependency 'androidx.activityactivity1.8.1' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 3. Dependency 'androidx.lifecyclelifecycle livedata core ktx2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 4. Dependency 'androidx.lifecyclelifecycle livedata2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 5. Dependency 'androidx.lifecyclelifecycle viewmodel2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 6. Dependency 'androidx.lifecyclelifecycle livedata core2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 7. Dependency 'androidx.lifecyclelifecycle viewmodel savedstate2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 8. Dependency 'androidx.windowwindow java1.2.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 9. Dependency 'androidx.window🪟1.2.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 10. Dependency 'androidx.fragmentfragment1.7.1' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 11. Dependency 'androidx.corecore ktx1.13.1' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 12. Dependency 'androidx.corecore1.13.1' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 13. Dependency 'androidx.lifecyclelifecycle runtime2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 14. Dependency 'androidx.lifecyclelifecycle process2.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 15. Dependency 'androidx.exifinterfaceexifinterface1.4.1' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 16. Dependency 'androidx.annotationannotation experimental1.4.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :firebase_auth is currently compiled against android-33. Recommended action: Update this project to use a newer compileSdk of at least 34, for example 36. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). * Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to generate a Build Scan (Powered by Develocity).
Get more help at help.gradle.org.i need help
hackm1160
07/18/2026, 11:52 AMColton Idle
07/20/2026, 1:56 PMEug
07/20/2026, 2:08 PMVlastimil Brecka
07/22/2026, 9:38 PM./gradlew :app:decryptSecrets --key=...
./gradlew :app:assembleRelease
Currently I have a task which decrypts secrets, and then assemble task has a provider which reads the properties (once decrypted) and uses them to sign release build (android)
def signingProperties = providers.fileContents(layout.projectDirectory.file("signing.properties")).asText
.map {
def properties = new Properties()
properties.load(new StringReader(it))
properties
}
android {
signingConfigs {
release {
def props = signingProperties.getOrNull()
if (props != null) {
keyAlias props["keyAlias"]
keyPassword props["keyPassword"]
...
}
}
}
}
It works.
Now, for more performance I was hoping to turn this into a single gradlew invocation = ./gradlew :app:decryptSecrets --key=... :app:assembleRelease
but im running into this kinda obvious issue of def props = signingProperties.getOrNull() getting evaluated at config time, and obviously the signing properties are not decrypted yet, so they dont exist, they become available only after decryptSecrets finishes
So is this even possible? To have the properties wired somehow in only at execution time so I can run the two in one invocation?
Or, is this a bad ideaScott Palmer
07/28/2026, 9:24 PMsettings.gradle file like this:
rootProject.name = 'my-service'
include ':public-api'
project(':public-api').name = 'my-service-public-api'
but then I decided to do things differently and changed that to simply:
rootProject.name = 'my-service'
include ':public-api'
but the build cache was confused. The public-api sub-project is generating Java code from Smithy specifications. It seems that the spotless code formatting plugin was now stuck looking at the old path for the generated code because of the build cache. Clean builds didn't help, I had to manually delete ~/.gradle/caches/build-cache-1 .
Is this a Gradle problem or a spotless plugin problem? (or a me problem? 🙁 )tehgeek
07/30/2026, 11:14 AMtony
07/30/2026, 5:44 PM@Option to a task? My use-case is in an Android project. It has tasks like testDebugUnitTest and testReleaseUnitTest, as well as a lifecycle task test that depends on each of those two variant-specific Test tasks.
I would love to add a --tests option to this preexisting (from another plugin, I do not control it) test lifecycle task.
I've tried this, but it doesn't work:
project.tasks.named { it == "test" }.configureEach {
inputs
.property("tests", "") // passing no value as a test
.optional(true)
}
I still get > Unknown command-line option '--tests'.Simon Marquis
08/04/2026, 3:57 PMbuildCacheKey=b4c52b0ffac21f5823d8cb885f76413b
buildInvocationId=bueeaav7o5fazlizc4e6fajtwa
We are currently observing build entries being overwritten with empty content (only the METADATA file and 3 empty directories):
cache-entry-b4c52b0ffac21f5823d8cb885f76413b
├── METADATA
├── tree-classpathSnapshotProperties.classpathSnapshotDir
├── tree-destinationDirectory
└── tree-taskBuildCacheableOutputDirectory%24kotlin_gradle_plugin_common
4 directories, 1 file
(the %24 url-encoded name of the last directly looks suspicious as well)Irfan Abdi
08/05/2026, 12:50 PMJason Pearson
08/09/2026, 3:20 AMChris Fillmore
08/14/2026, 8:19 PMMyApp depends on depA, which depends on an old version of depB :
MyApp -> depA -> depB
I want to break the dependency on depA and instead depend directly on a new version of depB . However I need to keep the previous arrangement, to support a gradual rollout of the change:
MyApp
-> depB
-> depA -> depB
From talking to Claude I am under the impression this is basically impossible, since there will be conflicts on the classpath.
Yet this seems like it may be a common requirement for projects, so I'm wondering how other people handle this. Thanks for your time.Lukáš Krystek
08/17/2026, 10:48 AM--refresh-dependencies parameter everytime at CI build job.
But sometimes i get Cound not get HEAD from some pom file from maven central or Count not GET another lib. Is there possible, that the parameter causes this issues ?
Maybe a few pipelines asks maven central very frequently and we get some anti DDOS blocks?
Is there any way to add retry logic when gradle tries to fetch remote dependencies and failed could it try again from the same repository?
If i remove this, is there possibility to break something on CI builds?
Thank you for answeringysb33r
08/19/2026, 7:50 PMBrais Gabín Moreira
08/21/2026, 12:41 PM8.14.3. Detekt can't update to the last version of sarif4k because it uses a recent version of kotlin (https://github.com/gradle/gradle/issues/16345). The problem is not the library itself but its dependencies. My question, is there any tool I can run on sarif4k side to ensure that my library is compatible with certain version of gradle (or kotlin, I don't care, I can make the conversion). I want to run it on CI so this doesn't happen again.Tim Yates
08/24/2026, 7:56 AMMartin
08/26/2026, 1:16 PM~/.gradle but I haven't found a way to allow the daemon to access the Sandbox networking is blocking Gradle's file-lock socket. Retrying without the sandbox.Philip W
08/27/2026, 7:37 AMmyParallelBuildService.get() inside a task action if you use a shared build service without any parameters to only limit parallelism?Adam
08/27/2026, 10:05 AMAlex Beggs
08/27/2026, 2:20 PMinclude references. Our benchmarks show that we incur additional configuration load times in our build scans. Additional time to a cold configuration which would impact the ide-sync times by 25%. Is this an expected slow down or are we doing something wrong?John
08/27/2026, 9:12 PMLex Manos
08/28/2026, 7:11 AMJean Helou
08/28/2026, 4:54 PMThomas Keller
09/01/2026, 7:33 AMbuild.gradle.kts , so applied via the plugins { ... } block and (b) via project-specific build conventions, that apply the plugin and preconfigure it.
Now it can happen that the JAR of one plugin of the shared build conventions is applied via the project-specific build conventions and directly in the build.gradle.kts (of course, different plugins) and in this case Gradle tells me
Error resolving plugin [id: 'plugin.applied.in.build.gradle.kts', version: '0.1.0']
> The request for this plugin could not be satisfied because the plugin is already on the classpath with an unknown version, so compatibility cannot be checked.
so I remove the version identifier from the plugins {} block. But then for another build convention plugin, that I apply on the root build, I get
Plugin [id: 'other.plugin.applied.in.root.build.gradle.kts'] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (None of the included builds contain this plugin)
- Plugin Repositories (plugin dependency must include a version number for this source)
even though the root build has project-specific build conventions applied before as well, which carry the JAR as a dependency as well. So I'm kind of puzzled why some plugins {} blocks need a version and others must not get one. I feel I'm doing something wrong.Philip W
09/01/2026, 9:29 AMProperties files, and I want to pass these properties to a `MapProperty<String, String>`:
`val propertiesAsMapProvider = providers.fileContents(
writePropertiesToFile.flatMap { it.output },
).asText.map {
it.byteInputStream().use {
Properties().apply { load(it) } as Map<String, String>
}
}
This looses the task dependencies...Lex Manos
09/03/2026, 11:12 PMThomas Keller
09/04/2026, 11:15 AM$GRADLE_USER_HOME/.gradle/caches/<version>/transforms directory which is gathering multiple gigabytes worth of duplicated transformed libraries that get generated through my multi component build. Now I know Gradle is first about correctness and speed and secondly only cares about optimizing cache sizes and the like, but I really, really would love to have some option in Gradle to clear outdated / unused caches. Not only transforms, but in general also cache folders from older Gradle versions, old cached distributions and the like. I know I could write a script and do it myself in one go, but then Gradle daemons need to be stopped properly, no new Gradle daemons must be started (otherwise Gradle stumbles upon corrupted caches) and in general I think it's Gradle's task to deal with its caches, not only creating them, but also keeping them under control. Is anything planned in this direction / is there eventually a ticket that I could subscribe to that would deal with that?willbanders
09/04/2026, 8:12 PM./gradlew --version
...
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.AntMain
Reverting to Gradle 9.7.0 (manually updating gradle-wrapper.properties, since gradlew commands don't work) fixes this issue - output of ./gradlew --version in thread. I had a project working with Gradle 9.7.1 as of a week ago but it seems to be failing now - is there any chance this is some form of upstream dependency issue?