Skip to content

Conversation

@jamesfredley
Copy link
Contributor

Revert recent changes to initializeCompleter()

I believe this will resolve the following when starting the grails-wrapper:

 ./grailsw --stacktrace Updating Grails wrapper, allowed versions to update to are [RELEASE,RC,MILESTONE,SNAPSHOT]... ...A Grails snapshot version has been detected. Downloading latest snapshot. ... Using Snapshot URL: https://repository.apache.org/content/groups/public/org/apache/grails/grails-cli/7.0.0-SNAPSHOT/grails-cli-7.0.0-20250826.201132-129-all.jar ... 92% (21.88 MiB/s) ...Moving remotely downloaded jar to: C:\Users\james\.grails\wrapper\7.0.0-SNAPSHOT\grails-cli-7.0.0-SNAPSHOT-all.jar Updated wrapper to version: 7.0.0-SNAPSHOT ]' with class 'java.util.ArrayList' to class 'groovy.lang.Closure' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: groovy.lang.Closure(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.) ]' with class 'java.util.ArrayList' to class 'groovy.lang.Closure' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: groovy.lang.Closure(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, St ring, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) at org.grails.cli.gradle.commands.GradleCommand.initializeCompleter(GradleCommand.groovy:80) at org.grails.cli.gradle.commands.GradleCommand.setProjectContext(GradleCommand.groovy:53) at org.grails.cli.profile.AbstractProfile$_getCommands_closure7.doCall(AbstractProfile.groovy:424) at org.grails.cli.profile.AbstractProfile.getCommands(AbstractProfile.groovy:432) at org.grails.cli.profile.repository.AbstractJarProfileRepository$JarProfile.getCommands(AbstractJarProfileRepository.groovy:135) at org.grails.cli.profile.AbstractProfile.getCompleters(AbstractProfile.groovy:362) at org.grails.cli.GrailsCli.setupCompleters(GrailsCli.groovy:407) at org.grails.cli.GrailsCli.handleInteractiveMode(GrailsCli.groovy:389) at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:279) at org.grails.cli.GrailsCli.main(GrailsCli.groovy:169) at org.apache.grails.cli.DelegatingShellApplication.main(DelegatingShellApplication.groovy:42) at grails.init.Start.main(Start.java:77) ]] reason: java.lang.InstantiationExceptionmeException: failed to invoke constructor: public groovy.lang.Closure(java.lang.Object) with arguments: [[artifactTransforms at org.codehaus.groovy.reflection.CachedConstructor.createException(CachedConstructor.java:96) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:67) at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:60) at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1891) at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1679) at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:676) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:389) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:326) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:244) at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) at org.grails.cli.gradle.commands.GradleCommand.initializeCompleter(GradleCommand.groovy:80) at org.grails.cli.gradle.commands.GradleCommand.setProjectContext(GradleCommand.groovy:53) at org.grails.cli.profile.AbstractProfile$_getCommands_closure7.doCall(AbstractProfile.groovy:424) at jdk.internal.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:280) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007) at groovy.lang.Closure.call(Closure.java:433) at groovy.lang.Closure.call(Closure.java:422) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2394) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2379) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2408) at org.grails.cli.profile.AbstractProfile.getCommands(AbstractProfile.groovy:432) at org.grails.cli.profile.repository.AbstractJarProfileRepository$JarProfile.getCommands(AbstractJarProfileRepository.groovy:135) at org.grails.cli.profile.AbstractProfile.getCompleters(AbstractProfile.groovy:362) at org.grails.cli.GrailsCli.setupCompleters(GrailsCli.groovy:407) at org.grails.cli.GrailsCli.handleInteractiveMode(GrailsCli.groovy:389) at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:279) at org.grails.cli.GrailsCli.main(GrailsCli.groovy:169) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.grails.cli.DelegatingShellApplication.main(DelegatingShellApplication.groovy:42) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) ... 1 more Caused by: java.lang.InstantiationException ... 41 more ]' with class 'java.util.ArrayList' to class 'groovy.lang.Closure' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: groovy.lang.Closure(String, String, String, String, String, S tring, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String , String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Str ing, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Strin g, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, St ring, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String) PS C:\Users\james\Downloads\demo (63)\demo> 
Wrap the call to readTasks in a closure when initializing ClosureCompleter to ensure tasks are read dynamically. This prevents premature evaluation and potential stale task lists.
@jamesfredley jamesfredley self-assigned this Aug 26, 2025
@jamesfredley jamesfredley moved this to In Progress in Apache Grails Aug 26, 2025
@github-actions github-actions bot added the bug label Aug 26, 2025
@jamesfredley jamesfredley added this to the grails:7.0.0-RC2 milestone Aug 26, 2025
…s/GradleCommand.groovy Co-authored-by: Mattias Reichel <matrei@apache.org>
@jamesfredley jamesfredley merged commit 00b8008 into 7.0.x Aug 27, 2025
58 of 59 checks passed
@jamesfredley jamesfredley deleted the fix-wrapper-breaking-change branch August 27, 2025 14:46
@github-project-automation github-project-automation bot moved this from In Progress to Done in Apache Grails Aug 27, 2025
@jamesfredley
Copy link
Contributor Author

grails-wrapper is happy again

./grailsw --stacktrace Updating Grails wrapper, allowed versions to update to are [RELEASE,RC,MILESTONE,SNAPSHOT]... ...A Grails snapshot version has been detected. Downloading latest snapshot. ... Using Snapshot URL: https://repository.apache.org/content/groups/public/org/apache/grails/grails-cli/7.0.0-SNAPSHOT/grails-cli-7.0.0-20250827.162913-130-all.jar ... 80% (21.63 MiB/s) ...Moving remotely downloaded jar to: C:\Users\james\.grails\wrapper\7.0.0-SNAPSHOT\grails-cli-7.0.0-SNAPSHOT-all.jar | Starting interactive mode... | Enter a command name to run. Use TAB for completion: grails> 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 participants