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 2018/05/03 19:06:00 UTC

[jira] [Commented] (GROOVY-8556) Migrate classes depending on commons-cli to picocli

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

Remko Popma commented on GROOVY-8556:
-------------------------------------

I started to look at migrating Groovyc away from commons-cli. 

{{o.c.g.t.FileSystemCompiler}} currently has a public static method {{generateFileNamesFromOptions( o.a.commons.cli.CommandLine)}}. I assume it is okay to remove this method (note this will break binary compatibility)?

Also, what this method currently does is expand positional parameters that start with {{@}} to the contents of these files. Is it okay to delegate to picocli's native argument file expansion functionality (very similar behaviour to CliBuilder, with support for comments and quoted tokens, and additionally support for nested argument files), or would you prefer to keep the existing logic where each line in the {{@-file}} is interpreted as a file name to add to the returned list. Delegating to picocli's native file expansion would mean the {{@-file}} is expanded before parsing the command line arguments.

> Migrate classes depending on commons-cli to picocli
> ---------------------------------------------------
>
>                 Key: GROOVY-8556
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8556
>             Project: Groovy
>          Issue Type: Epic
>          Components: command line processing
>            Reporter: Remko Popma
>            Priority: Major
>
> as follow-up to GROOVY-8520, migrate classes that use commons-cli to use picocli instead. These are:
> * org.codehaus.groovy.antlr.java.Java2GroovyMain
> * org.codehaus.groovy.tools.FileSystemCompiler
> * org.codehaus.groovy.tools.GrapeMain.groovy
> * groovy.ui.GroovyMain
> * org.codehaus.groovy.ant.Groovyc



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