Skip to content

Releases: jbock-java/jbock

jbock 5.9

06 Aug 14:04
Compare
Choose a tag to compare
  • 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 in v5.9.
  • Improve some error messages.

jbock 5.8

05 Aug 14:58
Compare
Choose a tag to compare

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

03 Aug 14:19
Compare
Choose a tag to compare
  • allow abstract overrides
  • improve parameters-validation error message
  • forbid StringConverter of Optional
  • improve invalid position error message

jbock 5.6

22 Jul 16:23
Compare
Choose a tag to compare
  • fix converter error message
  • use either 1.5

jbock 5.5

13 Jul 18:27
Compare
Choose a tag to compare
  • use either 1.3

jbock 5.4

09 Jul 11:08
Compare
Choose a tag to compare
  • use either:1.2
  • stop including either in the compiler jar

jbock 5.3

07 Jul 11:55
Compare
Choose a tag to compare
  • depend on either:1.1
  • stop using javadoc as input for usage documentation

jbock 5.2

05 Jul 11:23
Compare
Choose a tag to compare
  • depend on io.github.jbock-java:either:1.0
  • new attribute generateParseOrExitMethod
  • remove attributes atFileExpansion and helpEnabled; configure the ParseRequest 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

21 Jun 10:05
Compare
Choose a tag to compare

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 method parseOrExit
  • 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

11 Jun 14:11
Compare
Choose a tag to compare
  • 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 of parseOrExit)