Author: cdutz
Date: Mon Jul 27 13:05:25 2026
New Revision: 86262

Log:
Staging of rc1 of PLC4X Build-Tools (Code-Generation) 1.9.0

Added:
   dev/plc4x/build-tools/code-generation/1.9.0/
   dev/plc4x/build-tools/code-generation/1.9.0/rc1/
   dev/plc4x/build-tools/code-generation/1.9.0/rc1/README
   dev/plc4x/build-tools/code-generation/1.9.0/rc1/RELEASE_NOTES
   
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip
   (contents, props changed)
   
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip.asc
   
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip.sha512

Added: dev/plc4x/build-tools/code-generation/1.9.0/rc1/README
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/plc4x/build-tools/code-generation/1.9.0/rc1/README      Mon Jul 27 
13:05:25 2026        (r86262)
@@ -0,0 +1,54 @@
+Apache PLC4X Build-Tools
+========================
+
+Apache PLC4X Build-Tools is a sub-project of the Apache PLC4X project and 
contains
+all the tools needed to build the main project.
+
+Currently the only tool it contains is a maven plugin used to generate drivers.
+
+It currently doesn't contain any actual code-generation modules, but just the 
plugin
+and the API required to load and use code-generation modules.
+
+The actual code-generation modules are located inside the main project.
+
+Environment
+-----------
+
+Currently the project is configured to require the following software:
+
+1) Java 21 JDK (Or newer): For running Maven in general as well as compiling 
the Java
+modules `JAVA_HOME` configured to point to that.
+
+
+Getting Started
+---------------
+
+Normally you wouldn't be required to build this module as the artifacts it 
produces
+will be made available via one of the maven repositories. However if you want 
to improve
+or fix the existing tools, you will have to build your version locally.
+
+You must have Java 21 installed on your system and connectivity to Maven 
Central
+(for downloading external third party dependencies). Maven will be 
automatically
+downloaded and installed by the maven wrapper `mvnw`.
+
+NOTE: When running from sources-zip, the `mvnw` might not be executable, this 
can easily
+be fixed by running the following command in the directory.
+
+$ chmod +x mvnw
+
+Build PLC4X Java jars and install them in your local maven repository
+
+$ ./mvnw install
+
+(Optionally you can use the normal Maven `mvn` command, if you have a 
reasonably fresh version of Maven installed)
+
+This should make the build-tools available to the main projects build.
+In order to use your locally built version of the build-tools you should
+update the property: `plc4x-code-generation.version` in the PLC4X main pom.xml.
+
+
+
+Licensing
+---------
+
+Apache PLC4X is released under the Apache License Version 2.0.

Added: dev/plc4x/build-tools/code-generation/1.9.0/rc1/RELEASE_NOTES
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/plc4x/build-tools/code-generation/1.9.0/rc1/RELEASE_NOTES       Mon Jul 
27 13:05:25 2026        (r86262)
@@ -0,0 +1,198 @@
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.9.0
+==============================================================
+
+New Features
+------------
+- Added a new type for 'constants'
+- Added a new field type for 'state'
+- Added support for comments in the mspec.
+- Fields and types now expose the set of attribute names
+  explicitly set on them, as well as which attributes are set
+  on the current level versus inherited from a parent.
+
+Incompatible changes
+--------------------
+- Raised the Java baseline to Java 21.
+- Migrated the build to Apache Maven 4.
+
+Changed Maven Coordinates
+-------------------------
+
+- None. The groupId and artifactIds are unchanged in this release.
+
+Bug Fixes
+---------
+- Fixed 'isVariableLiteralVirtualField' which incorrectly only
+  inspected the property fields and so never matched virtual
+  fields.
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.8.0
+==============================================================
+
+New Features
+------------
+- Updated to the latest maven project maven-wrapper.
+- Added a 'skip' option to the plugin config.
+- Added support for providing external type information when
+  using external API types in the mspec (Such as PlcValueType
+  or PlcResponseCode)
+
+Incompatible changes
+--------------------
+
+- LanguageOutput now requires an additional Map<String,String>
+  argument for the type information.
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.7.0
+==============================================================
+
+New Features
+------------
+- Added a new "skip" option to the mojo.
+- Added a "nullBytesHex" option to optional fields.
+
+Incompatible changes
+--------------------
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.6.0
+==============================================================
+
+New Features
+------------
+
+- Added the ability to provide protocol versions in the code
+  generation.
+- Fields now know the concept of attributes
+- New field types:
+  - Assert Field: Like Reserved or Const, but fires a special
+    type of exception which can be used by optional fields.
+  - Validation Field: Executes a validation and fires
+    special types of exceptions.
+  - Peek Field: Filed that doesn't consume bytes from the
+    read buffer.
+- Code generation now knows the concept of protocol versions.
+
+Incompatible changes
+--------------------
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.5.0
+==============================================================
+
+New Features
+
+- `string` fields allow variable length input
+- Added a new `byte` simple type for 8 bit values where the
+  language can decide on if it's signed or unsigned.
+- Added a new `unknown` field type that can be used in
+  early stages of a driver, it allows simply discarding data
+  when parsing, but throws an exception when used for
+  serialization
+- Added support to the maven plugin for custom generator
+  options (Such as a custom package name)
+
+Changes
+
+- `enum` fields should only be used if a field of the enum
+  is required for parsing and serializing. For all other
+  cases a `simple` field works just right.
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.4.0
+==============================================================
+
+New Features
+
+- Added boolean-type
+- Moved the Default*TypeReference implementations from SPI in
+  the main repository to here
+
+------------
+
+Incompatible changes
+--------------------
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.3.0
+==============================================================
+
+Refactorings needed to make the expressions used in mspec
+strongly typed.
+
+New Features
+------------
+
+Incompatible changes
+--------------------
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.2.0
+==============================================================
+
+New Features
+------------
+- Added a new AbstractField type
+
+Incompatible changes
+--------------------
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.1.0
+==============================================================
+
+New Features
+------------
+- Added new Integer and Float type references
+- Added support for "dataIo" types in MSpec
+- Added support for temporal fields
+- Added support for string fields
+
+Incompatible changes
+--------------------
+
+Bug Fixes
+---------
+
+==============================================================
+Apache PLC4X Build-Tools Code-Generation 1.0.0
+==============================================================
+
+This is the first official release of Apache PLC4X
+Build-Tools Code-Generation.
+
+New Features
+------------
+
+- New `plc4x-maven-plugin`
+
+Incompatible changes
+--------------------
+
+- none
+
+Bug Fixes
+---------
+
+- none

