[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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 KingDate: 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...
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 KingDate: 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
[ 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...
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
[ 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
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 SunDate: 2018-05-25T01:50:59Z Add a reference to YourKit website ---
[jira] [Commented] (GROOVY-8592) Migrate command line tools to picocli version of CliBuilder
[ 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
[ 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
[ 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
[ 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...
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
[ 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
[ 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
[ 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
[ 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
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
[ 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
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
[ 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
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
[ 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
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...
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 SunDate: 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 ...
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
[ 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 SunDate: 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
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
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/714 ---
[jira] [Commented] (GROOVY-8586) Support Java 9 ARM blocks
[ 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)