Releases: jbock-java/jbock
Releases · jbock-java/jbock
jbock 5.9
- BUGFIX Invalid code is generated when an unannotated abstract method has at least one parameter. The bug was introduced in
v5.7and is fixed inv5.9. - Improve some error messages.
jbock 5.8
In order to avoid certain staleness problems with gradle's "isolating" annotation processing model, some features had to be removed.
- Remove the
Converterannotation. - The
converterattribute must now point to a static member class of the command class (see note). - Forbid inheritance of abstract methods.
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.
jbock 5.7
- allow abstract overrides
- improve parameters-validation error message
- forbid StringConverter of Optional
- improve invalid position error message
jbock 5.6
- fix converter error message
- use either
1.5
jbock 5.5
- use either 1.3
jbock 5.4
- use
either:1.2 - stop including either in the compiler jar
jbock 5.3
- depend on
either:1.1 - stop using javadoc as input for usage documentation
jbock 5.2
- depend on
io.github.jbock-java:either:1.0 - new attribute
generateParseOrExitMethod - remove attributes
atFileExpansionandhelpEnabled; configure theParseRequestinstead - fix formatting in generated character converter
- improve at-file syntax: ignore all empty lines, allow quoting
- add support for alternative
Optionaltypes:vavr - the generated parse method now takes an argument of type
ParseRequest - use 4-space indentation for all source files
jbock 5.1
jbock 5.1 "midsummer edition"
- removed
ansiattribute from Command, it is now a runtime config in StandardErrorHandler - remove redundant attribute
exithookfrom StandardErrorHandler; custom exit logic can now be implemented without this; see implementation of generated methodparseOrExit - add attribute
unixClusteringto CommandModel - fix:
atFileExpansion = falsedidn't compile - fix: potential infinite loop at compile time, in EnumName logic
- allow additional tokens after at file expansion
- refactoring: avoid lambdas in generated method
StatefulParser#build, extract convert logic for enums, File and char to inner classes
jbock 5.0
- Changed the maven group name to
io.github.jbock-java - Renamed the artifacts: "jbock-annotations" -> "jbock" (aka "core"), "jbock" -> "jbock-compiler".
- moved the Either library into core
- add runtime model of the annotated class (
net.jbock.model.CommandModel) parsenow returns an Either- rename the generated class, "*_Parser" -> "*Parser"
- SuperCommand is now an attribute
- add the
atFileExpansionattribute - add the
unixClusteringattribute - runtime config, like
terminalWidth, works differently (see implementation ofparseOrExit)