Reflectionless command line parser
In order to avoid certain staleness problems with gradle's "isolating" annotation processing model, some features had to be removed.
Converter
annotation.converter
attribute must now point to a static member class of the command class (see note).Note: Effectively, it is still possible to define a "standalone" converter class, by writing a small static inner class which implements Supplier<StringConverter<X>>
and returns an instance of the "real" converter class from its get
method. For example, see how BigIntegerConverter is used in CustomConverterCommand.
1.5
either:1.2
either:1.1
io.github.jbock-java:either:1.0
generateParseOrExitMethod
atFileExpansion
and helpEnabled
; configure the ParseRequest
insteadOptional
types: vavr
ParseRequest
ansi
attribute from Command, it is now a runtime config in StandardErrorHandlerexithook
from StandardErrorHandler; custom exit logic can now be implemented without this; see implementation of generated method parseOrExit
unixClustering
to CommandModelatFileExpansion = false
didn't compileStatefulParser#build
, extract convert logic for enums, File and char to inner classesio.github.jbock-java
net.jbock.model.CommandModel
)parse
now returns an EitheratFileExpansion
attributeunixClustering
attributeterminalWidth
, works differently (see implementation of parseOrExit
)4.3.000