Skip to content

Releases: verhas/javageci

1.6.4

25 Oct 10:00
Compare
Choose a tag to compare

Jamal dependency was updated to 1.9.0
This release was compiled using Java 17

1.6.3

14 Jul 07:42
Compare
Choose a tag to compare

Using this release all you need to use the Jamal macro generator is to add the Jav::Geci Test Engine to the dependency list and to have at least one JUnit 5 test in your code.

This release can also create DIFF files so you can easily compare what was overwritten with what.

Java 8 is NOT SUPPORTED anymore. Java GECI needs Java 11 as a minimum.
Docugen is removed and is not supported anymore. Use Jamal to handle snippets.

Jamal version 1.7.9 is used.

1.6.2.1

01 Feb 05:56
Compare
Choose a tag to compare

Same as 1.6.2 except top-level pom.xml was modified so that the deployment to maven central is automatic. Up to 1.6.1 there was an error that uploaded the artifacts and left the repo open and did not release.

Jamal 1.6.3 is used, where you can

 {%#for (a,b,c) in `END`list,with,), in, it `END` = ... %}

1.6.2

01 Feb 06:09
Compare
Choose a tag to compare

Jamal dependency version upped up to 1.6.3

1.6.1 Jamal templating

07 Jan 20:15
Compare
Choose a tag to compare

Support macros for Jamal templating were redesigned and it uses now Jamal 1.5.3
There is a sample to generate unit test proxy static inner class

1.6.0 - mvn central deployment pending

13 Dec 16:24
Compare
Choose a tag to compare

Documentation update. It should have been 1.5.1 but accidentally it became 1.6.0

This version uses the OSSH deploy plugin and is configured to send the artifacts automatically to maven central without manual hacking.

release 1.5.0

20 Aug 06:17
Compare
Choose a tag to compare
  • A fix in the fluent generator. In prior versions when a grammar started with an optional method or with an optional
    expression (e.g.: zero or more times alternative methods, anything that is (...)* in the syntax description) then
    the generated interface structure required ONE or more invocations instead of ZERO or more.

  • Fluent generator was annotated with @AnnotationBuilder and hence, there is a @Fluent annotation in
    core-annorations.

  • Jdocify was developed.

  • GeciException thrown from the generators are caught, enriched with the source file information the generator was
    working on and then thrown again in the Geci process. This eliminates the need to fetch the file name from the source
    code and to add it to the exception where it is originally thrown.

  • Lexical analyser keeps the original format of the characters and strings
    and it can also be queried in case the generator needs to know the exact
    escape sequences in the string or character literal.

  • Generators replying on the lexical analysis do not need to delete a
    lexical element from the list of lexical elements of a source file and
    insert a new one when it can simply be done replacing the lexeme string.
    It is not possible to change the type of the lexical element though.

  • A bug prevented the proper comparing of any Java file that contained
    string or character with \n or \r literals.
    The code was throwing an exception thus code generation was aborted.

  • A bug prevented the proper comparing of any Java file that contained
    hexadecimal long literals. The code was throwing an exception thus
    code generation was aborted.

release 1.4.0

25 Nov 13:04
Compare
Choose a tag to compare
  • Segment API extended so that you can query individual segment parameters by
    their key.

  • A bug fixed that was in the experimental and still not fully documented lexer
    regex macthing implementation

  • There is a new generator iterate that aims to replace the repeated and
    later the templated generators. The generator repeated is deprecated.

release 1.3.0

28 Oct 13:24
Compare
Choose a tag to compare
  • Support Java 8

    The code is still Java 11 level, but there is no use of any Java 8+
    JDK class or method. The build features a JVM8 profile that will
    create Java 8 compatible byte code. The generated JavaDoc in the
    1.3.0-JVM8 release is erroneous and there is no intention to fix it.
    The source and JavaDoc jars are available from the normal 1.3.0
    release.

  • generators can access lexical elements lists

    There is a new class JavaLexed that can be used to match the
    JavaSource using pattern matching (kind of regex but based on lexical
    elements instead of characters) and it is also possible to
    update/modify the source code.

  • Record generator

    There is a new generator that creates classes that mimic the proposed
    Java record functionality that will be available in the future some
    time. This generator also demonstrate how to use the JavaLexed class
    in generators that want to modify the Java source on lexical element
    level.

  • document generation supports JavaDoc

    You can insert doclets into JavaDoc code without special code inserter
    generator (the special code inserter is part of the library now).

1.2.0

26 Jul 12:48
Compare
Choose a tag to compare

This is a major feature release with many new features.

  • Documentation generation snippet support,
  • Generator configuration unified and supported by code generation
  • parameter parsing supports " inside string, other escape sequences, and numeric and boolean values
  • multi-line segments headers are supported in markdown documents
  • Java generated code is compared on the lexical level and thus reformatted code is not regenerated