groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Kasanicky (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GROOVY-8752) "gradle run" throws groovy.lang.MissingMethodExcpeption after 2.5.1->2.5.2 groovy upgrade
Date Tue, 14 Aug 2018 17:16:00 GMT
Robert Kasanicky created GROOVY-8752:
----------------------------------------

             Summary: "gradle run" throws groovy.lang.MissingMethodExcpeption after 2.5.1->2.5.2
groovy upgrade
                 Key: GROOVY-8752
                 URL: https://issues.apache.org/jira/browse/GROOVY-8752
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 2.5.2
         Environment: ubuntu 18.04, oracle java 1.8.0_181, groovy 2.5.2, gradle 4.9
            Reporter: Robert Kasanicky
         Attachments: 252bug.zip

Initializing a class field using a GDK method somehow became problematic in combination with
gradle's application plugin. There was no such problem until the 2.5.2 groovy version (also
switching gradle versions doesn't make a difference).
{code:java}
/*
 * This Groovy source file was generated by the Gradle 'init' task.
 */
class App {

    def today = new Date().format('yyyy-MM-dd')

    String getGreeting() {
        return 'Hello world.'
    }

    static void main(String[] args) {
        println new App().greeting
    }
}
{code}
{code:java}
$ groovy src/main/groovy/App.groovy 
Hello world.
$ ./gradlew run
Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: java.util.Date.format()
is applicable for argument types: (String) values: [yyyy-MM-dd] Possible solutions: from(java.time.Instant),
toYear(), getAt(java.lang.String), parse(java.lang.String), print(java.lang.Object), print(java.io.PrintWriter)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:72)
        at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:48)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
        at App.<init>(App.groovy:6)         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)        
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)        
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:242)
        at App.main(App.groovy:13)
{code}
 

Runnable project including the code listed above is attached.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message