Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
9dce63a
chore: Started defining the new buffer-api kicking off the SPI3 refac…
chrisdutz Dec 8, 2025
f7d048c
chore: Removed some accidentally committed files.
chrisdutz Dec 8, 2025
2c419f9
feat: Implemented a first version of the byte-based buffers along wit…
chrisdutz Dec 12, 2025
5b57048
feat: Implemented a first version of the xml-based and ported the asc…
chrisdutz Dec 22, 2025
0b03d7f
refactor: Updated the box-based buffer to operate without external de…
chrisdutz Dec 22, 2025
dc6553d
refactor: Updated the box-based buffer to operate without external de…
chrisdutz Dec 22, 2025
5cafd70
refactor: Updated the box-based buffer to operate without external de…
chrisdutz Dec 22, 2025
f27d930
build(deps): bump org.sonarsource.scanner.maven:sonar-maven-plugin (#…
dependabot[bot] Dec 8, 2025
9b81b90
build(deps): bump org.apache.commons:commons-text from 1.14.0 to 1.15…
dependabot[bot] Dec 8, 2025
44b5829
build(deps): bump com.google.googlejavaformat:google-java-format (#2379)
dependabot[bot] Dec 8, 2025
f48224b
build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 in /plc4go (…
dependabot[bot] Dec 9, 2025
3b797ff
build(deps): bump golang.org/x/tools from 0.39.0 to 0.40.0 in /plc4go…
dependabot[bot] Dec 9, 2025
4c42c11
chore(build): use different sdk site
sruehl Dec 9, 2025
3ccf206
build(deps): bump com.igormaznitsa:gosdk-wrapper-maven-plugin (#2390)
dependabot[bot] Dec 10, 2025
cb4d5a4
build(deps): bump mockito.version from 5.20.0 to 5.21.0 (#2389)
dependabot[bot] Dec 10, 2025
558d10b
build(deps): bump com.gradle:develocity-maven-extension (#2391)
dependabot[bot] Dec 11, 2025
aba0b90
doc: Added documentation for a set of test-structures and initializta…
chrisdutz Dec 12, 2025
1171940
build(deps): bump org.apache.maven.plugins:maven-release-plugin (#2397)
dependabot[bot] Dec 15, 2025
2a8d433
build(deps): bump actions/upload-artifact from 5 to 6 (#2396)
dependabot[bot] Dec 15, 2025
fa2a9ae
build(deps): bump io.vavr:vavr from 0.10.7 to 0.11.0 (#2395)
dependabot[bot] Dec 15, 2025
3d78a51
build(deps): bump actions/cache from 4 to 5 (#2393)
dependabot[bot] Dec 15, 2025
d21f9b3
build(deps): bump logback.version from 1.5.21 to 1.5.22 (#2392)
dependabot[bot] Dec 15, 2025
1a584f2
build(deps-dev): bump org.testcontainers:testcontainers (#2400)
dependabot[bot] Dec 16, 2025
8577a39
build(deps-dev): bump org.testcontainers:junit-jupiter (#2399)
dependabot[bot] Dec 16, 2025
c9eea1b
build(deps): bump org.apache.karaf.tooling:karaf-maven-plugin (#2398)
dependabot[bot] Dec 16, 2025
8d2016e
build(deps): bump org.jetbrains.kotlin:kotlin-stdlib (#2402)
dependabot[bot] Dec 17, 2025
9044d32
build(deps): bump org.apache.maven:maven-artifact from 3.9.11 to 3.9.…
dependabot[bot] Dec 17, 2025
2db73b9
refactor: Added the queryName to the browse request interceptor inter…
chrisdutz Dec 31, 2025
464d081
build(deps): bump dorny/test-reporter from 2.3.0 to 2.5.0 (#2409)
dependabot[bot] Jan 5, 2026
ead9032
build(deps): bump org.codehaus.mojo:exec-maven-plugin (#2405)
dependabot[bot] Jan 5, 2026
e1b6c37
build(deps): bump net.bytebuddy:byte-buddy from 1.18.2 to 1.18.3 (#2404)
dependabot[bot] Jan 5, 2026
708e7be
build(deps): bump logback.version from 1.5.22 to 1.5.23 (#2403)
dependabot[bot] Jan 5, 2026
89ecceb
build(deps): bump nl.jqno.equalsverifier:equalsverifier (#2412)
dependabot[bot] Jan 6, 2026
51b0fa2
build(deps): bump com.github.eirslett:frontend-maven-plugin (#2411)
dependabot[bot] Jan 6, 2026
b0de760
build(deps-dev): bump org.json:json from 20250517 to 20251224 (#2410)
dependabot[bot] Jan 6, 2026
9add874
build(deps): bump org.junit:junit-bom from 6.0.1 to 6.0.2 (#2415)
dependabot[bot] Jan 7, 2026
e8da04a
build(deps): bump logback.version from 1.5.23 to 1.5.24 (#2414)
dependabot[bot] Jan 7, 2026
3b90dd3
build(deps): bump org.apache:apache from 35 to 36 (#2413)
dependabot[bot] Jan 7, 2026
d710b53
feat: Added a new PlcCertificateAuthentication type to the API module.
chrisdutz Jan 9, 2026
a1877c9
feat: Add github link to header
hutcheb Jan 10, 2026
76c4360
refactor: Refactored the ConnectionStateListener to allow reporting m…
chrisdutz Jan 11, 2026
d958bed
fix: Updated the prereqisiteCheck to also deal with new versions of l…
chrisdutz Jan 11, 2026
2547ef6
build(deps): bump golang.org/x/text from 0.32.0 to 0.33.0 in /plc4go …
dependabot[bot] Jan 12, 2026
8986f19
chore: Cleanup after merging in changes from develop
chrisdutz Jan 12, 2026
d8e188c
chore: Added updated "values", "fields" and "utlis" modules, which ar…
chrisdutz Jan 12, 2026
780995a
chore: Added a new code-generation module based on JavaPoet and integ…
chrisdutz Jan 12, 2026
a150791
chore: Updated the mspecs for the new style of handling encoding, byt…
chrisdutz Jan 12, 2026
23ad80f
fix: Resolved some build issues related to missing apache headers.
chrisdutz Jan 12, 2026
ff35305
chore: Updated the utils and tools to handle the updated api
chrisdutz Jan 12, 2026
a2fbbac
chore: Finished implementing support for referencing DataIo types in …
chrisdutz Jan 13, 2026
4633b1f
chore: Fine-tuned the generator for some of the mspecs I added back r…
chrisdutz Jan 13, 2026
05b5104
chore: Fine-tuned the mspecs, I recently added back to be compatible …
chrisdutz Jan 13, 2026
de511c5
chore: Updated the code generated by the code-generator as proof that…
chrisdutz Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .github/workflows/c-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
java-version: ${{ matrix.java }}

- name: Cache local Maven repository
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/go-platform-test-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: dorny/test-reporter@fe45e9537387dac839af0d33ba56eed8e24189e8 # v2.3.0
- uses: dorny/test-reporter@b082adf0eced0765477756c2a610396589b8c637 # v2.5.0
with:
artifact: "golang-test-report-${{ matrix.os }}"
name: "Golang Tests (OS: ${{ matrix.os }})"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/go-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ jobs:
java-version: ${{ matrix.java }}

- name: Cache local Maven repository
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
Expand Down Expand Up @@ -176,7 +176,7 @@ jobs:
./mvnw${{ steps.platform_suffix.outputs.platform_suffix }} ${{ steps.extra_options.outputs.extra_options }} -B -P'with-go,enable-all-checks,update-generated-code' -pl :plc4go -am ${{ steps.platform_opts.outputs.platform_opts }} install

- name: Upload Test Report (first failure)
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
if: failure()
with:
name: "golang-test-report-first-failure-${{ matrix.os }}"
Expand All @@ -189,7 +189,7 @@ jobs:
run: ./mvnw${{ steps.platform_suffix.outputs.platform_suffix }} ${{ steps.extra_options.outputs.extra_options }} -B -P'with-go,skip-bacnet-regression-test,update-generated-code' -pl :plc4go -am ${{ steps.platform_opts.outputs.platform_opts }} install

- name: Upload Test Report
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
if: success() || failure()
with:
name: "golang-test-report-${{ matrix.os }}"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/java-platform-test-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: dorny/test-reporter@fe45e9537387dac839af0d33ba56eed8e24189e8 # v2.3.0
- uses: dorny/test-reporter@b082adf0eced0765477756c2a610396589b8c637 # v2.5.0
with:
artifact: "java-test-report-${{ matrix.os }}-java-${{ matrix.java }}"
name: "Java Tests (OS: ${{ matrix.os }}, Java: ${{ matrix.java }})"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/java-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
java-version: ${{ matrix.java }}

- name: Cache local Maven repository
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
./mvnw${{ steps.platform_suffix.outputs.platform_suffix }} ${{ steps.extra_options.outputs.extra_options }} -B -P'with-java,enable-all-checks,update-generated-code' ${{ steps.platform_opts.outputs.platform_opts }} install

- name: Upload Test Report (first failure)
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
if: failure()
with:
name: "java-test-report-first-failure-${{ matrix.os }}-java-${{ matrix.java }}"
Expand All @@ -142,7 +142,7 @@ jobs:
run: ./mvnw${{ steps.platform_suffix.outputs.platform_suffix }} ${{ steps.extra_options.outputs.extra_options }} -B -P'with-java,skip-bacnet-regression-test,update-generated-code' ${{ steps.platform_opts.outputs.platform_opts }} install

- name: Upload Test Report
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
if: success() || failure()
with:
name: "java-test-report-${{ matrix.os }}-java-${{ matrix.java }}"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/python-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ jobs:
}

- name: Cache local Maven repository
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
Expand Down
2 changes: 1 addition & 1 deletion .mvn/extensions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<extension>
<groupId>com.gradle</groupId>
<artifactId>develocity-maven-extension</artifactId>
<version>2.2.1</version>
<version>2.3</version>
</extension>
<extension>
<groupId>com.gradle</groupId>
Expand Down
10 changes: 9 additions & 1 deletion RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ New Features
- Subscription of change-of-state values now supports
providing a min time interval to prevent excessive
notifications.
- Added a new PlcCertificateAuthentication to the API module.

Incompatible changes
--------------------
Expand All @@ -20,7 +21,14 @@ Incompatible changes
Java 17 to allow alternate driver implementations to support
Java 17.
- Updated the signature of the PlcBrowseRequestInterceptor to
also accept a tag and item instead of just an item.
also accept a queryName, query and item instead of just an
item.
- The ConnectionStateListener interface was updated to no longer
have a connected() and disconnected() method, but use a
onConnectionStateChanged method instead that accepts
PlcConnectionStateChangedEvent events which have many more
state change options beyond a simple connected and disconnected
event.

Bug Fixes
---------
Expand Down
150 changes: 150 additions & 0 deletions code-generation/language/java-jp/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4x-code-generation-language</artifactId>
<version>0.14.0-SNAPSHOT</version>
</parent>

<artifactId>plc4x-code-generation-language-java-jp</artifactId>

<name>Code-Generation: Language: Java (JavaPoet)</name>
<description>Code generation template for generating Java code (JavaPoet based version for SPI3)</description>

<properties>
<project.build.outputTimestamp>2025-08-02T13:55:11Z</project.build.outputTimestamp>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<executions>
<execution>
<id>integration-test</id>
<goals>
<!-- Install the current project artifacts into the maven local repo, so they can be used in the test -->
<goal>install</goal>
<!-- Execute the maven builds defines in src/test/resources -->
<goal>integration-test</goal>
<!-- Checks the results of the maven builds -->
<goal>verify</goal>
</goals>
<configuration>
<skipInvocation>${skip-code-generation-tests}</skipInvocation>
<debug>true</debug>
<!-- Use the "test" scope for filling the tests local repository -->
<scope>test</scope>
<streamLogsOnFailures>true</streamLogsOnFailures>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<projectsDirectory>src/test/resources</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/integration-tests</cloneProjectsTo>
<settingsFile>src/test/resources/settings.xml</settingsFile>
<extraArtifacts>
<extraArtifact>org.apache.plc4x.plugins:plc4x-code-generation-language-base:${plc4x-code-generation.version}</extraArtifact>
<extraArtifact>org.apache.plc4x.plugins:plc4x-maven-plugin:${plc4x-code-generation.version}</extraArtifact>
<extraArtifact>org.apache.plc4x.plugins:plc4x-code-generation-protocol-base:${plc4x-code-generation.version}</extraArtifact>
<extraArtifact>org.apache.plc4x.plugins:plc4x-code-generation-types-base:${plc4x-code-generation.version}</extraArtifact>
</extraArtifacts>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
</pomIncludes>
<mavenOpts>--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</mavenOpts>
<!-- The goals we will be executing in the test-projects -->
<goals>
<goal>test</goal>
</goals>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
<!-- PLC4J API -->
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-api</artifactId>
<version>0.14.0-SNAPSHOT</version>
</dependency>

<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>

<!-- PLC4X Code Generation Dependencies -->
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4x-code-generation-protocol-base-mspec</artifactId>
<version>0.14.0-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>org.apache.plc4x.plugins</groupId>
<artifactId>plc4x-code-generation-types-base</artifactId>
<version>${plc4x-code-generation.version}</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x.plugins</groupId>
<artifactId>plc4x-code-generation-language-base</artifactId>
<version>${plc4x-code-generation.version}</version>
</dependency>

<!-- Just needed for some utility methods -->
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-spi-utils</artifactId>
<version>0.14.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-spi-buffers-api</artifactId>
<version>0.14.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-spi-buffers-byte</artifactId>
<version>0.14.0-SNAPSHOT</version>
</dependency>

<!-- https://github.com/palantir/javapoet -->
<dependency>
<groupId>com.palantir.javapoet</groupId>
<artifactId>javapoet</artifactId>
<version>0.7.0</version>
</dependency>
</dependencies>

</project>
Loading