├── .gitignore ├── README.md ├── pom.xml └── src ├── main └── java │ ├── com │ └── taobao │ │ └── middleware │ │ └── cli │ │ ├── AmbiguousOptionException.java │ │ ├── Argument.java │ │ ├── CLI.java │ │ ├── CLIException.java │ │ ├── CLIs.java │ │ ├── CommandLine.java │ │ ├── CommandLines.java │ │ ├── InvalidValueException.java │ │ ├── MissingOptionException.java │ │ ├── MissingValueException.java │ │ ├── Option.java │ │ ├── TypedArgument.java │ │ ├── TypedOption.java │ │ ├── UsageMessageFormatter.java │ │ ├── annotations │ │ ├── Argument.java │ │ ├── CLIConfigurator.java │ │ ├── ConvertedBy.java │ │ ├── DefaultValue.java │ │ ├── Description.java │ │ ├── Hidden.java │ │ ├── Name.java │ │ ├── Option.java │ │ ├── ParsedAsList.java │ │ └── Summary.java │ │ ├── converters │ │ ├── BooleanConverter.java │ │ ├── CharacterConverter.java │ │ ├── ConstructorBasedConverter.java │ │ ├── Converter.java │ │ ├── Converters.java │ │ ├── FromBasedConverter.java │ │ ├── FromStringBasedConverter.java │ │ ├── StringConverter.java │ │ └── ValueOfBasedConverter.java │ │ └── impl │ │ ├── ArgumentComparator.java │ │ ├── DefaultCLI.java │ │ ├── DefaultCommandLine.java │ │ ├── DefaultParser.java │ │ ├── Objects.java │ │ └── ReflectionUtils.java │ └── examples │ └── cli │ ├── AnnotatedCli.java │ ├── CLIExamples.java │ └── TypedCLIExamples.java └── test └── java └── com └── taobao └── middleware └── cli ├── AmbiguousOptionExceptionTest.java ├── converters ├── BooleanConverterTest.java ├── CharacterConverterTest.java ├── ConstructorBasedConverterTest.java ├── ConvertersTest.java ├── CustomConverterTest.java ├── Person.java ├── Person2.java ├── Person3.java ├── Person4.java ├── Person4Converter.java └── StringConverterTest.java └── impl ├── CLIConfiguratorTest.java ├── CaseSensitiveClI.java ├── CaseSensitiveTest.java ├── DefaultCLITest.java ├── DefaultParserTest.java ├── HelloClI.java ├── IntensiveDefaultParserTest.java └── TypedArgumentTest.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | target 4 | .classpath 5 | .project 6 | .settings 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/AmbiguousOptionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/AmbiguousOptionException.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/Argument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/Argument.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/CLI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/CLI.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/CLIException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/CLIException.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/CLIs.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/CLIs.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/CommandLine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/CommandLine.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/CommandLines.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/CommandLines.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/InvalidValueException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/InvalidValueException.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/MissingOptionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/MissingOptionException.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/MissingValueException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/MissingValueException.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/Option.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/Option.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/TypedArgument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/TypedArgument.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/TypedOption.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/TypedOption.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/UsageMessageFormatter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/UsageMessageFormatter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/Argument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/Argument.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/CLIConfigurator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/CLIConfigurator.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/ConvertedBy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/ConvertedBy.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/DefaultValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/DefaultValue.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/Description.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/Description.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/Hidden.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/Hidden.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/Name.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/Name.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/Option.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/Option.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/ParsedAsList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/ParsedAsList.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/annotations/Summary.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/annotations/Summary.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/BooleanConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/BooleanConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/CharacterConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/CharacterConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/ConstructorBasedConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/ConstructorBasedConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/Converter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/Converter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/Converters.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/Converters.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/FromBasedConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/FromBasedConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/FromStringBasedConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/FromStringBasedConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/StringConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/StringConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/converters/ValueOfBasedConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/converters/ValueOfBasedConverter.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/impl/ArgumentComparator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/impl/ArgumentComparator.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/impl/DefaultCLI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/impl/DefaultCLI.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/impl/DefaultCommandLine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/impl/DefaultCommandLine.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/impl/DefaultParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/impl/DefaultParser.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/impl/Objects.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/impl/Objects.java -------------------------------------------------------------------------------- /src/main/java/com/taobao/middleware/cli/impl/ReflectionUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/com/taobao/middleware/cli/impl/ReflectionUtils.java -------------------------------------------------------------------------------- /src/main/java/examples/cli/AnnotatedCli.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/examples/cli/AnnotatedCli.java -------------------------------------------------------------------------------- /src/main/java/examples/cli/CLIExamples.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/examples/cli/CLIExamples.java -------------------------------------------------------------------------------- /src/main/java/examples/cli/TypedCLIExamples.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/main/java/examples/cli/TypedCLIExamples.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/AmbiguousOptionExceptionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/AmbiguousOptionExceptionTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/BooleanConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/BooleanConverterTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/CharacterConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/CharacterConverterTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/ConstructorBasedConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/ConstructorBasedConverterTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/ConvertersTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/ConvertersTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/CustomConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/CustomConverterTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/Person.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/Person.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/Person2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/Person2.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/Person3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/Person3.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/Person4.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/Person4.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/Person4Converter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/Person4Converter.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/converters/StringConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/converters/StringConverterTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/CLIConfiguratorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/CLIConfiguratorTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/CaseSensitiveClI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/CaseSensitiveClI.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/CaseSensitiveTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/CaseSensitiveTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/DefaultCLITest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/DefaultCLITest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/DefaultParserTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/DefaultParserTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/HelloClI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/HelloClI.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/IntensiveDefaultParserTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/IntensiveDefaultParserTest.java -------------------------------------------------------------------------------- /src/test/java/com/taobao/middleware/cli/impl/TypedArgumentTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alibaba/cli/HEAD/src/test/java/com/taobao/middleware/cli/impl/TypedArgumentTest.java --------------------------------------------------------------------------------