Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@
# limitations under the License.
#

FROM thingsboard/tb-node:4.3.0.1
FROM thingsboard/tb-node:4.4.0
COPY target/rule-engine-1.0.0-custom-nodes.jar /usr/share/thingsboard/extensions/
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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-custom-1`
27 changes: 23 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<main.dir>${basedir}</main.dir>
<thingsboard.version>4.3.0.1</thingsboard.version>
<lombok.version>1.18.38</lombok.version>
<thingsboard.version>4.4.0</thingsboard.version>
<lombok.version>1.18.40</lombok.version>
<maven.compiler.source>25</maven.compiler.source>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Low-confidence observation: maven.compiler.source and maven.compiler.target are redundant when the compiler plugin already specifies <release>25</release> (line 195). The --release flag is a superset that sets source level, target level, and boot classpath in one go. Having both shouldn't cause problems, but if they ever drift apart it could lead to confusing build behavior. Consider removing these two properties and relying solely on <release>.

<maven.compiler.target>25</maven.compiler.target>
<guava.version>33.1.0-jre</guava.version>
<spring-boot.version>3.4.10</spring-boot.version>
<commons-io.version>2.16.1</commons-io.version>
Expand All @@ -43,6 +45,7 @@
<checker-qual.version>3.49.3</checker-qual.version>
<j2objc-annotations.version>3.0.0</j2objc-annotations.version>
<commons-lang3.version>3.18.0</commons-lang3.version>
<bytebuddy.version>1.18.4</bytebuddy.version>
<surefire.version>3.5.4</surefire.version>
</properties>

Expand Down Expand Up @@ -168,6 +171,16 @@
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${bytebuddy.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>${bytebuddy.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

Expand All @@ -177,9 +190,9 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<version>3.13.0</version>
<configuration>
<release>17</release>
<release>25</release>
<compilerArgs>
<arg>-Xlint:deprecation</arg>
<arg>-Xlint:removal</arg>
Expand All @@ -198,6 +211,12 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<configuration>
<argLine>
-XX:+EnableDynamicAgentLoading
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
</argLine>
</configuration>
</plugin>
</plugins>
</pluginManagement>
Expand Down