[jira] [Updated] (GROOVY-6282) groovyc ant task generates invalid stub (picks wrong constructor) and fails in Java 1.7 compilation

2023-01-17 Thread Eric Milles (Jira)


 [ 
https://issues.apache.org/jira/browse/GROOVY-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles updated GROOVY-6282:

Fix Version/s: 2.5.21

> groovyc ant task generates invalid stub (picks wrong constructor) and fails 
> in Java 1.7 compilation
> ---
>
> Key: GROOVY-6282
> URL: https://issues.apache.org/jira/browse/GROOVY-6282
> Project: Groovy
>  Issue Type: Bug
>  Components: Stub generator / Joint compiler
>Affects Versions: 2.1.6
>Reporter: Lari Hotari
>Assignee: Eric Milles
>Priority: Major
> Fix For: 4.0.0-beta-1, 3.0.9, 2.5.21
>
>
> The current master branch of Grails won't compile with Java 1.7 . It compiles 
> ok with Java 1.6 .
> The error message is:
> {code}
> [ant:groovyc] /tmp/groovy-generated-614097634888075990-java-sourc
> [ant:groovyc] 
> e/org/codehaus/groovy/grails/cli/interactive/GrailsInteractiveCompletor.java:15:
>  error: unreported exception IOException; must b
> [ant:groovyc] e caught or declared to be thrown
> [ant:groovyc] super ((java.io.InputStream)null);
> [ant:groovyc]   ^
> {code}
> Reproducing error:
> {code}
> git clone https://github.com/grails/grails-core.git
> cd grails-core
> git checkout 1239b8ed
> ./gradlew clean compileGroovy
> {code}
> Generated stub with error:
> {code}
> package org.codehaus.groovy.grails.cli.interactive;
> import java.lang.*;
> import java.io.*;
> import java.net.*;
> import java.util.*;
> import groovy.lang.*;
> import groovy.util.*;
> @groovy.transform.CompileStatic() public class GrailsInteractiveCompletor
>   extends jline.SimpleCompletor  implements
> groovy.lang.GroovyObject {
> public GrailsInteractiveCompletor
> (grails.util.BuildSettings settings, java.util.List 
> scriptResources) {
> super ((java.io.InputStream)null);
> }
> public  groovy.lang.MetaClass getMetaClass() { return 
> (groovy.lang.MetaClass)null;}
> public  void setMetaClass(groovy.lang.MetaClass mc) { }
> public  java.lang.Object invokeMethod(java.lang.String method, 
> java.lang.Object arguments) { return null;}
> public  java.lang.Object getProperty(java.lang.String property) { return 
> null;}
> public  void setProperty(java.lang.String property, java.lang.Object value) { 
> }
> public  grails.util.BuildSettings getSettings() { return 
> (grails.util.BuildSettings)null;}
> public  void setSettings(grails.util.BuildSettings value) { }
> public  java.util.Map getCompletorCache() { return (java.util.Map)null;}
> public  void setCompletorCache(java.util.Map value) { }
> @java.lang.Override() public  int complete(java.lang.String buffer, int 
> cursor, java.util.List clist) { return (int)0;}
> public static  java.lang.String[] getScriptNames(java.util.List 
> scriptResources) { return (java.lang.String[])null;}
> }
> {code}
> However the stub is ok if I remove "groovyOptions.useAnt = true" and 
> "options.useAnt = true" from the build.gradle of Grails:
> {code}
> package org.codehaus.groovy.grails.cli.interactive;
> import java.lang.*;
> import java.io.*;
> import java.net.*;
> import java.util.*;
> import groovy.lang.*;
> import groovy.util.*;
> @groovy.transform.CompileStatic() public class GrailsInteractiveCompletor
>   extends jline.SimpleCompletor  implements
> groovy.lang.GroovyObject {
> public GrailsInteractiveCompletor
> (grails.util.BuildSettings settings, java.util.List 
> scriptResources) {
> super ((java.lang.String)null);
> }
> public  groovy.lang.MetaClass getMetaClass() { return 
> (groovy.lang.MetaClass)null;}
> public  void setMetaClass(groovy.lang.MetaClass mc) { }
> public  java.lang.Object invokeMethod(java.lang.String method, 
> java.lang.Object arguments) { return null;}
> public  java.lang.Object getProperty(java.lang.String property) { return 
> null;}
> public  void setProperty(java.lang.String property, java.lang.Object value) { 
> }
> public  grails.util.BuildSettings getSettings() { return 
> (grails.util.BuildSettings)null;}
> public  void setSettings(grails.util.BuildSettings value) { }
> public  java.util.Map getCompletorCache() { return (java.util.Map)null;}
> public  void setCompletorCache(java.util.Map value) { }
> @java.lang.Override() public  int complete(java.lang.String buffer, int 
> cursor, java.util.List clist) { return (int)0;}
> public static  java.lang.String[] getScriptNames(java.util.List 
> scriptResources) { return (java.lang.String[])null;}
> }
> {code}
> diff of generated stubs:
> {code}
> < super ((java.lang.String)null);
> ---
> > super ((java.io.InputStream)null);
> {code}
> Source code of GrailsInteractiveCompletor:
> https://github.com/grails/grails-core/blob/1239b8edb606cca1c137285393a366898e18e196/grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive/GrailsInteractiveCompletor.groovy#L47
> however 

[jira] [Updated] (GROOVY-6282) groovyc ant task generates invalid stub (picks wrong constructor) and fails in Java 1.7 compilation

2021-08-19 Thread Eric Milles (Jira)


 [ 
https://issues.apache.org/jira/browse/GROOVY-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles updated GROOVY-6282:

Fix Version/s: 3.0.9

> groovyc ant task generates invalid stub (picks wrong constructor) and fails 
> in Java 1.7 compilation
> ---
>
> Key: GROOVY-6282
> URL: https://issues.apache.org/jira/browse/GROOVY-6282
> Project: Groovy
>  Issue Type: Bug
>  Components: Stub generator / Joint compiler
>Affects Versions: 2.1.6
>Reporter: Lari Hotari
>Assignee: Eric Milles
>Priority: Major
> Fix For: 4.0.0-beta-1, 3.0.9
>
>
> The current master branch of Grails won't compile with Java 1.7 . It compiles 
> ok with Java 1.6 .
> The error message is:
> {code}
> [ant:groovyc] /tmp/groovy-generated-614097634888075990-java-sourc
> [ant:groovyc] 
> e/org/codehaus/groovy/grails/cli/interactive/GrailsInteractiveCompletor.java:15:
>  error: unreported exception IOException; must b
> [ant:groovyc] e caught or declared to be thrown
> [ant:groovyc] super ((java.io.InputStream)null);
> [ant:groovyc]   ^
> {code}
> Reproducing error:
> {code}
> git clone https://github.com/grails/grails-core.git
> cd grails-core
> git checkout 1239b8ed
> ./gradlew clean compileGroovy
> {code}
> Generated stub with error:
> {code}
> package org.codehaus.groovy.grails.cli.interactive;
> import java.lang.*;
> import java.io.*;
> import java.net.*;
> import java.util.*;
> import groovy.lang.*;
> import groovy.util.*;
> @groovy.transform.CompileStatic() public class GrailsInteractiveCompletor
>   extends jline.SimpleCompletor  implements
> groovy.lang.GroovyObject {
> public GrailsInteractiveCompletor
> (grails.util.BuildSettings settings, java.util.List 
> scriptResources) {
> super ((java.io.InputStream)null);
> }
> public  groovy.lang.MetaClass getMetaClass() { return 
> (groovy.lang.MetaClass)null;}
> public  void setMetaClass(groovy.lang.MetaClass mc) { }
> public  java.lang.Object invokeMethod(java.lang.String method, 
> java.lang.Object arguments) { return null;}
> public  java.lang.Object getProperty(java.lang.String property) { return 
> null;}
> public  void setProperty(java.lang.String property, java.lang.Object value) { 
> }
> public  grails.util.BuildSettings getSettings() { return 
> (grails.util.BuildSettings)null;}
> public  void setSettings(grails.util.BuildSettings value) { }
> public  java.util.Map getCompletorCache() { return (java.util.Map)null;}
> public  void setCompletorCache(java.util.Map value) { }
> @java.lang.Override() public  int complete(java.lang.String buffer, int 
> cursor, java.util.List clist) { return (int)0;}
> public static  java.lang.String[] getScriptNames(java.util.List 
> scriptResources) { return (java.lang.String[])null;}
> }
> {code}
> However the stub is ok if I remove "groovyOptions.useAnt = true" and 
> "options.useAnt = true" from the build.gradle of Grails:
> {code}
> package org.codehaus.groovy.grails.cli.interactive;
> import java.lang.*;
> import java.io.*;
> import java.net.*;
> import java.util.*;
> import groovy.lang.*;
> import groovy.util.*;
> @groovy.transform.CompileStatic() public class GrailsInteractiveCompletor
>   extends jline.SimpleCompletor  implements
> groovy.lang.GroovyObject {
> public GrailsInteractiveCompletor
> (grails.util.BuildSettings settings, java.util.List 
> scriptResources) {
> super ((java.lang.String)null);
> }
> public  groovy.lang.MetaClass getMetaClass() { return 
> (groovy.lang.MetaClass)null;}
> public  void setMetaClass(groovy.lang.MetaClass mc) { }
> public  java.lang.Object invokeMethod(java.lang.String method, 
> java.lang.Object arguments) { return null;}
> public  java.lang.Object getProperty(java.lang.String property) { return 
> null;}
> public  void setProperty(java.lang.String property, java.lang.Object value) { 
> }
> public  grails.util.BuildSettings getSettings() { return 
> (grails.util.BuildSettings)null;}
> public  void setSettings(grails.util.BuildSettings value) { }
> public  java.util.Map getCompletorCache() { return (java.util.Map)null;}
> public  void setCompletorCache(java.util.Map value) { }
> @java.lang.Override() public  int complete(java.lang.String buffer, int 
> cursor, java.util.List clist) { return (int)0;}
> public static  java.lang.String[] getScriptNames(java.util.List 
> scriptResources) { return (java.lang.String[])null;}
> }
> {code}
> diff of generated stubs:
> {code}
> < super ((java.lang.String)null);
> ---
> > super ((java.io.InputStream)null);
> {code}
> Source code of GrailsInteractiveCompletor:
> https://github.com/grails/grails-core/blob/1239b8edb606cca1c137285393a366898e18e196/grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive/GrailsInteractiveCompletor.groovy#L47
> however the picke