Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kotlin 1.8 and Anvil 2.4.4 support #568

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

WhosNickDoglio
Copy link

@WhosNickDoglio WhosNickDoglio commented Feb 15, 2023

Changes

Upgraded to Kotlin 1.8.20 from 1.7.0 (Release notes)

Upgraded to Anvil 2.4.5 from 2.4.2 (Release Notes)

The only major change from this was from types being renamed:

  • The FunctionReference type has been renamed to MemberFunctionReference and a new super type FunctionReference has been introduced for TopLevelFunctionReference and MemberFunctionReference.
  • The PropertyReference type has been renamed to MemberPropertyReference and a new super type PropertyReference has been introduced for TopLevelPropertyReference and MemberPropertyReference.

Upgraded to Gradle 8.1.1 from 7.5.1 (Release Notes)

  • Version Catalogs is no longer in feature preview so I removed the enableFeaturePreview("VERSION_CATALOGS")

Upgrade Compose to versions compatible with Kotlin 1.8

  • Compiler 1.2.0 -> 1.4.6
  • Foundation: 1.2.1 -> 1.3.1
  • Material: 1.2.1 -> 1.3.1
  • Runtime: 1.2.1 -> 1.3.3

These changes also required the target/compile SDK to be bumped to 33 which then required Robolectric to be bumped to 4.9.2

Other changes

  • KSP upgraded from 1.7.0-1.0.6 to 1.8.20-1.0.10 (Not entirely sure this was necessary but I tried to keep it in sync with the Kotlin version the project is using)
  • I swapped out com.github.tschuchortdev:kotlin-compile-testing for dev.zacsweers.kctfork:core since the former doesn't support Kotlin 1.8 but the latter does.
  • The Vanniktech publish plugin was upgraded to the latest (release notes)
  • Upgraded the Android Gradle Plugin to 7.3.1

Closes #564

@@ -94,11 +94,11 @@ androidx-arch-test-core = "androidx.arch.core:core-testing:2.1.0"

androidx-compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "androidx-compose-compiler" }

androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose-runtime" }
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version = "1.3.1" }
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO update to Compose BOM

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way I see it, it's better to separate the changes - what if the library author doesn't want to switch to BOM?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to put my reasoning here for the initial TODO in case the author would like me to upgrade to the Compose BOM as part of this PR (Or a follow up)

Before my changes the version catalog is using androidx-compose-runtime version for many different compose artifacts (foundation, material and runtime) but new updates to each of these libraries are no longer being versioned together. Updating to use the Compose BOM would enable just tracking a single BOM version and not worrying about each individual artifact.

@WhosNickDoglio WhosNickDoglio force-pushed the ndoglio-kotlin-1.8 branch 3 times, most recently from 7a6d5c3 to 3a9ae2e Compare February 15, 2023 14:14
@@ -14,7 +14,8 @@
*/