Added: 
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip
==============================================================================
Binary file. No diff available.

Added: 
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip.asc
   Mon Jul 27 13:05:25 2026        (r86262)
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQJPBAABCgA5FiEE8VaBP/MVAH42umwTCJEnwVxg1rkFAmpnVZgbFIAAAAAABAAO
+bWFudTIsMi41KzEuMTIsMCwzAAoJEAiRJ8FcYNa5shYP/3C1ZH4SIHkBH/hvDaVQ
+Sysi9xwt/yLGinJlI5uO3m2fHVXT7n9RV1lsHB9nS4xl/bqojUoFaxJ4VeoBTYxn
+7pFucV3uC8ULmm8E57jCDJRjKUc5wTWl1jMZzDrpC53TQOeumlBQqsW2JRTzaQDr
+60Qbp+o/x+2FYMvwi9xqEaiS0KKRA/w5cJNu9B82BQTiETrdqA/kLacROrfHnd/+
+J0kWWwu5LEZ2pjEVSIsWZVJKxqCqudz8g7pSGhHGhPfu1Kc0O3OVx3at38BbldSz
+RR0gkSzhBCyzV0JUwICAt2XnkBNt7lFZFjrMxCgOPVbBxJob4jndDU86KIW5QDPB
+W4qQikviejs8voR5Z57VzBCtpt2TyT0UVDNM0EFADSwEfYv5gwD8n7MniKiLy+TQ
+tn1vKA4AqgtuiLaqMtFxVXyfrPVauXJwrNMMqrdukNoJafUkSWbjEO9byei2UM2H
+4lp/dP+HbaQMQ4noX7raXO6SR1/9wN1ioA/C98Gbh2iMOGSunroUqjozM7oA/FQ1
+3eluueDeeFw5oL87FQ+X6a4uFpfMMZaBZOSx7tDSGBs6jI42OwvuN24lm30CkIBV
+C7V+EWRDl0KdmYxY7AIX5fHhy0nOlZTaQFq6UEC0s3WIky4cN/7jdeNYrPs5b74F
+rxYB95xlChs2JVIt+rxBUVUU
+=Jugf
+-----END PGP SIGNATURE-----

Added: 
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
dev/plc4x/build-tools/code-generation/1.9.0/rc1/apache-plc4x-code-generation-1.9.0-source-release.zip.sha512
        Mon Jul 27 13:05:25 2026        (r86262)
@@ -0,0 +1 @@
+65bac7dff8dad5f59dc421dc2d5de27c8d912643d7354ab8466f56972d5841797f5111d3c5d36ac1201bd81e01db93006ec6d223d784e5c6cc784c465624a819
\ No newline at end of file

Reply via email to