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.7
and 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
Converter
annotation. - The
converter
attribute 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
atFileExpansion
andhelpEnabled
; configure theParseRequest
instead - fix formatting in generated character converter
- improve at-file syntax: ignore all empty lines, allow quoting
- add support for alternative
Optional
types: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
ansi
attribute from Command, it is now a runtime config in StandardErrorHandler - remove redundant attribute
exithook
from StandardErrorHandler; custom exit logic can now be implemented without this; see implementation of generated methodparseOrExit
- add attribute
unixClustering
to CommandModel - fix:
atFileExpansion = false
didn'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
) parse
now returns an Either- rename the generated class, "*_Parser" -> "*Parser"
- SuperCommand is now an attribute
- add the
atFileExpansion
attribute - add the
unixClustering
attribute - runtime config, like
terminalWidth
, works differently (see implementation ofparseOrExit
)