plugins {
`kotlin-dsl`
// TODO
`kotlin-dsl`.version("3.2.2")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a hack to avoid upgrading to Gradle 8.

If I'm upgrade to Gradle 8 on main without Kotlin 1.8 I get the following error:

A problem occurred configuring project ':tangle-fragment-api'.
> Failed to notify project evaluation listener.
   > Could not create task ':tangle-fragment-api:mergeDebugShaders'.
      > Cannot use @TaskAction annotation on method IncrementalTask.taskAction$gradle_core() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.
   > Invalid MavenPublish Configuration. Unable to find variant to publish named release. Try setting the 'androidVariantToPublish' property in the mavenPublish extension object to something that matches the variant that ought to be published.

Upgrading the maven publish plugin doesn't fix this either.

If I try to upgrade to Kotlin 1.8 without this above hack or Gradle 8 I get a ton of Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0. errors for the compileKotlin task for the buildSrc I'm assuming this is because the buildSrc is tied directly to Kotlin 1.6.

I'm going to continue to tinker around with this to see if I can find a better solution.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been resolved by 9caf86f.

I'm not sure why the ordering matter but after the initial work to upgrade to Kotlin 1.8 when I tried upgrading to Gradle 8 and the latest vanniktech publish plugin I can different error messages that were easier to resolve.

@WhosNickDoglio
Copy link
Author

WhosNickDoglio commented Feb 15, 2023

Right now I have all tests passing locally and I can run the sample app and a side project I'm working on all with Kotlin 1.8 and Anvil 2.4.4

@LionZXY
Copy link

LionZXY commented Feb 16, 2023

Amazing job, thank you

@@ -14,7 +14,6 @@
*/

rootProject.name = "buildSrc"
enableFeaturePreview("VERSION_CATALOGS")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version Catalogs were moved out of preview as part of Gradle 8.0

Comment on lines -30 to +46
kotlinOptions {
allWarningsAsErrors = false

jvmTarget = "1.8"

freeCompilerArgs = freeCompilerArgs + listOf(
"-Xjvm-default=all",
"-Xallow-result-return-type",
"-opt-in=kotlin.contracts.ExperimentalContracts",
"-opt-in=kotlin.Experimental",
"-opt-in=kotlin.time.ExperimentalTime",
"-opt-in=kotlin.RequiresOptIn",
"-Xinline-classes"
compilerOptions {
allWarningsAsErrors.set(false)

jvmTarget.set(JVM_1_8)

freeCompilerArgs.set(
freeCompilerArgs.get() + listOf(
"-Xjvm-default=all",
"-Xallow-result-return-type",
"-opt-in=kotlin.contracts.ExperimentalContracts",
"-opt-in=kotlin.Experimental",
"-opt-in=kotlin.time.ExperimentalTime",
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi",
"-Xinline-classes"
)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines -129 to -131
tasks.withType(SourcesJar::class.java).configureEach {
notCompatibleWithConfigurationCache("")
}
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SourcesJar task was removed in the latest release based on the PR description there might be an equivalent task I could replace this with but I'm not entirely sure as I haven't worked with this plugin before.

Comment on lines -235 to +237
kotlin-compile-testing = "com.github.tschuchortdev:kotlin-compile-testing:1.4.9"
kotlin-compile-testing = "dev.zacsweers.kctfork:core:0.2.1"
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

com.github.tschuchortdev:kotlin-compile-testing hasn't been updated to support Kotlin 1.8 so I swapped it out for a forked version that has Kotlin 1.8 support.

Comment on lines -260 to +262
robolectric = "org.robolectric:robolectric:4.8.2"
robolectric = "org.robolectric:robolectric:4.9.2"
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was needed after upgrading the target/compile SDK to 33.

@@ -52,7 +52,6 @@ gradleEnterprise {
}

rootProject.name = "Tangle"
enableFeaturePreview("VERSION_CATALOGS")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version Catalogs were moved out of preview as part of Gradle 8.0

@@ -145,7 +146,7 @@ fun TypeParameterDescriptor.boundClassName(): ClassName = representativeUpperBou
.classDescriptor()
.asClassName()

fun PropertyReference.tangleParamNameOrNull(): String? {
fun MemberPropertyReference.tangleParamNameOrNull(): String? {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import com.squareup.anvil.compiler.internal.reference.FunctionReference
import com.squareup.anvil.compiler.internal.reference.MemberFunctionReference
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines -91 to -98
pluginBundle {
website = "https://github.com/RBusarow/Tangle"
vcsUrl = "https://github.com/RBusarow/Tangle"
description = "Create Android component bindings for Dagger with Anvil"

tags = setOf("android", "dagger2", "kotlin", "kotlin-compiler-plugin")
}

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -19,7 +19,7 @@ import tangle.builds.VERSION_NAME
plugins {
javaLibrary
id("java-gradle-plugin")
id("com.gradle.plugin-publish") version "1.0.0"
id("com.gradle.plugin-publish") version "1.1.0"
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wasn't necessary to build but the changelog mentioned a bug around tags so I upgraded anyway

compilerPlugins = listOf(AnvilComponentRegistrar())
componentRegistrars = listOf(AnvilComponentRegistrar())
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

compilerPlugins is deprecated.

"-opt-in=kotlin.Experimental",
"-opt-in=kotlin.time.ExperimentalTime",
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi",
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After upgrading to Kotlin 1.8 I was getting a ton of ExperimentalCompilerApi so I added an opt in here.

@WhosNickDoglio WhosNickDoglio marked this pull request as ready for review February 16, 2023 14:07
@WhosNickDoglio
Copy link
Author

This is now ready for review! 🎉

I'm able to see all tests pass locally (both unit and instrumented) and also have the sample app and a side project both working as expected using Kotlin 1.8 and Anvil 2.4.4.

@WhosNickDoglio
Copy link
Author

@RBusarow is there anything else I need to do for this to get it reviewed/merged?

@LionZXY
Copy link

LionZXY commented Mar 16, 2023

For me ./gradlew publishToMavenLocalNoDokka works on main branch, but not work in this PR:

Logs Type-safe project accessors is an incubating feature. > Task :buildSrc:generateExternalPluginSpecBuilders UP-TO-DATE > Task :buildSrc:extractPrecompiledScriptPluginPlugins UP-TO-DATE > Task :buildSrc:compilePluginsBlocks UP-TO-DATE > Task :buildSrc:generatePrecompiledScriptPluginAccessors UP-TO-DATE > Task :buildSrc:generateScriptPluginAdapters UP-TO-DATE > Task :buildSrc:compileKotlin UP-TO-DATE > Task :buildSrc:compileJava NO-SOURCE > Task :buildSrc:compileGroovy NO-SOURCE > Task :buildSrc:pluginDescriptors UP-TO-DATE > Task :buildSrc:processResources UP-TO-DATE > Task :buildSrc:classes UP-TO-DATE > Task :buildSrc:jar UP-TO-DATE > Task :buildSrc:inspectClassesForKotlinIC UP-TO-DATE Unable to decide if project isolation is enabled java.lang.NoSuchMethodError: 'org.gradle.internal.buildoption.BuildOption$Value org.gradle.api.internal.StartParameterInternal.getIsolatedProjects()' at com.android.build.gradle.internal.StartParameterUtils.isProjectIsolation(StartParameterUtils.kt:41) at com.android.build.gradle.internal.profile.AnalyticsResourceManager.recordGlobalProperties(AnalyticsResourceManager.kt:288) at com.android.build.gradle.internal.profile.AnalyticsConfiguratorService$createAnalyticsService$2.execute(AnalyticsConfiguratorService.kt:118) at com.android.build.gradle.internal.profile.AnalyticsConfiguratorService$createAnalyticsService$2.execute(AnalyticsConfiguratorService.kt:117) at jdk.internal.reflect.GeneratedMethodAccessor381.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingInvocationHandler$1.lambda$run$0(DefaultListenerBuildOperationDecorator.java:255) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication.reapply(DefaultUserCodeApplicationContext.java:98) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingInvocationHandler$1.run(DefaultListenerBuildOperationDecorator.java:253) 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:68) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingInvocationHandler.invoke(DefaultListenerBuildOperationDecorator.java:250) at com.sun.proxy.$Proxy75.graphPopulated(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor381.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:43) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:257) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:164) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:83) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:69) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:363) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:261) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:148) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at com.sun.proxy.$Proxy75.graphPopulated(Unknown Source) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$NotifyTaskGraphWhenReady.run(DefaultTaskExecutionGraph.java:382) 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:68) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.lambda$fireWhenReady$0(DefaultTaskExecutionGraph.java:362) at org.gradle.internal.Factories$1.create(Factories.java:31) at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:345) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:227) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:220) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.fireWhenReady(DefaultTaskExecutionGraph.java:361) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.populate(DefaultTaskExecutionGraph.java:107) at org.gradle.internal.build.DefaultBuildWorkPreparer.finalizeWorkGraph(DefaultBuildWorkPreparer.java:53) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.finalizeWorkGraph(BuildOperationFiringBuildWorkPreparer.java:73) at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$finalizeWorkGraph$6(DefaultBuildLifecycleController.java:161) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$13(StateTransitionController.java:247) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:258) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:246) at org.gradle.internal.model.StateTransitionController.lambda$transition$5(StateTransitionController.java:168) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:34) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:168) at org.gradle.internal.build.DefaultBuildLifecycleController.finalizeWorkGraph(DefaultBuildLifecycleController.java:157) at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.finalizeGraph(DefaultBuildWorkGraphController.java:195) at org.gradle.composite.internal.DefaultBuildController.finalizeWorkGraph(DefaultBuildController.java:111) at org.gradle.composite.internal.DefaultBuildControllers.populateWorkGraphs(DefaultBuildControllers.java:79) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:198) 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:68) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:192) 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:109) 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:177) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:258) at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:177) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:177) 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.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31) 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:122) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40) 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:53) 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:73) 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:249) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109) 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:100) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88) 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:63) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:50) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:38) 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.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Unable to decide if config caching is enabled java.lang.NoSuchMethodError: 'org.gradle.internal.buildoption.BuildOption$Value org.gradle.api.internal.StartParameterInternal.getConfigurationCache()' at com.android.build.gradle.internal.StartParameterUtils.isConfigurationCache(StartParameterUtils.kt:30) at com.android.build.gradle.internal.profile.AnalyticsResourceManager.recordGlobalProperties(AnalyticsResourceManager.kt:301) at com.android.build.gradle.internal.profile.AnalyticsConfiguratorService$createAnalyticsService$2.execute(AnalyticsConfiguratorService.kt:118) at com.android.build.gradle.internal.profile.AnalyticsConfiguratorService$createAnalyticsService$2.execute(AnalyticsConfiguratorService.kt:117) at jdk.internal.reflect.GeneratedMethodAccessor381.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingInvocationHandler$1.lambda$run$0(DefaultListenerBuildOperationDecorator.java:255) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication.reapply(DefaultUserCodeApplicationContext.java:98) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingInvocationHandler$1.run(DefaultListenerBuildOperationDecorator.java:253) 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:68) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingInvocationHandler.invoke(DefaultListenerBuildOperationDecorator.java:250) at com.sun.proxy.$Proxy75.graphPopulated(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor381.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:43) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:257) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:164) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:83) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:69) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:363) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:261) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:148) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at com.sun.proxy.$Proxy75.graphPopulated(Unknown Source) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$NotifyTaskGraphWhenReady.run(DefaultTaskExecutionGraph.java:382) 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:68) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.lambda$fireWhenReady$0(DefaultTaskExecutionGraph.java:362) at org.gradle.internal.Factories$1.create(Factories.java:31) at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:345) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:227) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:220) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.fireWhenReady(DefaultTaskExecutionGraph.java:361) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.populate(DefaultTaskExecutionGraph.java:107) at org.gradle.internal.build.DefaultBuildWorkPreparer.finalizeWorkGraph(DefaultBuildWorkPreparer.java:53) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.finalizeWorkGraph(BuildOperationFiringBuildWorkPreparer.java:73) at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$finalizeWorkGraph$6(DefaultBuildLifecycleController.java:161) at org.gradle.internal.model.StateTransitionController.lambda$doTransition$13(StateTransitionController.java:247) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:258) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:246) at org.gradle.internal.model.StateTransitionController.lambda$transition$5(StateTransitionController.java:168) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:34) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:168) at org.gradle.internal.build.DefaultBuildLifecycleController.finalizeWorkGraph(DefaultBuildLifecycleController.java:157) at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.finalizeGraph(DefaultBuildWorkGraphController.java:195) at org.gradle.composite.internal.DefaultBuildController.finalizeWorkGraph(DefaultBuildController.java:111) at org.gradle.composite.internal.DefaultBuildControllers.populateWorkGraphs(DefaultBuildControllers.java:79) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:198) 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:68) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:192) 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:109) 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:177) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:258) at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:177) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:177) 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.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31) 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:122) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40) 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:53) 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:73) 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:249) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109) 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:100) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88) 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:63) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:50) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:38) 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.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) > Task :tangle-fragment-compiler:publishToMavenLocalNoDokka > Task :tangle-work-compiler:publishToMavenLocalNoDokka > Task :tangle-gradle-plugin:publishToMavenLocalNoDokka > Task :tangle-compiler:publishToMavenLocalNoDokka > Task :tangle-viewmodel-compose:publishToMavenLocalNoDokka > Task :tangle-viewmodel-api:publishToMavenLocalNoDokka > Task :tangle-viewmodel-fragment:publishToMavenLocalNoDokka > Task :tangle-fragment-api:publishToMavenLocalNoDokka > Task :tangle-viewmodel-activity:publishToMavenLocalNoDokka > Task :tangle-work-api:publishToMavenLocalNoDokka > Task :tangle-viewmodel-compiler:publishToMavenLocalNoDokka > Task :tangle-api:publishToMavenLocalNoDokka > Task :publishToMavenLocalNoDokka > Task :tangle-fragment-compiler:processResources NO-SOURCE > Task :tangle-gradle-plugin:generateBuildProperties UP-TO-DATE > Task :tangle-work-compiler:processResources NO-SOURCE > Task :tangle-fragment-api:preBuild UP-TO-DATE > Task :tangle-viewmodel-fragment:preBuild UP-TO-DATE > Task :tangle-viewmodel-api:preBuild UP-TO-DATE > Task :tangle-viewmodel-fragment:preReleaseBuild UP-TO-DATE > Task :tangle-viewmodel-compiler:processResources NO-SOURCE > Task :tangle-work-api:preBuild UP-TO-DATE > Task :tangle-viewmodel-activity:preBuild UP-TO-DATE > Task :tangle-viewmodel-compose:preBuild UP-TO-DATE > Task :tangle-fragment-api:preReleaseBuild UP-TO-DATE > Task :tangle-work-api:preReleaseBuild UP-TO-DATE > Task :tangle-viewmodel-compose:preReleaseBuild UP-TO-DATE > Task :tangle-viewmodel-fragment:mergeReleaseJniLibFolders UP-TO-DATE > Task :tangle-viewmodel-api:preReleaseBuild UP-TO-DATE > Task :tangle-viewmodel-activity:preReleaseBuild UP-TO-DATE > Task :tangle-fragment-api:compileReleaseAidl NO-SOURCE > Task :tangle-viewmodel-api:compileReleaseAidl NO-SOURCE > Task :tangle-viewmodel-activity:mergeReleaseJniLibFolders UP-TO-DATE > Task :tangle-viewmodel-fragment:mergeReleaseNativeLibs NO-SOURCE > Task :tangle-work-api:compileReleaseAidl NO-SOURCE > Task :tangle-fragment-api:mergeReleaseJniLibFolders UP-TO-DATE > Task :tangle-viewmodel-fragment:stripReleaseDebugSymbols NO-SOURCE > Task :tangle-fragment-api:mergeReleaseNativeLibs NO-SOURCE > Task :tangle-viewmodel-fragment:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :tangle-viewmodel-compose:mergeReleaseJniLibFolders UP-TO-DATE > Task :tangle-fragment-api:stripReleaseDebugSymbols NO-SOURCE > Task :tangle-viewmodel-activity:mergeReleaseNativeLibs NO-SOURCE > Task :tangle-fragment-api:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :tangle-work-api:mergeReleaseJniLibFolders UP-TO-DATE > Task :tangle-viewmodel-api:packageReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-activity:compileReleaseAidl NO-SOURCE > Task :tangle-fragment-api:compileReleaseRenderscript NO-SOURCE > Task :tangle-work-api:mergeReleaseNativeLibs NO-SOURCE > Task :tangle-viewmodel-activity:stripReleaseDebugSymbols NO-SOURCE > Task :tangle-viewmodel-compose:compileReleaseAidl NO-SOURCE > Task :tangle-work-api:stripReleaseDebugSymbols NO-SOURCE > Task :tangle-viewmodel-fragment:compileReleaseAidl NO-SOURCE > Task :tangle-fragment-api:generateReleaseResValues UP-TO-DATE > Task :tangle-work-api:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :tangle-fragment-api:extractDeepLinksForAarRelease UP-TO-DATE > Task :tangle-fragment-api:generateReleaseResources UP-TO-DATE > Task :tangle-viewmodel-api:compileReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-compose:mergeReleaseNativeLibs NO-SOURCE > Task :tangle-viewmodel-fragment:compileReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-api:generateReleaseResValues UP-TO-DATE > Task :tangle-viewmodel-api:generateReleaseResources UP-TO-DATE > Task :tangle-viewmodel-activity:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :tangle-fragment-api:packageReleaseResources UP-TO-DATE > Task :tangle-viewmodel-compose:stripReleaseDebugSymbols NO-SOURCE > Task :tangle-gradle-plugin:compileKotlin UP-TO-DATE > Task :tangle-viewmodel-compose:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :tangle-work-api:compileReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-fragment:generateReleaseResValues UP-TO-DATE > Task :tangle-gradle-plugin:compileJava NO-SOURCE > Task :tangle-viewmodel-compose:compileReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-api:packageReleaseResources UP-TO-DATE > Task :tangle-viewmodel-activity:compileReleaseRenderscript NO-SOURCE > Task :tangle-gradle-plugin:pluginDescriptors UP-TO-DATE > Task :tangle-fragment-api:parseReleaseLocalResources UP-TO-DATE > Task :tangle-viewmodel-compose:generateReleaseResValues UP-TO-DATE > Task :tangle-viewmodel-activity:generateReleaseResValues UP-TO-DATE > Task :tangle-work-api:generateReleaseResValues UP-TO-DATE > Task :tangle-api:compileKotlin UP-TO-DATE > Task :tangle-viewmodel-compose:extractDeepLinksForAarRelease UP-TO-DATE > Task :tangle-fragment-api:processReleaseManifest UP-TO-DATE > Task :tangle-viewmodel-api:parseReleaseLocalResources UP-TO-DATE > Task :tangle-api:dokkaHtml SKIPPED > Task :tangle-gradle-plugin:processResources UP-TO-DATE > Task :tangle-viewmodel-activity:extractDeepLinksForAarRelease UP-TO-DATE > Task :tangle-gradle-plugin:classes UP-TO-DATE > Task :tangle-viewmodel-compose:generateReleaseResources UP-TO-DATE > Task :tangle-viewmodel-activity:generateReleaseResources UP-TO-DATE > Task :tangle-work-api:extractDeepLinksForAarRelease UP-TO-DATE > Task :tangle-work-api:generateReleaseResources UP-TO-DATE > Task :tangle-viewmodel-fragment:extractDeepLinksForAarRelease UP-TO-DATE > Task :tangle-gradle-plugin:jar UP-TO-DATE > Task :tangle-api:dokkaJavadocJar UP-TO-DATE > Task :tangle-viewmodel-fragment:generateReleaseResources UP-TO-DATE > Task :tangle-viewmodel-api:processReleaseManifest UP-TO-DATE > Task :tangle-api:compileJava NO-SOURCE > Task :tangle-viewmodel-activity:packageReleaseResources UP-TO-DATE > Task :tangle-api:processResources NO-SOURCE > Task :tangle-api:classes UP-TO-DATE > Task :tangle-gradle-plugin:inspectClassesForKotlinIC UP-TO-DATE > Task :tangle-compiler:kaptGenerateStubsKotlin UP-TO-DATE > Task :tangle-api:jar UP-TO-DATE > Task :tangle-gradle-plugin:dokkaHtml SKIPPED > Task :tangle-viewmodel-activity:parseReleaseLocalResources UP-TO-DATE > Task :tangle-api:inspectClassesForKotlinIC UP-TO-DATE > Task :tangle-gradle-plugin:javadoc NO-SOURCE > Task :tangle-viewmodel-compose:packageReleaseResources UP-TO-DATE > Task :tangle-viewmodel-activity:processReleaseManifest UP-TO-DATE > Task :tangle-viewmodel-fragment:packageReleaseResources UP-TO-DATE > Task :tangle-work-api:packageReleaseResources UP-TO-DATE > Task :tangle-viewmodel-activity:javaPreCompileRelease UP-TO-DATE > Task :tangle-gradle-plugin:javadocJar UP-TO-DATE > Task :tangle-api:generateMetadataFileForMavenPublication > Task :tangle-viewmodel-compose:parseReleaseLocalResources UP-TO-DATE > Task :tangle-viewmodel-activity:mergeReleaseShaders UP-TO-DATE > Task :tangle-gradle-plugin:sourcesJar FAILED > Task :tangle-viewmodel-activity:compileReleaseShaders NO-SOURCE > Task :tangle-viewmodel-fragment:parseReleaseLocalResources UP-TO-DATE > Task :tangle-work-api:parseReleaseLocalResources UP-TO-DATE > Task :tangle-viewmodel-activity:generateReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-activity:packageReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-fragment:processReleaseManifest UP-TO-DATE > Task :tangle-work-api:processReleaseManifest UP-TO-DATE > Task :tangle-viewmodel-compose:processReleaseManifest UP-TO-DATE > Task :tangle-viewmodel-activity:packageReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-fragment:javaPreCompileRelease UP-TO-DATE > Task :tangle-viewmodel-compose:javaPreCompileRelease UP-TO-DATE > Task :tangle-viewmodel-activity:prepareLintJarForPublish UP-TO-DATE > Task :tangle-viewmodel-fragment:mergeReleaseShaders UP-TO-DATE > Task :tangle-viewmodel-activity:prepareReleaseArtProfile UP-TO-DATE > Task :tangle-api:generatePomFileForMavenPublication > Task :tangle-viewmodel-fragment:compileReleaseShaders NO-SOURCE > Task :tangle-viewmodel-fragment:generateReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-activity:processReleaseJavaRes NO-SOURCE > Task :tangle-gradle-plugin:generatePomFileForPluginMavenPublication > Task :tangle-viewmodel-fragment:packageReleaseAssets UP-TO-DATE > Task :tangle-api:kotlinSourcesJar UP-TO-DATE > Task :tangle-viewmodel-compose:mergeReleaseShaders UP-TO-DATE > Task :tangle-viewmodel-activity:writeReleaseAarMetadata UP-TO-DATE > Task :tangle-viewmodel-compose:compileReleaseShaders NO-SOURCE > Task :tangle-viewmodel-fragment:packageReleaseRenderscript NO-SOURCE > Task :tangle-api:signMavenPublication SKIPPED > Task :tangle-viewmodel-compose:generateReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-fragment:prepareLintJarForPublish UP-TO-DATE > Task :tangle-viewmodel-activity:sourceReleaseJar UP-TO-DATE > Task :tangle-gradle-plugin:generatePomFileForTanglePluginMarkerMavenPublication > Task :tangle-viewmodel-fragment:prepareReleaseArtProfile UP-TO-DATE > Task :tangle-compiler:kaptKotlin UP-TO-DATE > Task :tangle-viewmodel-activity:generatePomFileForMavenPublication > Task :tangle-viewmodel-compose:packageReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-fragment:processReleaseJavaRes NO-SOURCE > Task :tangle-viewmodel-compose:packageReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-fragment:writeReleaseAarMetadata UP-TO-DATE > Task :tangle-viewmodel-compose:prepareLintJarForPublish UP-TO-DATE > Task :tangle-viewmodel-compose:prepareReleaseArtProfile UP-TO-DATE > Task :tangle-viewmodel-compose:processReleaseJavaRes NO-SOURCE > Task :tangle-gradle-plugin:publishTanglePluginMarkerMavenPublicationToMavenLocal > Task :tangle-viewmodel-compose:writeReleaseAarMetadata UP-TO-DATE > Task :tangle-viewmodel-fragment:sourceReleaseJar UP-TO-DATE > Task :tangle-api:publishMavenPublicationToMavenLocal > Task :tangle-compiler:compileKotlin UP-TO-DATE > Task :tangle-api:publishToMavenLocal > Task :tangle-compiler:dokkaHtml SKIPPED > Task :tangle-viewmodel-compose:sourceReleaseJar UP-TO-DATE > Task :tangle-viewmodel-fragment:generatePomFileForMavenPublication > Task :tangle-compiler:dokkaJavadocJar UP-TO-DATE > Task :tangle-compiler:compileJava NO-SOURCE > Task :tangle-viewmodel-compose:generatePomFileForMavenPublication > Task :tangle-compiler:processResources NO-SOURCE > Task :tangle-compiler:classes UP-TO-DATE > Task :tangle-compiler:jar UP-TO-DATE > Task :tangle-compiler:inspectClassesForKotlinIC UP-TO-DATE > Task :tangle-work-api:generateReleaseRFile UP-TO-DATE > Task :tangle-compiler:generateMetadataFileForMavenPublication > Task :tangle-viewmodel-api:generateReleaseRFile UP-TO-DATE > Task :tangle-fragment-api:generateReleaseRFile UP-TO-DATE > Task :tangle-work-api:compileReleaseKotlin UP-TO-DATE > Task :tangle-compiler:generatePomFileForMavenPublication > Task :tangle-compiler:kotlinSourcesJar UP-TO-DATE > Task :tangle-viewmodel-api:compileReleaseKotlin UP-TO-DATE > Task :tangle-compiler:signMavenPublication SKIPPED > Task :tangle-fragment-api:compileReleaseKotlin UP-TO-DATE > Task :tangle-viewmodel-api:javaPreCompileRelease UP-TO-DATE > Task :tangle-viewmodel-api:compileReleaseJavaWithJavac NO-SOURCE > Task :tangle-viewmodel-api:bundleLibCompileToJarRelease UP-TO-DATE > Task :tangle-viewmodel-api:mergeReleaseJniLibFolders UP-TO-DATE > Task :tangle-viewmodel-api:mergeReleaseNativeLibs NO-SOURCE > Task :tangle-viewmodel-api:stripReleaseDebugSymbols NO-SOURCE > Task :tangle-viewmodel-api:copyReleaseJniLibsProjectAndLocalJars UP-TO-DATE > Task :tangle-compiler:publishMavenPublicationToMavenLocal > Task :tangle-compiler:publishToMavenLocal > Task :tangle-viewmodel-api:extractDeepLinksForAarRelease UP-TO-DATE > Task :tangle-viewmodel-compiler:generatePomFileForMavenPublication > Task :tangle-work-compiler:generatePomFileForMavenPublication > Task :tangle-fragment-compiler:generatePomFileForMavenPublication > Task :tangle-viewmodel-api:extractReleaseAnnotations UP-TO-DATE > Task :tangle-fragment-api:extractReleaseAnnotations UP-TO-DATE > Task :tangle-work-api:extractReleaseAnnotations UP-TO-DATE > Task :tangle-fragment-api:javaPreCompileRelease UP-TO-DATE > Task :tangle-work-api:javaPreCompileRelease UP-TO-DATE > Task :tangle-fragment-api:compileReleaseJavaWithJavac NO-SOURCE > Task :tangle-work-api:compileReleaseJavaWithJavac NO-SOURCE > Task :tangle-viewmodel-api:mergeReleaseGeneratedProguardFiles UP-TO-DATE > Task :tangle-viewmodel-api:mergeReleaseConsumerProguardFiles UP-TO-DATE > Task :tangle-viewmodel-api:mergeReleaseShaders UP-TO-DATE > Task :tangle-work-compiler:kaptGenerateStubsKotlin UP-TO-DATE > Task :tangle-viewmodel-api:compileReleaseShaders NO-SOURCE > Task :tangle-work-api:mergeReleaseGeneratedProguardFiles UP-TO-DATE > Task :tangle-fragment-compiler:kaptGenerateStubsKotlin UP-TO-DATE > Task :tangle-viewmodel-compiler:kaptGenerateStubsKotlin UP-TO-DATE > Task :tangle-viewmodel-api:generateReleaseAssets UP-TO-DATE > Task :tangle-fragment-api:mergeReleaseGeneratedProguardFiles UP-TO-DATE > Task :tangle-fragment-api:mergeReleaseConsumerProguardFiles UP-TO-DATE > Task :tangle-work-api:mergeReleaseConsumerProguardFiles UP-TO-DATE > Task :tangle-viewmodel-api:packageReleaseAssets UP-TO-DATE > Task :tangle-fragment-api:mergeReleaseShaders UP-TO-DATE > Task :tangle-work-api:mergeReleaseShaders UP-TO-DATE > Task :tangle-viewmodel-api:prepareLintJarForPublish UP-TO-DATE > Task :tangle-fragment-api:compileReleaseShaders NO-SOURCE > Task :tangle-work-api:compileReleaseShaders NO-SOURCE > Task :tangle-fragment-api:generateReleaseAssets UP-TO-DATE > Task :tangle-work-api:generateReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-api:prepareReleaseArtProfile UP-TO-DATE > Task :tangle-fragment-api:packageReleaseAssets UP-TO-DATE > Task :tangle-work-api:packageReleaseAssets UP-TO-DATE > Task :tangle-viewmodel-api:processReleaseJavaRes NO-SOURCE > Task :tangle-fragment-api:packageReleaseRenderscript NO-SOURCE > Task :tangle-work-api:packageReleaseRenderscript NO-SOURCE > Task :tangle-viewmodel-api:mergeReleaseJavaResource UP-TO-DATE > Task :tangle-fragment-api:prepareLintJarForPublish UP-TO-DATE > Task :tangle-fragment-api:prepareReleaseArtProfile UP-TO-DATE > Task :tangle-work-api:prepareLintJarForPublish UP-TO-DATE > Task :tangle-viewmodel-api:syncReleaseLibJars UP-TO-DATE > Task :tangle-viewmodel-api:writeReleaseAarMetadata UP-TO-DATE > Task :tangle-work-api:prepareReleaseArtProfile UP-TO-DATE > Task :tangle-fragment-api:processReleaseJavaRes NO-SOURCE > Task :tangle-work-api:processReleaseJavaRes NO-SOURCE > Task :tangle-viewmodel-api:bundleReleaseAar UP-TO-DATE > Task :tangle-viewmodel-api:javaDocReleaseGeneration SKIPPED > Task :tangle-fragment-api:mergeReleaseJavaResource UP-TO-DATE > Task :tangle-work-api:mergeReleaseJavaResource UP-TO-DATE > Task :tangle-fragment-compiler:kaptKotlin UP-TO-DATE > Task :tangle-work-api:syncReleaseLibJars UP-TO-DATE > Task :tangle-fragment-api:syncReleaseLibJars UP-TO-DATE > Task :tangle-work-compiler:kaptKotlin UP-TO-DATE > Task :tangle-work-api:writeReleaseAarMetadata UP-TO-DATE > Task :tangle-viewmodel-api:javaDocReleaseJar UP-TO-DATE > Task :tangle-fragment-api:writeReleaseAarMetadata UP-TO-DATE > Task :tangle-viewmodel-compiler:kaptKotlin UP-TO-DATE > Task :tangle-fragment-compiler:compileKotlin UP-TO-DATE > Task :tangle-work-api:bundleReleaseAar UP-TO-DATE > Task :tangle-viewmodel-api:sourceReleaseJar UP-TO-DATE > Task :tangle-fragment-api:bundleReleaseAar UP-TO-DATE > Task :tangle-fragment-api:javaDocReleaseGeneration SKIPPED > Task :tangle-fragment-compiler:dokkaHtml SKIPPED > Task :tangle-work-api:javaDocReleaseGeneration SKIPPED > Task :tangle-work-compiler:compileKotlin UP-TO-DATE > Task :tangle-viewmodel-compiler:compileKotlin UP-TO-DATE > Task :tangle-work-compiler:dokkaHtml SKIPPED > Task :tangle-work-api:javaDocReleaseJar UP-TO-DATE > Task :tangle-fragment-api:javaDocReleaseJar UP-TO-DATE > Task :tangle-fragment-compiler:dokkaJavadocJar UP-TO-DATE > Task :tangle-viewmodel-compiler:dokkaHtml SKIPPED > Task :tangle-work-compiler:dokkaJavadocJar UP-TO-DATE > Task :tangle-fragment-compiler:compileJava NO-SOURCE > Task :tangle-work-compiler:compileJava NO-SOURCE > Task :tangle-viewmodel-compiler:dokkaJavadocJar UP-TO-DATE > Task :tangle-fragment-compiler:classes UP-TO-DATE > Task :tangle-work-compiler:classes UP-TO-DATE > Task :tangle-work-api:sourceReleaseJar UP-TO-DATE > Task :tangle-viewmodel-api:generateMetadataFileForMavenPublication > Task :tangle-fragment-api:sourceReleaseJar UP-TO-DATE > Task :tangle-viewmodel-compiler:compileJava NO-SOURCE > Task :tangle-viewmodel-compiler:classes UP-TO-DATE > Task :tangle-fragment-compiler:jar UP-TO-DATE > Task :tangle-work-compiler:jar UP-TO-DATE > Task :tangle-viewmodel-api:generatePomFileForMavenPublication > Task :tangle-viewmodel-compiler:jar UP-TO-DATE > Task :tangle-viewmodel-api:signMavenPublication SKIPPED > Task :tangle-work-api:generateMetadataFileForMavenPublication > Task :tangle-work-compiler:inspectClassesForKotlinIC UP-TO-DATE > Task :tangle-fragment-compiler:inspectClassesForKotlinIC UP-TO-DATE > Task :tangle-fragment-api:generateMetadataFileForMavenPublication > Task :tangle-viewmodel-compiler:inspectClassesForKotlinIC UP-TO-DATE > Task :tangle-viewmodel-api:publishMavenPublicationToMavenLocal > Task :tangle-viewmodel-activity:generateReleaseRFile UP-TO-DATE > Task :tangle-viewmodel-fragment:generateReleaseRFile UP-TO-DATE > Task :tangle-viewmodel-compose:generateReleaseRFile UP-TO-DATE

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem was found with the configuration of task ':tangle-gradle-plugin:sourcesJar' (type 'Jar').

    • Gradle detected a problem with the following location: '/Users/nikitakulikov/private/Tangle/tangle-gradle-plugin/build/generated/sources/build-properties/kotlin/main'.

      Reason: Task ':tangle-gradle-plugin:sourcesJar' uses this output of task ':tangle-gradle-plugin:generateBuildProperties' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

      Possible solutions:

      1. Declare task ':tangle-gradle-plugin:generateBuildProperties' as an input of ':tangle-gradle-plugin:sourcesJar'.
      2. Declare an explicit dependency on ':tangle-gradle-plugin:generateBuildProperties' from ':tangle-gradle-plugin:sourcesJar' using Task#dependsOn.
      3. Declare an explicit dependency on ':tangle-gradle-plugin:generateBuildProperties' from ':tangle-gradle-plugin:sourcesJar' using Task#mustRunAfter.

      Please refer to https://docs.gradle.org/8.0.2/userguide/validation_problems.html#implicit_dependency for more details about this problem.

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/8.0.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1s
195 actionable tasks: 33 executed, 162 up-to-date

