gretty
gretty copied to clipboard
Exception with multiple subprojects configured with gretty.
We are using gretty 1.2.4
We have a large multi-project build with about 30 projects each having their own build.gradle file.
We get an exception when attempting to run tasks on any project as soon as we have more than one project with gretty configured. However each single project configured separately works fine.
Do we need to do some kind of farm configuration to override the default farm configuration?
We get the following exception
- Exception is: org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app:vbook'. 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:487) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:85) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47) at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90) 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:41) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:49) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:71) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: org.akhikhl.gretty.ProductConfigurer(org.gradle.api.internal.project.DefaultProject_Decorated, java.io.File, java.lang.String, org.akhikhl.gretty.ProductExtension_Decorated) at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1722) at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1525) at org.codehaus.groovy.runtime.callsite.MetaClassConstructorSite.callConstructor(MetaClassConstructorSite.java:46) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:107) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:202) at org.akhikhl.gretty.ProductsConfigurer$_configureProducts_closure3.doCall(ProductsConfigurer.groovy:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1015) at groovy.lang.Closure.call(Closure.java:423) at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForMapEntry(DefaultGroovyMethods.java:4271) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1408) at org.codehaus.groovy.runtime.dgm$151.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.akhikhl.gretty.ProductsConfigurer.configureProducts(ProductsConfigurer.groovy:34) at org.akhikhl.gretty.ProductsConfigurer$configureProducts.call(Unknown Source) at org.akhikhl.gretty.GrettyPlugin.afterProjectEvaluate(GrettyPlugin.groovy:603) at org.akhikhl.gretty.GrettyPlugin.this$2$afterProjectEvaluate(GrettyPlugin.groovy) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:382) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1015) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) at org.akhikhl.gretty.GrettyPlugin$_apply_closure62_closure104.doCall(GrettyPlugin.groovy:704) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1015) at groovy.lang.Closure.call(Closure.java:423) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25) at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87) at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
I have the same issue but with little difference. I have two subprojects with own build.gradle file and gretty plugin setup.
I use:
plugins { id "org.akhikhl.gretty" version "1.2.4" }
Project A depends on project B. When A and B has gretty setup like above then everything ok, but when I am adding another plugin to project B I get an exception which explained above.
plugins { id "org.akhikhl.gretty" version "1.2.4" id "org.liquibase.gradle" version "1.1.1" }
I've solved my problem.
I added
plugins { id "org.akhikhl.gretty" version "1.2.4" }
to a ROOT project. Then added
apply plugin: 'org.akhikhl.gretty'
to both A and B subprojects. Everything is ok. Then I added liquibase plugin to project B like below and got no exceptions. Everything works like a charm))
plugins { id "org.liquibase.gradle" version "1.1.1" } apply plugin: 'org.akhikhl.gretty'
AlekseyMko,
I tried your solution and it won't work for me. If you put the plugin block in your root project that means the root project has the gretty plugin applied. That means that gradle appRun will try to run on your root project even though it shouldn't.
If you run gradle from root module probably you should use submodule:appRun to specify what module you want to run.
Hello,
Is there a solution other than applying this plugin to the root project?
The same question. Do you have some estimates to fix it? It still reproduces under Gretty 1.4.0.
@Paul-Shaw , @AlekseyMko , @dparish , @isk0001y , @sergey-morenets : I will see to fixing it in Gretty 1.4.2, scheduled for release on 1 of March, 2017.
Was this fixed in 1.4.2? I'm still seeing the issue after upgrading to 1.4.2 but maybe i'm doing it wrong.
Bump, is this fixed in 2.0.0? Doesn't appear to be.
I'm getting this with Gradle 4.8 and Gretty 2.2.0 in a multi module project
@mariuspaval do you have a sample project demonstrating this problem, and also Gretty 2.2.0 currently lives here: https://github.com/gretty-gradle-plugin/gretty .
@javabrett I don't have a sample project. I'm migrating a bigger project to Gradle. Basically the project has 2 modules, core and api. Api has a dependency to core. In the Api project I added the configs from here http://akhikhl.github.io/gretty-doc/Getting-started.html. When I apply the gretty plugin I get the exact error in the api.
Hi @akhikhl @javabrett I am also having the same issue. My project. Structure is I have root build.gradle and i have two sub projects. One main webApp moduleA and other Integration Jar module moduleB In root, i configured
plugins {
id "org.akhikhl.gretty" version "1.4.2"
}
and in the webapp moduleA
apply plugin: 'war'
apply plugin: 'org.akhikhl.gretty'
.....
gretty {
servletContainer = 'jetty9'
}
farm {
webapp 'build/libs/{buildWar}-${version}.war'
webapp project
}
And i am getting the following error.
What went wrong:
Execution failed for task ':cima-onboarding-server:appRun'.
> No signature of method: static org.akhikhl.gretty.ServiceProtocol.createReader() is applicable for argument types: () values: []
Gradle version : 6.5
Jetty version: 9.4
Initially i got the same error as this thread posted but after lot of workarounds, i was getting a different error now. Thank you for your for your help
@siddhuKantipudi consider testing with latest https://github.com/gretty-gradle-plugin/gretty and see if this problem is still present.