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

Paul King commented on GROOVY-9165:
-----------------------------------

[~rpopma] I created PR#962. This basically duplicates a mini subset of 
CliBuilder called CliBuilderInternal which would reference the embedded 
picocli. The idea would be to either trim that internal version down further 
and keep it or gradually replace all uses with "native" Picocli usage and 
eventually delete that class. At the moment, the PR still keeps the picocli jar 
in the distribution zip - simply designating it as provided (at least in the 
spot I changed) wasn't enough and I haven't had time to explore further just 
yet.

> 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.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.5.6, 2.5.7
>            Reporter: Remko Popma
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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)

Reply via email to