From f55172bcb626cb9cfbdf78996b0db50c282484b5 Mon Sep 17 00:00:00 2001 From: Viacheslav Klimov Date: Tue, 21 Apr 2026 14:50:47 +0300 Subject: [PATCH 1/2] Add maven enforcer rule to check openapi spec was generated successfully --- application/pom.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/application/pom.xml b/application/pom.xml index 1a5665143c..4114f98759 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -572,6 +572,29 @@ ${project.build.directory} + + org.apache.maven.plugins + maven-enforcer-plugin + + + verify-openapi-spec-generated + verify + + enforce + + + + + + ${project.build.directory}/openapi.json + + OpenAPI spec was not generated — target/openapi.json is missing. The springdoc-openapi-maven-plugin logs HTTP failures but does not fail the build; scan the log above for "An error has occured" or a 5xx response from /v3/api-docs/thingsboard and fix the underlying issue (e.g. duplicate @Schema names rejected by SwaggerConfiguration). + + + + + + org.apache.maven.plugins maven-surefire-plugin From 678312830cbff3df7a12cc0ae9a86224602a7ace Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Tue, 21 Apr 2026 17:06:06 +0200 Subject: [PATCH 2/2] chore(build): silence ~200 lines of harmless warnings on lts-4.2 Build hygiene for developers who rebuild lts-4.2 frequently: cleans the pom.xml sources that generate noise without any code change. - Pin maven-clean-plugin to 3.5.0 (latest stable) via a property, matching the convention already used for surefire/install/deploy/jar plugins. Removes 55 "version is missing" warnings plus the cascading "Some problems were encountered while building the effective model" messages for every child module. - Extend license-maven-plugin excludes for files that never carry a license header: **/lombok.config, **/eslint.config.mjs, **/config.monitoring, **/valkey-certs/**, **/data/certs/**, **/*.otf. Directory-scoped patterns are used instead of broad extension globs (**/*.crt, **/*.key, **/*.pem) so a stray cert dropped outside these directories still raises a warning. - Exclude sjk-jfr5 / sjk-jfr6 / sjk-nps transitive deps from cassandra-all in tools/pom.xml. Their published POMs declare system-scope deps against unresolved ${jmc5.path}, ${jmc6.path}, ${visualvm.path} properties, producing 7 ERROR-level lines on every build. No ThingsBoard code imports sjk, jmc, or netbeans profiler classes. Net impact: 1040 -> 843 WARNING lines, 7 -> 0 ERROR lines. Build still green. Full categorization of remaining warnings and Tier 2/3 migration plan is tracked in issue #15481. --- pom.xml | 8 ++++++++ tools/pom.xml | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/pom.xml b/pom.xml index 409e16cdc9..5604ca39d7 100755 --- a/pom.xml +++ b/pom.xml @@ -97,6 +97,7 @@ 3.5.4 3.1.4 3.1.4 + 3.5.0 2.8.8TB 2.2.30 0.8 @@ -915,6 +916,12 @@ **/resources/lwm2m/models/** src/main/data/resources/** .claude/** + **/lombok.config + **/eslint.config.mjs + **/config.monitoring + **/valkey-certs/** + **/data/certs/** + **/*.otf JAVADOC_STYLE @@ -967,6 +974,7 @@ org.apache.maven.plugins maven-clean-plugin + ${maven-clean-plugin.version} false diff --git a/tools/pom.xml b/tools/pom.xml index a2820d48f6..46c56c634b 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -54,6 +54,24 @@ org.apache.cassandra cassandra-all + + + + org.perfkit.sjk.parsers + sjk-jfr5 + + + org.perfkit.sjk.parsers + sjk-jfr6 + + + org.perfkit.sjk.parsers + sjk-nps + + at.yawk.lz4