Czy istnieje standardowa lub zalecana biblioteka getopts dla Groovy, która pozwoli mi szybko przetworzyć długie i krótkie argumenty z wiersza poleceń w Groovy?GetOpts dla Groovy?
Groovy foo.groovy --fname = foo.txt --output = foo.html --verbose
Czy istnieje standardowa lub zalecana biblioteka getopts dla Groovy, która pozwoli mi szybko przetworzyć długie i krótkie argumenty z wiersza poleceń w Groovy?GetOpts dla Groovy?
Groovy foo.groovy --fname = foo.txt --output = foo.html --verbose
Można też po prostu użyć Groovy CliBuilder (które wewnętrznie używa Apache Commons CLI).
Znajdziesz tu dobry przykład jak to działa tutaj =>http://www.reverttoconsole.com/blog/codesnippets/groovy-clibuilder-in-practice/
def cli = new CliBuilder()
cli.with {
usage: 'Self'
h longOpt:'help', 'usage information'
i longOpt:'input', 'input file', args:1
o longOpt:'output', 'output file',args:1
a longOpt:'action', 'action to invoke',args:1
d longOpt:'directory','process all files of directory', args:1
}
def opt = cli.parse(args)
def action
if(args.length == 0) {
cli.usage()
return
}
if(opt.h) {
cli.usage()
return
}
if(opt.i) {
input = opt.i
}
...
Jednym z głównych atutów Groovy jest interoperacyjność z Java. Dlatego, poszukując bibliotek do wykorzystania w Groovy, moim pierwszym instynktem jest poszukiwanie istniejących bibliotek Java.
Args4j to zwięzła i elegancka biblioteka do analizowania opcji wiersza poleceń: i doskonale współpracuje z klasami Groovy. Odtworzyłem części tutorial, aby współpracować z Groovy.
Rozważmy następującą klasę Groovy:
import org.kohsuke.args4j.Option;
class Business {
@Option(name="-name",usage="Sets a name")
String name
public void run() {
println("Business-Logic")
println("-name: " + name)
}
}
skompilować z:
groovyc -classpath .:args4j-2.0.12/args4j-2.0.12.jar Business.groovy
i uruchomić go z
java -cp .:args4j-2.0.12/args4j-2.0.12.jar:/usr/share/java/groovy/embeddable/groovy-all-1.6.4.jar -Dmainclass=Business org.kohsuke.args4j.Starter -name sample
Aby uzyskać dane wyjściowe
Business-Logic
-name: sample
Apache Commons CLI inna biblioteka Java, które można wykorzystać w Groovy
Dawno temu pisałem Groovy Option Parser do wykonania tego zadania. Jest to dość proste i ma kilka nicet.