Latest gradle plugin release fails with ExplodeWarTask.preserve() error

158 views
Skip to first unread message

Richard Perfect

unread,
Sep 22, 2017, 4:25:33 PM9/22/17
to Google App Engine
Hi,

This is my first day learning Google App-Engine, but I got stuck for a while on what looks to be a problem with the latest release of the Gradle plugin.

In the build.gradle example here; It seems the 1.3.3 release (from a few days ago on Sep 19th) gives me the following error;


C:\Projects\App-Engine-Gradle-Hello>gradlew compileJava

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Projects\App-Engine-Gradle-Hello\build.gradle' line: 23

* What went wrong:
A problem occurred evaluating root project 'App-Engine-Gradle-Hello'.
> com.google.cloud.tools.gradle.appengine.standard.ExplodeWarTask.preserve(Lorg/gradle/api/Action;)Lorg/gradle/api/tasks/Sync;

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

BUILD FAILED



But when I downgrade to one of the earlier releases e.g. 1.3.2 I don't get this issue.

It turns out that I was using an older version of Gradle and it seems that there's a difference between 1.3.2 and 1.3.3 that now requires a Gradle version of 3.+ instead of 2.x

Updating my gradle wrapper version to 3.3 solved the problem.

gradle wrapper --gradle-version 3.3


Just posting in case this helps someone, and so hopefully Google search finds this post for someone else.

Complete stacktrace follows for search engine indexing.


C:\Projects\App-Engine-Gradle-Hello>
C:\Projects\App-Engine-Gradle-Hello>gradlew compileJava --stacktrace

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Projects\App-Engine-Gradle-Hello\build.gradle' line: 23

* What went wrong:
A problem occurred evaluating root project 'App-Engine-Gradle-Hello'.
> com.google.cloud.tools.gradle.appengine.standard.ExplodeWarTask.preserve(Lorg/gradle/api/Action;)Lorg/gradle/api/tasks/Sync;

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

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'App-Engine-Gradle-Hello'.
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:177)
        at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:182)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
        at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
        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:42)
        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)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.lang.NoSuchMethodError: com.google.cloud.tools.gradle.appengine.standard.ExplodeWarTask.preserve(Lorg/gradle/api/Action;)Lorg/gradle/api/tasks/Sync;
        at com.google.cloud.tools.gradle.appengine.standard.ExplodeWarTask.setExplodedAppDirectory(ExplodeWarTask.java:41)
        at com.google.cloud.tools.gradle.appengine.standard.ExplodeWarTask_Decorated.setExplodedAppDirectory(Unknown Source)
        at com.google.cloud.tools.gradle.appengine.standard.AppEngineStandardPlugin$2.execute(AppEngineStandardPlugin.java:117)
        at com.google.cloud.tools.gradle.appengine.standard.AppEngineStandardPlugin$2.execute(AppEngineStandardPlugin.java:114)
        at org.gradle.api.internal.tasks.DefaultTaskContainer.create(DefaultTaskContainer.java:128)
        at com.google.cloud.tools.gradle.appengine.standard.AppEngineStandardPlugin.createExplodedWarTask(AppEngineStandardPlugin.java:111)
        at com.google.cloud.tools.gradle.appengine.standard.AppEngineStandardPlugin.apply(AppEngineStandardPlugin.java:65)
        at com.google.cloud.tools.gradle.appengine.standard.AppEngineStandardPlugin.apply(AppEngineStandardPlugin.java:35)
        at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35)
        at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.java:43)
        at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:137)
        at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:116)
        at com.google.cloud.tools.gradle.appengine.AppEnginePlugin.apply(AppEnginePlugin.java:39)
        at com.google.cloud.tools.gradle.appengine.AppEnginePlugin.apply(AppEnginePlugin.java:33)
        at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35)
        at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.java:43)
        at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:137)
        at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:112)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:113)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:36)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:80)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:136)
        at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46)
        at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34)
        at org.gradle.api.Script$apply$0.callCurrent(Unknown Source)
        at build_62dv45h7us7pbsozvhvra8wft.run(C:\Projects\App-Engine-Gradle-Hello\build.gradle:23)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
        ... 50 more


BUILD FAILED

Total time: 4.045 secs


The information contained in this email is privileged and confidential and intended for the addressee only. If you are not the intended recipient, please respect that confidentiality and do not disclose, copy or make use of its contents. If received in error, please destroy this email and contact the sender immediately. Thank you.

Dan Gravell

unread,
Oct 10, 2017, 9:06:05 AM10/10/17
to Google App Engine
Thanks for posting. I also experienced this, although strangely on a project that was last built and ran successfully in May... coming back to it today, any task I run gives this NoSuchMethodError.

This unfortunately also includes invoking the gradle wrapper task, so I had to:

- Comment out all my appengine plugin stuff in my build.gradle
- Then generate the wrapper

Then invoking commands with ./gradlew instead of plain gradle worked.

Dan
Reply all
Reply to author
Forward
0 new messages