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

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

Using Picocli direct would be fine as would having a smaller internal helper 
class (perhaps around 100 lines and doesn't need to be called CliBuilder). Only 
leaving the second option on the cards still since it might allow reusing the 
current specifications and avoid creating a few extra classes. It could provide 
a much thinner abstraction layer over using picocli than the current internal 
CliBuilder - but only if that makes things easier.

> 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
>            Assignee: Paul King
>            Priority: Major
>             Fix For: 3.0.0-beta-2
>
>          Time Spent: 20m
>  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.14#76016)

Reply via email to