Draft
Conversation
…toring (At this state the project should not be buildable)
…h enough tests for the 80% coverage.
…ii-box-based buffers along with enough tests for the 80% coverage.
sruehl
reviewed
Jan 5, 2026
| default: | ||
| return boxSideBySide(boxes.get(0), mergeHorizontal(new ArrayList<>(boxes).subList(1, boxes.size()))); | ||
| } | ||
| return switch (boxes.size()) { |
Contributor
There was a problem hiding this comment.
really like the new syntax... :)
…2381) Bumps [org.sonarsource.scanner.maven:sonar-maven-plugin](https://github.com/SonarSource/sonar-scanner-maven) from 5.4.0.6343 to 5.5.0.6356. - [Release notes](https://github.com/SonarSource/sonar-scanner-maven/releases) - [Commits](SonarSource/sonar-scanner-maven@5.4.0.6343...5.5.0.6356) --- updated-dependencies: - dependency-name: org.sonarsource.scanner.maven:sonar-maven-plugin dependency-version: 5.5.0.6356 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 (#2380) Bumps [org.apache.commons:commons-text](https://github.com/apache/commons-text) from 1.14.0 to 1.15.0. - [Changelog](https://github.com/apache/commons-text/blob/master/RELEASE-NOTES.txt) - [Commits](apache/commons-text@rel/commons-text-1.14.0...rel/commons-text-1.15.0) --- updated-dependencies: - dependency-name: org.apache.commons:commons-text dependency-version: 1.15.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.google.googlejavaformat:google-java-format](https://github.com/google/google-java-format) from 1.32.0 to 1.33.0. - [Release notes](https://github.com/google/google-java-format/releases) - [Commits](google/google-java-format@v1.32.0...v1.33.0) --- updated-dependencies: - dependency-name: com.google.googlejavaformat:google-java-format dependency-version: 1.33.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2386) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.47.0 to 0.48.0. - [Commits](golang/net@v0.47.0...v0.48.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.48.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#2385) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.39.0 to 0.40.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](golang/tools@v0.39.0...v0.40.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [com.igormaznitsa:gosdk-wrapper-maven-plugin](https://github.com/raydac/gosdk-wrapper-maven-plugin) from 1.1.1 to 1.1.2. - [Release notes](https://github.com/raydac/gosdk-wrapper-maven-plugin/releases) - [Changelog](https://github.com/raydac/gosdk-wrapper-maven-plugin/blob/main/CHANGELOG.md) - [Commits](raydac/gosdk-wrapper-maven-plugin@1.1.1...1.1.2) --- updated-dependencies: - dependency-name: com.igormaznitsa:gosdk-wrapper-maven-plugin dependency-version: 1.1.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `mockito.version` from 5.20.0 to 5.21.0. Updates `org.mockito:mockito-core` from 5.20.0 to 5.21.0 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](mockito/mockito@v5.20.0...v5.21.0) Updates `org.mockito:mockito-junit-jupiter` from 5.20.0 to 5.21.0 - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](mockito/mockito@v5.20.0...v5.21.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-version: 5.21.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.mockito:mockito-junit-jupiter dependency-version: 5.21.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps com.gradle:develocity-maven-extension from 2.2.1 to 2.3. --- updated-dependencies: - dependency-name: com.gradle:develocity-maven-extension dependency-version: '2.3' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…iton values for testing.
Bumps [org.apache.maven.plugins:maven-release-plugin](https://github.com/apache/maven-release) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/apache/maven-release/releases) - [Commits](apache/maven-release@maven-release-3.3.0...maven-release-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-release-plugin dependency-version: 3.3.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v5...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [io.vavr:vavr](https://github.com/vavr-io/vavr) from 0.10.7 to 0.11.0. - [Release notes](https://github.com/vavr-io/vavr/releases) - [Commits](vavr-io/vavr@v0.10.7...v0.11.0) --- updated-dependencies: - dependency-name: io.vavr:vavr dependency-version: 0.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v4...v5) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `logback.version` from 1.5.21 to 1.5.22. Updates `ch.qos.logback:logback-classic` from 1.5.21 to 1.5.22 - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.21...v_1.5.22) Updates `ch.qos.logback:logback-core` from 1.5.21 to 1.5.22 - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.21...v_1.5.22) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.22 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: ch.qos.logback:logback-core dependency-version: 1.5.22 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](testcontainers/testcontainers-java@2.0.2...2.0.3) --- updated-dependencies: - dependency-name: org.testcontainers:testcontainers dependency-version: 2.0.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) from 1.21.3 to 1.21.4. - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](testcontainers/testcontainers-java@1.21.3...1.21.4) --- updated-dependencies: - dependency-name: org.testcontainers:junit-jupiter dependency-version: 1.21.4 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps org.apache.karaf.tooling:karaf-maven-plugin from 4.4.8 to 4.4.9. --- updated-dependencies: - dependency-name: org.apache.karaf.tooling:karaf-maven-plugin dependency-version: 4.4.9 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) from 2.2.21 to 2.3.0. - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.2.21...v2.3.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-stdlib dependency-version: 2.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…12 (#2401) Bumps org.apache.maven:maven-artifact from 3.9.11 to 3.9.12. --- updated-dependencies: - dependency-name: org.apache.maven:maven-artifact dependency-version: 3.9.12 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20250517 to 20251224. - [Release notes](https://github.com/douglascrockford/JSON-java/releases) - [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md) - [Commits](https://github.com/douglascrockford/JSON-java/commits) --- updated-dependencies: - dependency-name: org.json:json dependency-version: '20251224' dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.0.1...r6.0.2) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `logback.version` from 1.5.23 to 1.5.24. Updates `ch.qos.logback:logback-classic` from 1.5.23 to 1.5.24 - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.23...v_1.5.24) Updates `ch.qos.logback:logback-core` from 1.5.23 to 1.5.24 - [Release notes](https://github.com/qos-ch/logback/releases) - [Commits](qos-ch/logback@v_1.5.23...v_1.5.24) --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-version: 1.5.24 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: ch.qos.logback:logback-core dependency-version: 1.5.24 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.apache:apache](https://github.com/apache/maven-apache-parent) from 35 to 36. - [Release notes](https://github.com/apache/maven-apache-parent/releases) - [Commits](https://github.com/apache/maven-apache-parent/commits) --- updated-dependencies: - dependency-name: org.apache:apache dependency-version: '36' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ore types of events.
…2417) Bumps [golang.org/x/text](https://github.com/golang/text) from 0.32.0 to 0.33.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…e needed by the code-generation.
…rated that into the build of all drivers.
There was a problem hiding this comment.
Pull request overview
This pull request refactors the SPI (Service Provider Interface) layer by replacing Netty-based core with lightweight sub-modules that eliminate Netty dependencies and minimize third-party dependencies. This architectural change enables independent use of the code-generation framework and facilitates porting PLC4X to other languages.
Changes:
- Migrated data reader/writer classes from
org.apache.plc4x.java.spi.codegen.iotoorg.apache.plc4x.java.spi.fields.data.reader/writerpackages - Replaced exception types from
SerializationException/ParseExceptiontoBufferException - Updated method signatures to use
WithOptioninstead ofWithWriterArgs/WithReaderArgs - Created new buffer implementation modules (XML, byte-based) with comprehensive encoding support
Reviewed changes
Copilot reviewed 163 out of 503 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| DataWriter*.java | Refactored writer classes with updated package paths, simplified API removing logical names, and new exception types |
| DataReader*.java | Refactored reader classes with updated package paths, position tracking changes, and new exception types |
| WriteBufferXmlBased.java | New XML-based buffer implementation with StAX event writing |
| ReadBufferXmlBased.java | New XML-based buffer implementation with StAX event reading |
| Encoding*.java tests | Comprehensive test suites for various encoding implementations (UTF-8, UTF-16, ASCII, BCD, etc.) |
| pom.xml | New Maven module definitions for fields and buffer implementations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…with the new code-generator
… it works (all modules compile successfully)
233a550 to
a2cbfeb
Compare
…tor/spi3 # Conflicts: # .mvn/extensions.xml # plc4go/go.mod # plc4go/go.sum # plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java # plc4j/spi/src/test/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurerTest.java # pom.xml
…nsive test-suite.
…nsive test-suite.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In this refactoring, we are replacing the existing Netty-based core into a set of lightweight sub-modules without requiring Netty at all and with as little third party dependencies as possible.
This will allow using our code-generation framework independently from building PLC4J drivers and allow porting PLC4X to other languages as we no longer rely on external libraries for which counterparts need to be integrated for new languages.