wttech / gradle-aem-plugin

Swiss army knife for Adobe Experience Manager related automation. Environment setup & incremental AEM application build which takes seconds, not minutes.
https://tech.cognifide.com/tag/gradle-aem-plugin
Apache License 2.0
158 stars 32 forks source link

Parallel file resolver incompatible with Gradle 6.0 #493

Closed pun-ky closed 4 years ago

pun-ky commented 4 years ago

gradle-aem-multi; e.g sh gradlew :aem:site.live:packageCompose --warning-mode=all

The configuration :aem:site.live:detachedConfiguration2 was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a thread not man
aged by Gradle or from a different project.  See https://docs.gradle.org/5.6.4/userguide/troubleshooting_dependency_resolution.html#sub:configuration_resolution_constraints for more detail
s. This behaviour has been deprecated and is scheduled to be removed in Gradle 6.0.
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(DefaultConfiguration.java:566)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$2300(DefaultConfiguration.java:139)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getSelectedArtifacts(DefaultConfiguration.java:1241)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:1230)
        at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:75)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.iterator(DefaultConfiguration.java:486)
        at org.gradle.api.internal.file.AbstractFileCollection.getSingleFile(AbstractFileCollection.java:62)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getSingleFile(Unknown Source)
        at com.cognifide.gradle.aem.common.build.DependencyOptions$Companion.resolve(DependencyOptions.kt:83)
        at com.cognifide.gradle.aem.common.file.resolver.Resolver$resolve$1.invoke(Resolver.kt:94)
        at com.cognifide.gradle.aem.common.file.resolver.Resolver$resolve$1.invoke(Resolver.kt:19)
        at com.cognifide.gradle.aem.common.file.resolver.FileResolution$file$2.invoke(FileResolution.kt:12)
        at com.cognifide.gradle.aem.common.file.resolver.FileResolution$file$2.invoke(FileResolution.kt:6)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at com.cognifide.gradle.aem.common.file.resolver.FileResolution.getFile(FileResolution.kt)
        at com.cognifide.gradle.aem.common.file.resolver.FileGroup.getFiles(FileGroup.kt:14)
        at com.cognifide.gradle.aem.common.file.resolver.FileGroup.resolve(FileGroup.kt:25)
        at com.cognifide.gradle.aem.common.file.resolver.Resolver$allGroups$$inlined$apply$lambda$1$1$1.invoke(Resolver.kt:60)
        at com.cognifide.gradle.aem.common.file.resolver.Resolver$allGroups$$inlined$apply$lambda$1$1$1.invoke(Resolver.kt:19)
        at com.cognifide.gradle.aem.common.build.ProgressIndicator.increment(ProgressIndicator.kt:82)
        at com.cognifide.gradle.aem.common.file.resolver.Resolver$allGroups$$inlined$apply$lambda$1$1.invoke(Resolver.kt:60)
        at com.cognifide.gradle.aem.common.file.resolver.Resolver$allGroups$$inlined$apply$lambda$1$1.invoke(Resolver.kt:19)
        at com.cognifide.gradle.aem.common.build.Parallel$each$1.invoke(Parallel.kt:30)
        at com.cognifide.gradle.aem.common.build.Parallel$each$1.invoke(Parallel.kt:7)
        at com.cognifide.gradle.aem.common.build.Parallel$map$2.invoke(Parallel.kt:15)
        at com.cognifide.gradle.aem.common.build.Parallel$map$2.invoke(Parallel.kt:7)
        at com.cognifide.gradle.aem.common.build.Parallel$map$3$invokeSuspend$$inlined$map$lambda$1.invokeSuspend(Parallel.kt:25)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:238)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)
pun-ky commented 4 years ago

image

not only parallel file resolver.

wherever aem.progress callback is using aem.resolveFile ... logging is on main thread but callback on coroutine dispatched one.

requires major refactoring

pun-ky commented 4 years ago

https://docs.gradle.org/5.6.4/userguide/troubleshooting_dependency_resolution.html#sub:configuration_resolution_constraints

pun-ky commented 4 years ago

To be released in 8.1.1