[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490273#comment-16490273
 ] 

Remko Popma commented on GROOVY-8592:
-

Can the docs be updated during/after the vote, or should it all be done prior?

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Assignee: Paul King
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490269#comment-16490269
 ] 

Remko Popma commented on GROOVY-8592:
-

Understood. Thank you! 
(Please note I edited my previous comment: I'm a bit concerned about the header 
and footer options in groovydoc.Main...)

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Assignee: Paul King
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Comment Edited] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490258#comment-16490258
 ] 

Remko Popma edited comment on GROOVY-8592 at 5/25/18 5:48 AM:
--

Darn, that is a bit faster than I anticipated. I have prior commitments this 
evening so may not be able to provide a proper PR in time. However, this is 
roughly what I had in mind:

{noformat}
Index: subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===
--- subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy 
(revision )
+++ subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy 
(revision )
@@ -18,6 +18,8 @@
  */
 package groovy.ui
 
+import groovy.cli.picocli.CliBuilder
+import groovy.cli.picocli.OptionAccessor
 import groovy.inspect.swingui.AstBrowser
 import groovy.inspect.swingui.ObjectBrowser
 import groovy.swing.SwingBuilder
@@ -191,16 +193,16 @@
 ConsolePreferences consolePreferences
 
 static void main(args) {
-CliBuilder cli = new CliBuilder(usage: 'groovyConsole [options] 
[filename]', stopAtNonOption: false)
+CliBuilder cli = new CliBuilder(usage: 'groovyConsole [options] 
[filename]', stopAtNonOption: false,
+header: 'The Groovy Swing Console allows a user to enter and run 
Groovy scripts.')
 MessageSource messages = new MessageSource(Console)
 cli.with {
-classpath(messages['cli.option.classpath.description'])
-cp(longOpt: 'classpath', messages['cli.option.cp.description'])
+_(names: ['-cp', '-classpath', '--classpath'], 
messages['cli.option.classpath.description'])
 h(longOpt: 'help', messages['cli.option.help.description'])
 V(longOpt: 'version', messages['cli.option.version.description'])
 pa(longOpt: 'parameters', 
messages['cli.option.parameters.description'])
 i(longOpt: 'indy', messages['cli.option.indy.description'])
-D(longOpt: 'define', args: 2, argName: 'name=value', 
valueSeparator: '=', messages['cli.option.define.description'])
+D(longOpt: 'define', type: Map, argName: 'name=value', 
messages['cli.option.define.description'])
 _(longOpt: 'configscript', args: 1, 
messages['cli.option.configscript.description'])
 }
 OptionAccessor options = cli.parse(args)
@@ -221,9 +223,7 @@
 }
 
 if (options.hasOption('D')) {
-options.getOptionProperties('D')?.each { k, v ->
-System.setProperty(k, v)
-}
+options.Ds.each { k, v -> System.setProperty(k, v) }
 }
 
 // full stack trace should not be logged to the output window - 
GROOVY-4663
{noformat}

{noformat}
Index: subprojects/groovy-console/build.gradle
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===
--- subprojects/groovy-console/build.gradle (revision )
+++ subprojects/groovy-console/build.gradle (revision )
@@ -20,7 +20,7 @@
 
 dependencies {
 compile rootProject
-compile project(':groovy-cli-commons')
+compile project(':groovy-cli-picocli')
 compile project(':groovy-swing')
 compile project(':groovy-templates')
 testCompile project(':groovy-test')
{noformat}

{noformat}
Index: 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Main.groovy
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===
--- 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Main.groovy
 (revision )
+++ 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Main.groovy
 (revision )
@@ -18,8 +18,8 @@
  */
 package org.codehaus.groovy.tools.shell
 
-import groovy.cli.commons.CliBuilder
-import groovy.cli.commons.OptionAccessor
+import groovy.cli.picocli.CliBuilder
+import groovy.cli.picocli.OptionAccessor
 import jline.TerminalFactory
 import jline.UnixTerminal
 import jline.UnsupportedTerminal
@@ -76,11 +76,11 @@
  * @param main must have a Groovysh member that has an IO member.
  */
 static void main(final String[] args) {
-CliBuilder cli = new CliBuilder(usage: 'groovysh [options] [...]', 
formatter: new HelpFormatter(), stopAtNonOption: false)
+CliBuilder cli = new CliBuilder(usage: 'groovysh [options] [...]', 
stopAtNonOption: false,
+header = 'The Groovy Shell, aka groovysh, is a command-line 
application which allows easy access to evaluate Groovy expressions, define 
classes and run simple experiments.')
 MessageSource messages = new MessageSource(Main)
   

[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Paul King (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490265#comment-16490265
 ] 

Paul King commented on GROOVY-8592:
---

No probs. I'll have a go with what you have there and let you know if I have 
any problems. I'd normally wait but we are hoping to announce 2.5.0 final 
version at gr8conf and with plane trips and voting windows time is tight.

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Assigned] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Paul King (JIRA)

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

Paul King reassigned GROOVY-8592:
-

Assignee: Paul King

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Assignee: Paul King
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490258#comment-16490258
 ] 

Remko Popma commented on GROOVY-8592:
-

Darn, that is a bit faster than I anticipated. I have prior commitments this 
evening so may not be able to provide a proper PR in time. However, this is 
roughly what I had in mind:

{noformat}
Index: subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===
--- subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy 
(revision )
+++ subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy 
(revision )
@@ -18,6 +18,8 @@
  */
 package groovy.ui
 
+import groovy.cli.picocli.CliBuilder
+import groovy.cli.picocli.OptionAccessor
 import groovy.inspect.swingui.AstBrowser
 import groovy.inspect.swingui.ObjectBrowser
 import groovy.swing.SwingBuilder
@@ -191,16 +193,16 @@
 ConsolePreferences consolePreferences
 
 static void main(args) {
-CliBuilder cli = new CliBuilder(usage: 'groovyConsole [options] 
[filename]', stopAtNonOption: false)
+CliBuilder cli = new CliBuilder(usage: 'groovyConsole [options] 
[filename]', stopAtNonOption: false,
+header: 'The Groovy Swing Console allows a user to enter and run 
Groovy scripts.')
 MessageSource messages = new MessageSource(Console)
 cli.with {
-classpath(messages['cli.option.classpath.description'])
-cp(longOpt: 'classpath', messages['cli.option.cp.description'])
+_(names: ['-cp', '-classpath', '--classpath'], 
messages['cli.option.classpath.description'])
 h(longOpt: 'help', messages['cli.option.help.description'])
 V(longOpt: 'version', messages['cli.option.version.description'])
 pa(longOpt: 'parameters', 
messages['cli.option.parameters.description'])
 i(longOpt: 'indy', messages['cli.option.indy.description'])
-D(longOpt: 'define', args: 2, argName: 'name=value', 
valueSeparator: '=', messages['cli.option.define.description'])
+D(longOpt: 'define', type: Map, argName: 'name=value', 
messages['cli.option.define.description'])
 _(longOpt: 'configscript', args: 1, 
messages['cli.option.configscript.description'])
 }
 OptionAccessor options = cli.parse(args)
@@ -221,9 +223,7 @@
 }
 
 if (options.hasOption('D')) {
-options.getOptionProperties('D')?.each { k, v ->
-System.setProperty(k, v)
-}
+options.Ds.each { k, v -> System.setProperty(k, v) }
 }
 
 // full stack trace should not be logged to the output window - 
GROOVY-4663
{noformat}

{noformat}
Index: subprojects/groovy-console/build.gradle
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===
--- subprojects/groovy-console/build.gradle (revision )
+++ subprojects/groovy-console/build.gradle (revision )
@@ -20,7 +20,7 @@
 
 dependencies {
 compile rootProject
-compile project(':groovy-cli-commons')
+compile project(':groovy-cli-picocli')
 compile project(':groovy-swing')
 compile project(':groovy-templates')
 testCompile project(':groovy-test')
{noformat}

{noformat}
Index: 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Main.groovy
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===
--- 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Main.groovy
 (revision )
+++ 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Main.groovy
 (revision )
@@ -18,8 +18,8 @@
  */
 package org.codehaus.groovy.tools.shell
 
-import groovy.cli.commons.CliBuilder
-import groovy.cli.commons.OptionAccessor
+import groovy.cli.picocli.CliBuilder
+import groovy.cli.picocli.OptionAccessor
 import jline.TerminalFactory
 import jline.UnixTerminal
 import jline.UnsupportedTerminal
@@ -76,11 +76,11 @@
  * @param main must have a Groovysh member that has an IO member.
  */
 static void main(final String[] args) {
-CliBuilder cli = new CliBuilder(usage: 'groovysh [options] [...]', 
formatter: new HelpFormatter(), stopAtNonOption: false)
+CliBuilder cli = new CliBuilder(usage: 'groovysh [options] [...]', 
stopAtNonOption: false,
+header = 'The Groovy Shell, aka groovysh, is a command-line 
application which allows easy access to evaluate Groovy expressions, define 
classes and run simple experiments.')
 MessageSource messages = new MessageSource(Main)
 cli.with {
-

[jira] [Commented] (GROOVY-8601) Groovy should have a runner for JUnit5 tests

2018-05-24 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490208#comment-16490208
 ] 

ASF GitHub Bot commented on GROOVY-8601:


GitHub user paulk-asert opened a pull request:

https://github.com/apache/groovy/pull/723

GROOVY-8601: Groovy should have a runner for JUnit5 tests



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/paulk-asert/groovy groovy8601

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/723.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #723


commit 09b69e6ecc1d5f6111530990e58d5d4869da188b
Author: Paul King 
Date:   2018-05-24T12:23:29Z

GROOVY-8601: Groovy should have a runner for JUnit5 tests




> Groovy should have a runner for JUnit5 tests
> 
>
> Key: GROOVY-8601
> URL: https://issues.apache.org/jira/browse/GROOVY-8601
> Project: Groovy
>  Issue Type: Improvement
>Reporter: Paul King
>Priority: Major
>




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


[GitHub] groovy pull request #723: GROOVY-8601: Groovy should have a runner for JUnit...

2018-05-24 Thread paulk-asert
GitHub user paulk-asert opened a pull request:

https://github.com/apache/groovy/pull/723

GROOVY-8601: Groovy should have a runner for JUnit5 tests



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/paulk-asert/groovy groovy8601

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/723.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #723


commit 09b69e6ecc1d5f6111530990e58d5d4869da188b
Author: Paul King 
Date:   2018-05-24T12:23:29Z

GROOVY-8601: Groovy should have a runner for JUnit5 tests




---


[jira] [Commented] (GROOVY-8601) Groovy should have a runner for JUnit5 tests

2018-05-24 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490205#comment-16490205
 ] 

ASF GitHub Bot commented on GROOVY-8601:


Github user paulk-asert closed the pull request at:

https://github.com/apache/groovy/pull/720


> Groovy should have a runner for JUnit5 tests
> 
>
> Key: GROOVY-8601
> URL: https://issues.apache.org/jira/browse/GROOVY-8601
> Project: Groovy
>  Issue Type: Improvement
>Reporter: Paul King
>Priority: Major
>




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


[GitHub] groovy pull request #720: GROOVY-8601: Groovy should have a runner for JUnit...

2018-05-24 Thread paulk-asert
Github user paulk-asert closed the pull request at:

https://github.com/apache/groovy/pull/720


---


[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Paul King (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490148#comment-16490148
 ] 

Paul King commented on GROOVY-8592:
---

2.5.0

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[GitHub] groovy pull request #722: Request YourKit Java Profiler Open Source License

2018-05-24 Thread danielsun1106
GitHub user danielsun1106 opened a pull request:

https://github.com/apache/groovy/pull/722

Request YourKit Java Profiler Open Source License

  Here is the link to YourKit and search "Open source project license" 
in the page:

https://www.yourkit.com/purchase/

**Open source project license**
```
The license is granted to developers of non-commercial Open Source 
projects, with an established and active community. The license is free. 
However, we ask you to add a reference to YourKit website on the web pages of 
your Open Source project.
```

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/danielsun1106/groovy 
request-yourkit-open-source-license

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/722.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #722


commit f2b2930a502c47a771c160120c06853a25715db2
Author: Daniel Sun 
Date:   2018-05-25T01:50:59Z

Add a reference to YourKit website




---


[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Daniel Sun (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490099#comment-16490099
 ] 

Daniel Sun commented on GROOVY-8592:


[~paulk] 2.5.0-rc-4?

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Paul King (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490089#comment-16490089
 ] 

Paul King commented on GROOVY-8592:
---

I am going to create 2.5.0 candidate tomorrow.  If you let me know which ones 
you are working on l can try to work in parallel. 

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Resolved] (GROOVY-8604) Cache the parameterized type for better performance

2018-05-24 Thread Daniel Sun (JIRA)

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

Daniel Sun resolved GROOVY-8604.

   Resolution: Fixed
Fix Version/s: 2.5.0
   3.0.0-alpha-3
   2.6.0-alpha-4

Fixed by 
https://github.com/apache/groovy/commit/ed71b35e755090b1ae841e0e9888c0f61386d050

> Cache the parameterized type for better performance
> ---
>
> Key: GROOVY-8604
> URL: https://issues.apache.org/jira/browse/GROOVY-8604
> Project: Groovy
>  Issue Type: Improvement
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
> Fix For: 2.6.0-alpha-4, 3.0.0-alpha-3, 2.5.0
>
>
> Finding the parameterized type is expensive, so it's better to cache it.
>  
> Here is the PR: https://github.com/apache/groovy/pull/721



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


[jira] [Commented] (GROOVY-8604) Cache the parameterized type for better performance

2018-05-24 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16490077#comment-16490077
 ] 

ASF GitHub Bot commented on GROOVY-8604:


Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/721


> Cache the parameterized type for better performance
> ---
>
> Key: GROOVY-8604
> URL: https://issues.apache.org/jira/browse/GROOVY-8604
> Project: Groovy
>  Issue Type: Improvement
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
>
> Finding the parameterized type is expensive, so it's better to cache it.
>  
> Here is the PR: https://github.com/apache/groovy/pull/721



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


[GitHub] groovy pull request #721: GROOVY-8604: Cache the parameterized type for bett...

2018-05-24 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/721


---


[jira] [Comment Edited] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489998#comment-16489998
 ] 

Remko Popma edited comment on GROOVY-8592 at 5/24/18 11:59 PM:
---

I did catch myself  typing {{groovydoc -h}} and being surprised at the result 
(and forgetting and doing the same a few days later), so I would argue that 
this would be a good addition. 

About not consolidating the other switches, I think at this stage for the 2.5 
version that is probably the wise decision. 

Hope to provide a PR in the next few days. 


was (Author: rem...@yahoo.com):
I did catch myself  typing {{groovydoc -h}} and being surprised at the error 
message (and forgetting and doing the same a few days later), so I would argue 
that this would be a good addition. 

About not consolidating the other switches, I think at this stage for the 2.5 
version that is probably the wise decision. 

Hope to provide a PR in the next few days. 

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489998#comment-16489998
 ] 

Remko Popma commented on GROOVY-8592:
-

I did catch myself  typing {{groovydoc -h}} and being surprised at the error 
message (and forgetting and doing the same a few days later), so I would argue 
that this would be a good addition. 

About not consolidating the other switches, I think at this stage for the 2.5 
version that is probably the wise decision. 

Hope to provide a PR in the next few days. 

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Updated] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder

2018-05-24 Thread Remko Popma (JIRA)

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

Remko Popma updated GROOVY-8592:

Fix Version/s: 2.5.0

> Migrate command line tools to picocli version of CliBuilder
> ---
>
> Key: GROOVY-8592
> URL: https://issues.apache.org/jira/browse/GROOVY-8592
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> The following command line tools use either {{groovy.cli.commons.CliBuilder}} 
> or implicitly use {{groovy.util.CliBuilder}} which delegates to the 
> commons-cli version of CliBuilder:
> * groovyConsole (groovy.ui.Console)
> * groovydoc (org.codehaus.groovy.tools.groovydoc.Main)
> * groovysh (org.codehaus.groovy.tools.shell.Main)
> This ticket proposes to use {{groovy.cli.picocli.CliBuilder}} instead, so 
> that all command line tools in the {{bin}} directory of the Groovy 
> distribution show usage help in ANSI colors.



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


[jira] [Updated] (GROOVY-8605) Autocompletion for Groovy command line tools

2018-05-24 Thread Remko Popma (JIRA)

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

Remko Popma updated GROOVY-8605:

Affects Version/s: 2.5.0-rc-3
Fix Version/s: 2.5.0

> Autocompletion for Groovy command line tools 
> -
>
> Key: GROOVY-8605
> URL: https://issues.apache.org/jira/browse/GROOVY-8605
> Project: Groovy
>  Issue Type: Improvement
>  Components: command line processing
>Affects Versions: 2.5.0-rc-3
>Reporter: Remko Popma
>Priority: Major
> Fix For: 2.5.0
>
>
> When GROOVY-8592 is completed it becomes possible to generate bash 
> autocompletion scripts for all Groovy command line tools in 
> {{installdir/bin}}. This will enhance the user experience for users of these 
> tools. 



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


[jira] [Created] (GROOVY-8605) Autocompletion for Groovy command line tools

2018-05-24 Thread Remko Popma (JIRA)
Remko Popma created GROOVY-8605:
---

 Summary: Autocompletion for Groovy command line tools 
 Key: GROOVY-8605
 URL: https://issues.apache.org/jira/browse/GROOVY-8605
 Project: Groovy
  Issue Type: Improvement
  Components: command line processing
Reporter: Remko Popma


When GROOVY-8592 is completed it becomes possible to generate bash 
autocompletion scripts for all Groovy command line tools in {{installdir/bin}}. 
This will enhance the user experience for users of these tools. 





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


[jira] [Commented] (GROOVY-8562) Wrong Closure delegation for property access when using @CompileStatic and DELEGATE_FIRST / DELEGATE_ONLY

2018-05-24 Thread Michael Arndt (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489211#comment-16489211
 ] 

Michael Arndt commented on GROOVY-8562:
---

Cool, thanks for the quick merge :)

> Wrong Closure delegation for property access when using @CompileStatic and 
> DELEGATE_FIRST / DELEGATE_ONLY
> -
>
> Key: GROOVY-8562
> URL: https://issues.apache.org/jira/browse/GROOVY-8562
> Project: Groovy
>  Issue Type: Bug
>  Components: Static compilation
>Affects Versions: 2.3.11, 2.6.0-alpha-3, 3.0.0-alpha-2, 2.5.0-rc-1, 2.4.15
>Reporter: Michael Arndt
>Assignee: Paul King
>Priority: Major
> Fix For: 2.5.0
>
>
> Closures resolve to owner property although `DELEGATE_FIRST` or 
> `DELEGATE_ONLY` are set as `resolveStrategy`.
>  This only happens when `@CompileStatic` is used.
>  This does not apply to method calls.
>  For Groovy 2.3.11 this only affects read operations.
> Only the versions 2.5.0-rc-1, 2.4.15, 2.3.11 have been tested yet.
>  I will add tests for newer versions, but this requires a different test 
> framework than Spock.
> I have created a demo project at 
> [https://github.com/MeneDev/groovy-bugreport-closure-strategy]
>  
> {code:java}
> class ADelegate {
> def x = "delegate"
> }
> @CompileStatic
> class AClass {
> public  T closureExecuter(
> ADelegate d,
> @DelegatesTo(value = ADelegate, strategy = DELEGATE_ONLY) 
> Closure c) {
> c.resolveStrategy = DELEGATE_ONLY
> c.delegate = d
> return c()
> }
> def x = "owner"
> 
> def test() {
> def theDelegate = new ADelegate()
> def res = closureExecuter(theDelegate) {
> return x
> }
> 
> // is "owner" instead of "delegate"
> return res
> }
> }
> {code}



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


[jira] [Created] (GROOVY-8604) Cache the parameterized type for better performance

2018-05-24 Thread Daniel Sun (JIRA)
Daniel Sun created GROOVY-8604:
--

 Summary: Cache the parameterized type for better performance
 Key: GROOVY-8604
 URL: https://issues.apache.org/jira/browse/GROOVY-8604
 Project: Groovy
  Issue Type: Improvement
Reporter: Daniel Sun
Assignee: Daniel Sun


Finding the parameterized type is expensive, so it's better to cache it.

 

Here is the PR: https://github.com/apache/groovy/pull/721



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


[jira] [Commented] (GROOVY-8603) @CompileStatic: matching method check limited to 30 super classes

2018-05-24 Thread Daniel Sun (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489195#comment-16489195
 ] 

Daniel Sun commented on GROOVY-8603:


Out of curiosity, your real project is facing the issue? ;)

> @CompileStatic: matching method check limited to 30 super classes
> -
>
> Key: GROOVY-8603
> URL: https://issues.apache.org/jira/browse/GROOVY-8603
> Project: Groovy
>  Issue Type: Bug
>  Components: Static Type Checker
>Affects Versions: 2.3.11, 2.4.13, 2.5.0-rc-3
>Reporter: Peter Schmitz
>Priority: Major
>  Labels: CompileStatic, Matching, extends, method, parameters, 
> typecheck
>
> There is currently a maximum hierarchical depth for childclasses when using 
> compile static.
> The compiler only searches for method parameters that match the provided 
> class or up to 29 super classes. This in return means that the usable 
> hierarchical depth is limited 29 child classes/distance from the root.
> Without CompileStatic this limit does not exists. Changing the following code 
> to Java works too.
> This Code:
> {code:java}
> import groovy.transform.CompileStatic
> @CompileStatic
> class StaticTest {
>public static int getNummer( ZClassDepth0 instance ) {
>   return instance.depth
>}
>public static void main( String[] args ) {
>   println getNummer( new ZClassDepth29() ) //works
>   println getNummer( new ZClassDepth30() ) //doesn't work
>}
> }
> {code}
> fails with the following execption:
> {code:java}
> Error:(13, 15) Groovyc: [Static type checking] - Cannot find matching method 
> StaticTest#getNummer(ZClassDepth30). Please check if the declared type is 
> right and if the method exists.
> {code}
>  
> How the "ZClassDepth" files where generated:
> {code:java}
> import java.nio.file.Paths
> class Generator {
>public static void main( String[] args ) {
>   def template = { int nummer ->
>  return """\
> public class ZClassDepth${ nummer } ${ nummer > 0 ? "extends ZClassDepth${ 
> nummer - 1 }" : '' } {
>${ nummer > 0 ? '@Override' : '' }
>public int getDepth() { 
>   return $nummer 
>}
> }
> """
>   }
>   def path = Paths.get( '[PATH_TO_SOURCE]/src' )
>   101.times{ i ->
>  new File( path.toFile(), "ZClassDepth${i}.groovy" ).text = template( 
> i )
>   }
>}
> }
> {code}
>  
>  



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


[jira] [Created] (GROOVY-8603) @CompileStatic: matching method check limited to 30 super classes

2018-05-24 Thread Peter Schmitz (JIRA)
Peter Schmitz created GROOVY-8603:
-

 Summary: @CompileStatic: matching method check limited to 30 super 
classes
 Key: GROOVY-8603
 URL: https://issues.apache.org/jira/browse/GROOVY-8603
 Project: Groovy
  Issue Type: Bug
  Components: Static Type Checker
Affects Versions: 2.5.0-rc-3, 2.4.13, 2.3.11
Reporter: Peter Schmitz


There is currently a maximum hierarchical depth for childclasses when using 
compile static.

The compiler only searches for method parameters that match the provided class 
or up to 29 super classes. This in return means that the usable hierarchical 
depth is limited 29 child classes/distance from the root.

Without CompileStatic this limit does not exists. Changing the following code 
to Java works too.

This Code:
{code:java}
import groovy.transform.CompileStatic

@CompileStatic
class StaticTest {

   public static int getNummer( ZClassDepth0 instance ) {
  return instance.depth
   }

   public static void main( String[] args ) {
  println getNummer( new ZClassDepth29() ) //works
  println getNummer( new ZClassDepth30() ) //doesn't work
   }
}
{code}
fails with the following execption:
{code:java}
Error:(13, 15) Groovyc: [Static type checking] - Cannot find matching method 
StaticTest#getNummer(ZClassDepth30). Please check if the declared type is right 
and if the method exists.
{code}
 

How the "ZClassDepth" files where generated:
{code:java}
import java.nio.file.Paths

class Generator {

   public static void main( String[] args ) {
  def template = { int nummer ->
 return """\
public class ZClassDepth${ nummer } ${ nummer > 0 ? "extends ZClassDepth${ 
nummer - 1 }" : '' } {
   ${ nummer > 0 ? '@Override' : '' }
   public int getDepth() { 
  return $nummer 
   }
}
"""
  }
  def path = Paths.get( '[PATH_TO_SOURCE]/src' )
  101.times{ i ->
 new File( path.toFile(), "ZClassDepth${i}.groovy" ).text = template( i 
)
  }
   }
}
{code}
 

 



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


[jira] [Resolved] (GROOVY-8562) Wrong Closure delegation for property access when using @CompileStatic and DELEGATE_FIRST / DELEGATE_ONLY

2018-05-24 Thread Paul King (JIRA)

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

Paul King resolved GROOVY-8562.
---
   Resolution: Fixed
 Assignee: Paul King
Fix Version/s: 2.5.0

Proposed PR merged. Thanks!

> Wrong Closure delegation for property access when using @CompileStatic and 
> DELEGATE_FIRST / DELEGATE_ONLY
> -
>
> Key: GROOVY-8562
> URL: https://issues.apache.org/jira/browse/GROOVY-8562
> Project: Groovy
>  Issue Type: Bug
>  Components: Static compilation
>Affects Versions: 2.3.11, 2.6.0-alpha-3, 3.0.0-alpha-2, 2.5.0-rc-1, 2.4.15
>Reporter: Michael Arndt
>Assignee: Paul King
>Priority: Major
> Fix For: 2.5.0
>
>
> Closures resolve to owner property although `DELEGATE_FIRST` or 
> `DELEGATE_ONLY` are set as `resolveStrategy`.
>  This only happens when `@CompileStatic` is used.
>  This does not apply to method calls.
>  For Groovy 2.3.11 this only affects read operations.
> Only the versions 2.5.0-rc-1, 2.4.15, 2.3.11 have been tested yet.
>  I will add tests for newer versions, but this requires a different test 
> framework than Spock.
> I have created a demo project at 
> [https://github.com/MeneDev/groovy-bugreport-closure-strategy]
>  
> {code:java}
> class ADelegate {
> def x = "delegate"
> }
> @CompileStatic
> class AClass {
> public  T closureExecuter(
> ADelegate d,
> @DelegatesTo(value = ADelegate, strategy = DELEGATE_ONLY) 
> Closure c) {
> c.resolveStrategy = DELEGATE_ONLY
> c.delegate = d
> return c()
> }
> def x = "owner"
> 
> def test() {
> def theDelegate = new ADelegate()
> def res = closureExecuter(theDelegate) {
> return x
> }
> 
> // is "owner" instead of "delegate"
> return res
> }
> }
> {code}



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


[jira] [Created] (GROOVY-8602) Safe index doesn't work with map arguments

2018-05-24 Thread Daniil Ovchinnikov (JIRA)
Daniil Ovchinnikov created GROOVY-8602:
--

 Summary: Safe index doesn't work with map arguments
 Key: GROOVY-8602
 URL: https://issues.apache.org/jira/browse/GROOVY-8602
 Project: Groovy
  Issue Type: Bug
Affects Versions: 3.0.0-alpha-2
Reporter: Daniil Ovchinnikov


{{a[b:2]}} works.
{{a?[b:2]}} produces {{Unexpected input: ''; Expecting ':' @ ...}}



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


[GitHub] groovy pull request #721: Cache the parameterized info for better performanc...

2018-05-24 Thread danielsun1106
GitHub user danielsun1106 opened a pull request:

https://github.com/apache/groovy/pull/721

Cache the parameterized info for better performance

Finding the parameterized type is expensive, so it's better to cache it.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/danielsun1106/groovy parameterized-info-cache

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/721.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #721


commit 19627bfe95e92e188f53ac1fa7f1f40d9b071b19
Author: Daniel Sun 
Date:   2018-05-24T13:01:12Z

Cache the parameterized info for better performance

Finding the parameterized type is expensive, so it's better to cache it.

commit 939e5ab50263d58a93facc3427cc06fc8cf4c6d8
Author: Daniel Sun 
Date:   2018-05-24T13:08:06Z

Sync the changes from apache/groovy and resolve conflicts




---


[GitHub] groovy pull request #717: Groovy 8562 wrong closure delegation for property ...

2018-05-24 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/717


---


[jira] [Commented] (GROOVY-8601) Groovy should have a runner for JUnit5 tests

2018-05-24 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488891#comment-16488891
 ] 

ASF GitHub Bot commented on GROOVY-8601:


GitHub user paulk-asert opened a pull request:

https://github.com/apache/groovy/pull/720

GROOVY-8601: Groovy should have a runner for JUnit5 tests



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/paulk-asert/groovy groovy6801

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/720.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #720


commit 14b723c94d0f386461f91ef4152d0166e4d5493c
Author: Daniel Sun 
Date:   2018-05-24T12:23:29Z

GROOVY-8601: Groovy should have a runner for JUnit5 tests




> Groovy should have a runner for JUnit5 tests
> 
>
> Key: GROOVY-8601
> URL: https://issues.apache.org/jira/browse/GROOVY-8601
> Project: Groovy
>  Issue Type: Improvement
>Reporter: Paul King
>Priority: Major
>




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


[jira] [Created] (GROOVY-8601) Groovy should have a runner for JUnit5 tests

2018-05-24 Thread Paul King (JIRA)
Paul King created GROOVY-8601:
-

 Summary: Groovy should have a runner for JUnit5 tests
 Key: GROOVY-8601
 URL: https://issues.apache.org/jira/browse/GROOVY-8601
 Project: Groovy
  Issue Type: Improvement
Reporter: Paul King






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


[GitHub] groovy pull request #714: GROOVY-8586: Support Java 9 ARM blocks

2018-05-24 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/714


---


[jira] [Commented] (GROOVY-8586) Support Java 9 ARM blocks

2018-05-24 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488811#comment-16488811
 ] 

ASF GitHub Bot commented on GROOVY-8586:


Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/714


> Support Java 9 ARM blocks
> -
>
> Key: GROOVY-8586
> URL: https://issues.apache.org/jira/browse/GROOVY-8586
> Project: Groovy
>  Issue Type: Improvement
>  Components: Compiler
>Affects Versions: 3.x
>Reporter: Jesper Steen Møller
>Assignee: Daniel Sun
>Priority: Minor
>
> Java 9 introduces a ARM-with-existing-resources construct, like this:
> {code:java}
> OutputStream stream = foo();
> try (stream) {
>stream.write(whatever());
> }
> {code}
> In other words, the resource need not be in the form of an initialization, 
> but can just be a variable.
> Now that we have ARM in Groovy, we should be able to add this form as well.
>  



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