Closed thatfiredev closed 6 months ago
We're experiencing the same issue in our project after upgrading to 3.0.0.
Totally agree, circular dependency crashes the build starting from 3.0.0
Same here.
classpath ("com.google.firebase:firebase-crashlytics-gradle:2.9.9")
with firebase_bom_version = "33.0.0" is working. I think best is to stay at that version.
We are experiencing this issue as well, thought it was another AGP update issue.
Hey everyone!
I have informed the Crashlytics engineers and they are working on it. In the meantime, please stick to firebase-crashlytics-gradle:2.9.9
.
This issue will be updated once the fix is released. Thank you!
This is because the injectCrashlyticsMappingFileId
task generates a random mapping file id as an Android resource. But we didn't want it to make new random id on every build if the source never changed. The task took variant.sources
as the only input, so it would get triggered by source changing.
The variant.sources
includes generated sources, and viewBinding generates code from the Android resources. A circular dependency.
We don't have a good api to query for only the static sources. So instead, I will update the task to decide if it's up to date by the heuristic: Both isMinifyEnabled
and mappingFileUploadEnabled
are false
, and a blank mapping file id was already generated once. This means rebuilding an app with obfuscation enabled will always generate a new mapping file id, even if nothing changed. This is no worse than what the previous plugin did. Debug builds most likely will not have obfuscation enabled, meaning this task can stay up to date during development.
I will update this issue when the fix is released.
On my end, it's Circular dependency between the following tasks: :app:extractDeepLinksRelease --- :app:injectCrashlyticsMappingFileIdRelease --- :app:kspReleaseKotlin --- :app:processReleaseResources +--- :app:mapReleaseSourceSetPaths | --- :app:injectCrashlyticsMappingFileIdRelease () +--- :app:mergeReleaseResources | --- :app:injectCrashlyticsMappingFileIdRelease () +--- :app:parseReleaseLocalResources | --- :app:packageReleaseResources | --- :app:injectCrashlyticsMappingFileIdRelease () +--- :app:processReleaseManifest | --- :app:processReleaseMainManifest | --- :app:extractDeepLinksRelease () --- :app:processReleaseManifestForPackage --- :app:processReleaseManifest (*)
Thanks for the details everybody!
I have implemented a fix for this and verified it with viewBinder. I also added new functional tests that validate use cases with code generation. This issue was caused by anything that generates code and depends on Android resources.
I am going to update here again when it is released. For now, anybody can try the latest changes from the pre-release build #5733.
Hey Guys,
Thanks for sharing. Also have faced the same issue.
this works fine
com.google.firebase:firebase-bom:32.8.1
and
com.google.firebase:firebase-crashlytics-gradle:2.9.9
I have this too, but the error is a bit longer than the above:
Circular dependency between the following tasks:
:app:dataBindingGenBaseClassesDebug
+--- :app:mergeDebugResources
| +--- :app:generateDebugLocaleConfig
| | \--- :app:extractDebugSupportedLocales
| | \--- :app:injectCrashlyticsMappingFileIdDebug
| | +--- :app:dataBindingGenBaseClassesDebug (*)
| | \--- :app:kspDebugKotlin
| | +--- :app:dataBindingGenBaseClassesDebug (*)
| | \--- :app:processDebugResources
| | +--- :app:mapDebugSourceSetPaths
| | | \--- :app:injectCrashlyticsMappingFileIdDebug (*)
| | +--- :app:mergeDebugResources (*)
| | +--- :app:parseDebugLocalResources
| | | \--- :app:packageDebugResources
| | | +--- :app:generateDebugLocaleConfig (*)
| | | \--- :app:injectCrashlyticsMappingFileIdDebug (*)
| | +--- :app:processDebugManifest
| | | \--- :app:processDebugMainManifest
| | | \--- :app:extractDeepLinksDebug
| | | \--- :app:injectCrashlyticsMappingFileIdDebug (*)
| | \--- :app:processDebugManifestForPackage
| | \--- :app:processDebugManifest (*)
| \--- :app:injectCrashlyticsMappingFileIdDebug (*)
\--- :app:parseDebugLocalResources (*)
BTW, I use this (as 2.9.9 worked fine with it) :
classpath "com.google.firebase:firebase-crashlytics-gradle:3.0.0"
How do I switch to the "id..." ? Or even to kts format? When I try the one as "id..." , it causes a different issue even if I use 2.9.9:
EDIT: tried to copy from a new project. I think it works fine. Wonder how hard it would be to switch to kts though.
I'm seeing a slightly different error, but I'm assuming that it is related to this issue:
Circular dependency between the following tasks:
:app:extractDebugSupportedLocales
\--- :app:injectCrashlyticsMappingFileIdDebug
\--- :app:kspDebugKotlin
\--- :app:processDebugResources
+--- :app:mapDebugSourceSetPaths
| \--- :app:injectCrashlyticsMappingFileIdDebug (*)
+--- :app:mergeDebugResources
| +--- :app:generateDebugLocaleConfig
| | \--- :app:extractDebugSupportedLocales (*)
| \--- :app:injectCrashlyticsMappingFileIdDebug (*)
+--- :app:parseDebugLocalResources
| \--- :app:packageDebugResources
| +--- :app:generateDebugLocaleConfig (*)
| \--- :app:injectCrashlyticsMappingFileIdDebug (*)
+--- :app:processDebugManifest
| \--- :app:processDebugMainManifest
| \--- :app:extractDeepLinksDebug
| \--- :app:injectCrashlyticsMappingFileIdDebug (*)
\--- :app:processDebugManifestForPackage
\--- :app:processDebugManifest (*)
This error only occurred after updating from 2.9.9 to 3.0.0
Idem on my side, "com.google.firebase:firebase-crashlytics-gradle:3.0.0"
-> Circular dependency between the following tasks...
.
@mrober Some of use uses googleServicesResourceRoot for manual handling but seems it's also removed in 3.0.0, please also document how we are supposed to do it after this please.
project.afterEvaluate {
tasks.withType<com.google.firebase.crashlytics.buildtools.gradle.tasks.UploadMappingFileTask> {
val myDirProp = project.objects.directoryProperty().fileValue(file("../crashlytics"))
googleServicesResourceRoot.value(myDirProp)
}
}
I just got this too after updating Android Studio etc.; thanks for the workaround and that you're getting it fixed!
@Tolriq the googleServicesResourceRoot
was an implementation detail. Our instructions don't tell you to use it anymore. It was a deliberate decision to remove that, since now the Firebase Google-Services plugin can support different apps for different variants of your app.
If you want to have the same app package name in different Firebase projects, you can follow https://developers.google.com/android/guides/google-services-plugin#adding_the_json_file . Basically you can put different google-services.json
files in different variant-specific directories.
If you want different package names for different variants in the same Firebase project, that will work out of the box. Just re-download your google-services.json
file from the Firebase console, and it will have an entry for every app in your project.
@mrober I do not use the json and the associated plugin and do not want to, I also disable the mapping upload. That plugin actually brings nothing for my needs, just ton of pains when updating gradle and AGP.
I have everything already generated the way I want and needed and just want crashlytics to use that. I already also have tons of wrapping to ensure proper controllable startup via ressourcewrapper.
Please leave a way to continue to work like that.
Am I reading this correctly that it was working in 3.0.0-alpha03 but not when 3.0.0 was released? Is there an estimate when it will be fixed in a non-alpha/beta version?
I am facing same issue with
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.0' implementation platform('com.google.firebase:firebase-bom:33.0.0')
Circular dependency between the following tasks: :app:extractDeepLinksDebug --- :app:injectCrashlyticsMappingFileIdDebug --- :app:kaptDebugKotlin --- :app:kaptGenerateStubsDebugKotlin --- :app:processDebugResources +--- :app:mapDebugSourceSetPaths | --- :app:injectCrashlyticsMappingFileIdDebug () +--- :app:mergeDebugResources | --- :app:injectCrashlyticsMappingFileIdDebug () +--- :app:parseDebugLocalResources | --- :app:packageDebugResources | --- :app:injectCrashlyticsMappingFileIdDebug () +--- :app:processDebugManifest | --- :app:processDebugMainManifest | --- :app:extractDeepLinksDebug () --- :app:processDebugManifestForPackage --- :app:processDebugManifest (*)
@Tolriq can you please file a new issue about the no google-services plugin use case you have? We will do something for it. For now, you could set configure<CrashlyticsExtension> { mappingFileUploadEnabled = false }
on all your variants and the Crashlytics plugin should not care that you don't have google-services.
Hey everybody, we will release 3.0.1 with this issue fixed in the next couple days. Sorry for the delay, we are pretty stretched right now. Thank you everyone for providing all the details and feedback!
Are there any new breaking code changes on 3.x versions?
@AndroidDeveloperLB https://firebase.google.com/docs/crashlytics/upgrade-to-crashlytics-gradle-plugin-v3 documents the breaking changes.
@mrober Thank you. Seems I don't use any of these and I don't even know what they are. Also seems all related to "Crashlytics extension". If I use only Crashlytics (auto-report crashes to Firebase website), I can ignore all of this, right? What is this "Crashlytics extension" ? How come I can't find information about it?
facing the same issue any solution
FAILURE: Build failed with an exception.
(*) - details omitted (listed previously)
Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights. Get more help at https://help.gradle.org.
Exception is: org.gradle.api.CircularReferenceException: Circular dependency between the following tasks: :app:dataBindingGenBaseClassesDebug --- :app:mergeDebugResources --- :app:injectCrashlyticsMappingFileIdDebug +--- :app:dataBindingGenBaseClassesDebug () --- :app:kaptDebugKotlin +--- :app:dataBindingGenBaseClassesDebug () +--- :app:kaptGenerateStubsDebugKotlin | +--- :app:dataBindingGenBaseClassesDebug () | --- :app:processDebugResources | +--- :app:mapDebugSourceSetPaths | | --- :app:injectCrashlyticsMappingFileIdDebug () | +--- :app:mergeDebugResources () | +--- :app:processDebugManifest | | --- :app:processDebugMainManifest | | --- :app:extractDeepLinksDebug | | --- :app:injectCrashlyticsMappingFileIdDebug () | --- :app:processDebugManifestForPackage | --- :app:processDebugManifest () +--- :app:mergeDebugResources () --- :app:processDebugResources (*)
(*) - details omitted (listed previously)
at org.gradle.execution.plan.DetermineExecutionPlanAction.onOrderingCycle(DetermineExecutionPlanAction.java:296)
at org.gradle.execution.plan.DetermineExecutionPlanAction.processNodeQueue(DetermineExecutionPlanAction.java:188)
at org.gradle.execution.plan.DetermineExecutionPlanAction.run(DetermineExecutionPlanAction.java:94)
at org.gradle.execution.plan.DefaultExecutionPlan.determineExecutionPlan(DefaultExecutionPlan.java:225)
at org.gradle.internal.build.DefaultBuildWorkPreparer.populateWorkGraph(DefaultBuildWorkPreparer.java:43)
at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph(BuildOperationFiringBuildWorkPreparer.java:106)
at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run(BuildOperationFiringBuildWorkPreparer.java:92)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:73)
at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.populateWorkGraph(BuildOperationFiringBuildWorkPreparer.java:67)
at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$8(DefaultBuildLifecycleController.java:189)
at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:99)
at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:114)
at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:110)
at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:98)
at org.gradle.internal.build.DefaultBuildLifecycleController.populateWorkGraph(DefaultBuildLifecycleController.java:189)
at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.populateWorkGraph(DefaultBuildWorkGraphController.java:169)
at org.gradle.composite.internal.DefaultBuildController.populateWorkGraph(DefaultBuildController.java:76)
at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraphBuilder.withWorkGraph(DefaultIncludedBuildTaskGraph.java:153)
at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$1(DefaultBuildTreeWorkPreparer.java:41)
at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:209)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:73)
at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:204)
at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:37)
at org.gradle.configurationcache.VintageBuildTreeWorkController$scheduleAndRunRequestedTasks$1.apply(VintageBuildTreeWorkController.kt:36)
at org.gradle.configurationcache.VintageBuildTreeWorkController$scheduleAndRunRequestedTasks$1.apply(VintageBuildTreeWorkController.kt:35)
at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:112)
at org.gradle.configurationcache.VintageBuildTreeWorkController.scheduleAndRunRequestedTasks(VintageBuildTreeWorkController.kt:35)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$scheduleAndRunTasks$1(DefaultBuildTreeLifecycleController.java:68)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:98)
at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:169)
at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:169)
at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:169)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:95)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:68)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:63)
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49)
at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65)
at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:140)
at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:123)
at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40)
at org.gradle.internal.buildtree.InitDeprecationLoggingActionExecutor.execute(InitDeprecationLoggingActionExecutor.java:62)
at org.gradle.internal.buildtree.InitProblems.execute(InitProblems.java:38)
at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:65)
at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:58)
at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:264)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:128)
at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36)
at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:92)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:80)
at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:51)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:39)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
at org.gradle.util.internal.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:64)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
BUILD FAILED in 709ms
same issue
same issue
To everyone experiencing the same problem: could you kindly consider clicking the :+1: reaction on the initial comment instead of posting a new comment simply stating "same issue"? Such comments don't offer any new insights and only clutter the feed for those following this matter.
Confirmed fixed with 3.0.1 👍🏽
Hi everybody, version 3.0.1 has been released which resolves this issue. Thank you everybody for providing all the details! Closing this issue, but if anybody runs into any other problems please open a new issue.
@mrober For the record it seems with 3.0.1 the plugin no more yell on missing xml generated by the google plugin and so the googleServicesResourceRoot hack is not necessary anymore so I don't need it and won't open an issue as WAI.
After upgrading to 3.0.1 I get this new error: https://github.com/firebase/firebase-android-sdk/issues/5962
[REQUIRED] Step 2: Describe your environment
- Android Studio version: _____
- Firebase Component: Crashlytics Gradle Plugin
- Component version: 3.0.0
[REQUIRED] Step 3: Describe the problem
After upgrading to v3.0.0 of the Crashlytics Gradle plugin I get the following build error:
Circular dependency between the following tasks: :app:dataBindingGenBaseClassesDebug +--- :app:mergeDebugResources | \--- :app:injectCrashlyticsMappingFileIdDebug | \--- :app:dataBindingGenBaseClassesDebug (*) \--- :app:parseDebugLocalResources \--- :app:packageDebugResources \--- :app:injectCrashlyticsMappingFileIdDebug (*)
Steps to reproduce:
A reproducible build can be found in firebase/quickstart-android#1608
Confirmed that the build succeeds with version
2.9.9
: firebase/quickstart-android#1607
use this classpath("com.google.firebase:firebase-crashlytics-gradle:3.0.1") classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.1'
I am facing same issue with
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.0' implementation platform('com.google.firebase:firebase-bom:33.0.0')
Circular dependency between the following tasks: :app:extractDeepLinksDebug --- :app:injectCrashlyticsMappingFileIdDebug --- :app:kaptDebugKotlin --- :app:kaptGenerateStubsDebugKotlin --- :app:processDebugResources +--- :app:mapDebugSourceSetPaths | --- :app:injectCrashlyticsMappingFileIdDebug () +--- :app:mergeDebugResources | --- :app:injectCrashlyticsMappingFileIdDebug () +--- :app:parseDebugLocalResources | --- :app:packageDebugResources | --- :app:injectCrashlyticsMappingFileIdDebug () +--- :app:processDebugManifest | --- :app:processDebugMainManifest | --- :app:extractDeepLinksDebug () --- :app:processDebugManifestForPackage --- :app:processDebugManifest (*) use this classpath("com.google.firebase:firebase-crashlytics-gradle:3.0.1") classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.1'
use this
classpath("com.google.firebase:firebase-crashlytics-gradle:3.0.1") classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.1'
implementation 'com.google.firebase:firebase-crashlytics:19.0.0'
implementation("com.google.firebase:firebase-crashlytics:19.0.0")
I change crashingly to 2.9.9, and it works. So I guess u either add .jar file directly if using maven debugger or change to 2.9.9 if u use Groovy
[REQUIRED] Step 2: Describe your environment
[REQUIRED] Step 3: Describe the problem
After upgrading to v3.0.0 of the Crashlytics Gradle plugin I get the following build error:
Steps to reproduce:
A reproducible build can be found in https://github.com/firebase/quickstart-android/pull/1608
Confirmed that the build succeeds with version
2.9.9
: https://github.com/firebase/quickstart-android/pull/1607