Publishing build scan...
https://gradle.com/s/p6gauz6fxbmbe

@WhosNickDoglio
Copy link
Author

For me ./gradlew publishToMavenLocalNoDokka works on main branch, but not work in this PR:

@LionZXY I think this is fixed now? Pull in my latest changes and let me know if you see any issues 👍

@LionZXY
Copy link

LionZXY commented Mar 18, 2023

Right now anyone can use this branch with jitpack.io. Just add to your branch jitpack.yml with:

jdk:
  - openjdk11
install:
  - ./gradlew publishToMavenLocalNoDokka --no-daemon --no-parallel

For example you can use this build: https://jitpack.io/#LionZXY/Tangle/ndoglio-kotlin-1.8-SNAPSHOT
And use this artifacts:

com.github.LionZXY.Tangle:tangle-viewmodel-compose:968662f0f1
com.github.LionZXY.Tangle:tangle-work-compiler:968662f0f1
com.github.LionZXY.Tangle:tangle-work-api:968662f0f1
com.github.LionZXY.Tangle:tangle-viewmodel-fragment:968662f0f1
com.github.LionZXY.Tangle:tangle-fragment-api:968662f0f1
com.github.LionZXY.Tangle:tangle-gradle-plugin:968662f0f1
com.github.LionZXY.Tangle:tangle-fragment-compiler:968662f0f1
com.github.LionZXY.Tangle:tangle-viewmodel-activity:968662f0f1
com.github.LionZXY.Tangle:tangle-viewmodel-api:968662f0f1
com.github.LionZXY.Tangle:tangle-api:968662f0f1
com.github.LionZXY.Tangle:tangle-compiler:968662f0f1
com.github.LionZXY.Tangle:tangle-viewmodel-compiler:968662f0f1
com.github.LionZXY.Tangle:com.rickbusarow.tangle.gradle.plugin:968662f0f1

@WhosNickDoglio
Copy link
Author

Just pushed a commit to update everything for Kotlin 1.8.20. This commit relies on a dev version of the Compose Compiler since they haven't released a stable version yet.

Outside of that the only other change is removing the usage of the cast method in tests and just using as.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incompatibility with Anvil 2.4.4
2 participants