You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Remko Popma (JIRA)" <ji...@apache.org> on 2019/06/08 06:06:00 UTC
[jira] [Created] (GROOVY-9165) Grape cannot pull in picocli
Remko Popma created GROOVY-9165:
-----------------------------------
Summary: Grape cannot pull in picocli
Key: GROOVY-9165
URL: https://issues.apache.org/jira/browse/GROOVY-9165
Project: Groovy
Issue Type: Improvement
Components: Grape, groovy-runtime
Affects Versions: 2.5.7, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0
Reporter: Remko Popma
If I try to run a Groovy script I am unable to pull in a newer version of picocli via {{@Grab}}:
{code:groovy}
@Grab('info.picocli:picocli-groovy:4.0.0-beta-1b')
@GrabExclude('org.codehaus.groovy:groovy-all')
@picocli.groovy.PicocliScript
@picocli.CommandLine.Command
import picocli.CommandLine
println "Groovy version ${GroovySystem.version}"
println "Picocli version $CommandLine.VERSION"
{code}
Depending on the Groovy version, this prints
{code}
Groovy version 2.5.0
Picocli version 3.0.2
{code}
or
{code}
Groovy version 2.5.7
Picocli version 3.9.5
{code}
So the {{@Grab('info.picocli:picocli-groovy:4.0.0-beta-1b')}} is not honoured.
This is because the {{groovy.ui.GroovyMain}} class, which executes Groovy scripts, itself uses picocli to parse the command line parameters. Unfortunately, this means that Groovy script authors cannot control the picocli version used by their scripts.
Is there anything we can do to improve this?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)