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

Gradle plugin 4.4.0 breaks with Gradle > 2.5 #86

Closed
eskatos opened this issue Jul 8, 2016 · 13 comments
Closed

Gradle plugin 4.4.0 breaks with Gradle > 2.5 #86

eskatos opened this issue Jul 8, 2016 · 13 comments

Comments

@eskatos
Copy link

eskatos commented Jul 8, 2016

Using org.jfrog.buildinfo:build-info-extractor-gradle:4.4.0, starting with Gradle 2.6 up to 2.14 and 3.0-milestone-2, we get the following error: Cannot notify listeners of type ProjectEvaluationListener as these listeners are already being notified.

It works well using org.jfrog.buildinfo:build-info-extractor-gradle:4.3.0.

This issue was originally reported in the Gradle forums.

One of the reporter kindly put up a reproducer project.

Here is the complete stacktrace with Gradle 2.14:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/paul/src/local/gradle-artifactory-bug/build.gradle' line: 21

* What went wrong:
A problem occurred configuring project ':foo-client'.
> Failed to notify project evaluation listener.
   > A problem occurred configuring project ':foo-common'.
      > Cannot notify listeners of type ProjectEvaluationListener as these listeners are already being notified.
   > A problem occurred configuring project ':foo-common'.
      > Cannot notify listeners of type ProjectEvaluationListener as these listeners are already being notified.
   > A problem occurred configuring project ':foo-common'.
      > Cannot notify listeners of type ProjectEvaluationListener as these listeners are already being notified.
   > A problem occurred configuring project ':foo-common'.
      > Cannot notify listeners of type ProjectEvaluationListener as these listeners are already being notified.

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':foo-client'.
        at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
        at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47)
        at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
        at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener.
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:55)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:221)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:209)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
        at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy12.afterEvaluate(Unknown Source)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
        at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy12.afterEvaluate(Unknown Source)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
        ... 41 more
Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':foo-common'.
        at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:49)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
        at org.gradle.api.publish.internal.ProjectDependencyPublicationResolver.resolve(ProjectDependencyPublicationResolver.java:35)
        at org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication.addProjectDependency(DefaultMavenPublication.java:120)
        at org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication.from(DefaultMavenPublication.java:111)
        at build_6cfynj3nvfncugmjq3kpefkkk$_run_closure2$_closure5$_closure6$_closure7.doCall(/Users/paul/src/local/gradle-artifactory-bug/build.gradle:21)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
        at org.gradle.api.internal.AbstractPolymorphicDomainObjectContainer.create(AbstractPolymorphicDomainObjectContainer.java:65)
        at org.gradle.api.internal.PolymorphicDomainObjectContainerConfigureDelegate._configure(PolymorphicDomainObjectContainerConfigureDelegate.java:44)
        at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:68)
        at build_6cfynj3nvfncugmjq3kpefkkk$_run_closure2$_closure5$_closure6.doCall(/Users/paul/src/local/gradle-artifactory-bug/build.gradle:20)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
        at org.gradle.util.ConfigureUtil.configureSelf(ConfigureUtil.java:149)
        at org.gradle.api.internal.AbstractNamedDomainObjectContainer.configure(AbstractNamedDomainObjectContainer.java:70)
        at org.gradle.api.internal.AbstractNamedDomainObjectContainer.configure(AbstractNamedDomainObjectContainer.java:25)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:59)
        at org.gradle.api.publish.internal.DefaultPublishingExtension.publications(DefaultPublishingExtension.java:48)
        at org.gradle.api.publish.internal.DefaultPublishingExtension_Decorated.publications(Unknown Source)
        at build_6cfynj3nvfncugmjq3kpefkkk$_run_closure2$_closure5.doCall(/Users/paul/src/local/gradle-artifactory-bug/build.gradle:19)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
        at org.gradle.listener.ActionBroadcast.execute(ActionBroadcast.java:39)
        at org.gradle.api.internal.plugins.ExtensionsStorage$DeferredConfigurableExtensionHolder.configureNow(ExtensionsStorage.java:183)
        at org.gradle.api.internal.plugins.ExtensionsStorage$DeferredConfigurableExtensionHolder.get(ExtensionsStorage.java:162)
        at org.gradle.api.internal.plugins.ExtensionsStorage.getByType(ExtensionsStorage.java:77)
        at org.gradle.api.internal.plugins.DefaultConvention.getByType(DefaultConvention.java:113)
        at org.jfrog.gradle.plugin.artifactory.task.helper.TaskHelperPublications.publications(TaskHelperPublications.java:79)
        at org.jfrog.gradle.plugin.artifactory.task.ArtifactoryTask.publications(ArtifactoryTask.java:89)
        at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:374)
        at org.gradle.internal.metaobject.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:169)
        at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
        at org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.invokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:30)
        at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:59)
        at build_6cfynj3nvfncugmjq3kpefkkk$_run_closure3$_closure8$_closure10.doCall(/Users/paul/src/local/gradle-artifactory-bug/build.gradle:37)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
        at org.gradle.util.ConfigureUtil.configureSelf(ConfigureUtil.java:137)
        at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:522)
        at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:76)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:104)
        at org.jfrog.gradle.plugin.artifactory.task.BuildInfoBaseTask.projectsEvaluated(BuildInfoBaseTask.java:178)
        at org.jfrog.gradle.plugin.artifactory.task.BuildInfoBaseTask$projectsEvaluated.call(Unknown Source)
        at org.jfrog.gradle.plugin.artifactory.extractor.listener.ProjectsEvaluatedBuildListener$_afterEvaluate_closure1.doCall(ProjectsEvaluatedBuildListener.groovy:43)
        at org.jfrog.gradle.plugin.artifactory.extractor.listener.ProjectsEvaluatedBuildListener.afterEvaluate(ProjectsEvaluatedBuildListener.groovy:42)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:249)
        at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:229)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
        ... 56 more
