我正在编写一个简单的groovy脚本,我希望它的命令行像这样简单-
./someTask.groovy task-profile
此外,脚本应该有一个--help
或-h
选项,用于指定task-profile
可以采用的所有不同值。task-profile
可以采用以下值-
task-1
task-2
task-3
--help
选项应该告诉用户所有可用的task-profile
值,以及如何使用它们。
我搜索了很多,但只找到了有选项的例子(例如-a
,-b
,-c
等)
如何写一个没有选项,只有位置参数的脚本,我可以用switch语句硬编码,但我想学习使用CliBuilder
。任何帮助都将不胜感激。
1条答案
按热度按时间qzlgjiam1#
CliBuilder在Groovy 2.5中进行了更新,增加了对picocli支持的实现(
groovy.cli.picocli.CliBuilder
)的支持。This article显示了CliBuilder中现在可用的新特性的许多细节。但是,即使在此版本的CliBuilder中,公共API也只支持位置参数列表,该列表只有一个描述。
遗憾的是,CliBuilder API目前不提供在应用程序的使用帮助消息中显示单独的位置参数(带有单独的描述)的方法。
如果您的目标是拥有单独的位置参数(可能具有单独的类型、单独的默认值等),并让用法帮助消息为每个位置参数显示单独的描述,那么您可能需要考虑在Groovy脚本或Groovy应用程序中直接使用picocli(不使用CliBuilder)。
picocli用户手册中有很多Groovy示例,并有专门的章节介绍如何在Groovy应用程序和Groovy脚本中使用picocli。本文(Groovy Scripts on Steroids)可能也很有用。
下面是一个示例
task-profile
Groovy脚本,它包含三个位置参数: