From 1572c0e320d47bf427f5ac48d497445f7617f1e6 Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Fri, 20 Feb 2026 20:38:37 +0200 Subject: [PATCH 1/4] Migrate build configuration from Java 17 to Java 25 Update build to target ThingsBoard 4.4.0-SNAPSHOT which requires Java 25. Bump lombok to 1.18.40, add surefire JVM args for Mockito compatibility. Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 2 +- README.md | 4 +++- pom.xml | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index fd47fc0..f1f76d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,5 +14,5 @@ # limitations under the License. # -FROM thingsboard/tb-node:4.3.0.1 +FROM thingsboard/tb-node:4.4.0-SNAPSHOT COPY target/rule-engine-1.0.0-custom-nodes.jar /usr/share/thingsboard/extensions/ diff --git a/README.md b/README.md index 81d91c7..4a20627 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # rule-node-examples Examples of custom Rule Nodes for ThingsBoard contribution guide +Requires JDK 25+ + Unit tests examples for custom rule nodes added as well To build the project run `mvn clean install` -To build a custom Docker image run `DOCKER_BUILDKIT=0 docker build . -t your_repo/tb-node:4.3.0.1-custom-1` +To build a custom Docker image run `DOCKER_BUILDKIT=0 docker build . -t your_repo/tb-node:4.4.0-SNAPSHOT-custom-1` diff --git a/pom.xml b/pom.xml index 99e9c71..7c0aed7 100644 --- a/pom.xml +++ b/pom.xml @@ -32,8 +32,10 @@ UTF-8 ${basedir} - 4.3.0.1 - 1.18.38 + 4.4.0-SNAPSHOT + 1.18.40 + 25 + 25 33.1.0-jre 3.4.10 2.16.1 @@ -179,11 +181,12 @@ maven-compiler-plugin 3.11.0 - 17 + 25 -Xlint:deprecation -Xlint:removal -Xlint:unchecked + -parameters @@ -198,6 +201,12 @@ org.apache.maven.plugins maven-surefire-plugin ${surefire.version} + + + -XX:+EnableDynamicAgentLoading + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED + + From cb0783ef80566fcc6aa43c8451683d4fe399817b Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Fri, 20 Feb 2026 21:01:26 +0200 Subject: [PATCH 2/4] Upgrade maven-compiler-plugin to 3.13.0 and remove unnecessary -parameters flag Upgrade maven-compiler-plugin from 3.11.0 to 3.13.0 for better Java 25 support. Remove -parameters compiler flag as this project has no Spring components that require method parameter name retention. Co-Authored-By: Claude Opus 4.6 --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7c0aed7..336486c 100644 --- a/pom.xml +++ b/pom.xml @@ -179,14 +179,13 @@ org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.13.0 25 -Xlint:deprecation -Xlint:removal -Xlint:unchecked - -parameters From b63e27eae2271c83bc4c30633035b5ae7dc68cf9 Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Mon, 23 Feb 2026 17:12:36 +0200 Subject: [PATCH 3/4] Fix bytebuddy version --- pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pom.xml b/pom.xml index 336486c..8dd9d01 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,7 @@ 3.49.3 3.0.0 3.18.0 + 1.18.4 3.5.4 @@ -170,6 +171,16 @@ commons-lang3 ${commons-lang3.version} + + net.bytebuddy + byte-buddy + ${bytebuddy.version} + + + net.bytebuddy + byte-buddy-agent + ${bytebuddy.version} + From 252f526b410aa5d8d7fa733fc85da5a869a28830 Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Tue, 24 Feb 2026 11:46:41 +0200 Subject: [PATCH 4/4] ThingsBoard version set to 4.0.0 --- Dockerfile | 2 +- README.md | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f1f76d2..1a02978 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,5 +14,5 @@ # limitations under the License. # -FROM thingsboard/tb-node:4.4.0-SNAPSHOT +FROM thingsboard/tb-node:4.4.0 COPY target/rule-engine-1.0.0-custom-nodes.jar /usr/share/thingsboard/extensions/ diff --git a/README.md b/README.md index 4a20627..1a7aa03 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,4 @@ Unit tests examples for custom rule nodes added as well To build the project run `mvn clean install` -To build a custom Docker image run `DOCKER_BUILDKIT=0 docker build . -t your_repo/tb-node:4.4.0-SNAPSHOT-custom-1` +To build a custom Docker image run `DOCKER_BUILDKIT=0 docker build . -t your_repo/tb-node:4.4.0-custom-1` diff --git a/pom.xml b/pom.xml index 8dd9d01..130004c 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ UTF-8 ${basedir} - 4.4.0-SNAPSHOT + 4.4.0 1.18.40 25 25