Caused by: java.lang.IllegalStateException: Cannot notify listeners of type ProjectEvaluationListener as these listeners are already being notified.
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast.startNotification(DefaultListenerManager.java:170)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast.access$300(DefaultListenerManager.java:112)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:219)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:209)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
        at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy12.beforeEvaluate(Unknown Source)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
        at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy12.beforeEvaluate(Unknown Source)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:47)
        ... 103 more


BUILD FAILED
wizjany added a commit to EngineHub/WorldEdit that referenced this issue Aug 6, 2016
Fails to find artifacts on 4.4, see jfrog/build-info#86
@MattNohelty
Copy link

Has there been any progress on a longer term solution other than just downgrading the plugin?

@calebmathis
Copy link

calebmathis commented Apr 17, 2018

FYI, through much experimentation, I found that I get this error when any subproject (A) depends on another subproject (B) if B.name sorts alphabetically after A.name. I.e.
For subprojects named A, B, and C - A can be a dependent of B and C, B can be a dependent of C, and C cannot be a dependent of anybody. :(

I have been able to consistently show this by doing nothing other than renaming subprojects. Seems to be an issue in 4.4.0 and above. 4.3.0 does not appear to have this problem.

@kellyfj
Copy link

kellyfj commented Apr 18, 2018

This is an issue in 4.7.1 as well
This is very problematic as I need to upgrade to get some fixes where publishPom = false are ignored

@lavcraft
Copy link

👍
I have a similar problem :(

@mpapirkovskyy
Copy link

mpapirkovskyy commented May 17, 2018

Is someone looking at this issue?
This effectively makes artifactory plugin to break multi-project builds with cross-project dependencies.
Reproduces with gradle 4.7 and artifactory plugin 4.7.2

@AlexeiVainshtein
Copy link
Contributor

Hi @mpapirkovskyy
This issue is seems to be related to this #165. I've tried to run with the project example referenced in this thread and managed to reproduce the issue with 4.7.2. I just wanted to update you that this is a work in progress.
This happens due to a change that occurred to support configure on demand. There is also this JIRA ticket that you can watch and vote to get updates.
We are waiting for an answer from Gradle team regarding #gradle/gradle#4783

drewhannay pushed a commit to drewhannay/dexmaker that referenced this issue May 19, 2018
Configuration on demand + the JFrog plugin seems to cause
Gradle sync issues in Android Studio. Disabling this option
and disabling the Configure on Demand setting in Android Studio
preferences fixes the issue.

This project doesn't need Configure on Demand anyway, so there's
no downside to disabling this option, even if Gradle and JFrog
come up with a different workaround later.

For more details, see:
jfrog/build-info#86
drewhannay pushed a commit to drewhannay/dexmaker that referenced this issue May 19, 2018
Configuration on demand + the JFrog plugin seems to cause
Gradle sync issues in Android Studio. Disabling this option
and disabling the Configure on Demand setting in Android Studio
preferences fixes the issue.

This project doesn't need Configure on Demand anyway, so there's
no downside to disabling this option, even if Gradle and JFrog
come up with a different workaround later.

For more details, see:
jfrog/build-info#86
drewhannay pushed a commit to linkedin/dexmaker that referenced this issue May 19, 2018
Configuration on demand + the JFrog plugin seems to cause
Gradle sync issues in Android Studio. Disabling this option
and disabling the Configure on Demand setting in Android Studio
preferences fixes the issue.

This project doesn't need Configure on Demand anyway, so there's
no downside to disabling this option, even if Gradle and JFrog
come up with a different workaround later.

For more details, see:
jfrog/build-info#86
@AlexeiVainshtein
Copy link
Contributor

Hi @mpapirkovskyy
I just wanted to let you know that we have released version 4.7.3 of the Gradle Artifactory Plugin that fixed this issue. I've tried with the reproducer project that was mentioned in this issue and it worked. Reproduced with version 4.7.2 and with 4.7.3 the issue didn't occurred.
Can you please try this version and let us know if this fix the issue for you?

Thanks,

@d1ss0nanz
Copy link

I still see the same error using 4.7.3 in combination with org.gradle.configureondemand=true.

@AlexeiVainshtein
Copy link
Contributor

@d1ss0nanz thank you for reproting this. I think that this is related to a known issue with configure on demand that we have asked assistance from Gradle team. The issue can be found here: gradle/gradle#4783
Can you please send us a project example to reproduce the issue that you have mentioned? This will help us to know if those two are related.

@mpapirkovskyy
Copy link

@AlexeiVainshtein thanks, seems to work, I will update plugin and test other configurations now.

@AlexeiVainshtein
Copy link
Contributor

Thanks @mpapirkovskyy
Can you please let us know the results of your tests with other configurations as well?

@calebmathis
Copy link

4.7.3 seems to fix it for me after reproducing with 4.7.2

@eyalbe4 eyalbe4 closed this as completed Aug 25, 2018
@d1ss0nanz
Copy link

@AlexeiVainshtein Did you see the comment from the Gradle guys:
gradle/gradle#4783 (comment)

RobiNino pushed a commit to RobiNino/build-info that referenced this issue Oct 7, 2020
Jenkins Pipeline - New declarative-example and examples improvements.
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

No branches or pull requests

9 participants