mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-08-28 22:21:16 +08:00
fb97274691
- Spring Boot 4.0.7 -> 4.1.1, Spring Cloud 2025.1.2 -> 2025.1.3, Spring AI 2.0.0 -> 2.0.1, springdoc 3.0.3 -> 3.1.0 - Migrate gRPC starters to the Boot-owned spring-boot-starter-grpc-client/server line (org.springframework.grpc starter stops at 1.0.3 and mixes badly with the spring-grpc-core 1.1.1 managed by the Boot 4.1 BOM), and move the spring.grpc.channels.* YAML keys to the new spring.grpc.channel.* format - Refresh driver protocol libraries (modbus4j 3.1.0, jSerialComm 2.11.4, bacnet4j 6.1.1, gurux-dlms 4.0.96, j60870 1.8.0, snmp4j 3.13.1) and drop the flow-control overrides removed from the modbus4j SerialPortWrapper interface - Refresh jackson 2.x/3.x, protobuf, okhttp, micrometer, oshi, sqlite-jdbc, swagger-core, instancio, mockito, logstash-logback-encoder 9.0 and the graalvm native plugin; keep commons-io (broken timestamp-version candidate) and j-interop 2.0.4 (legacy major) pinned Co-Authored-By: Claude <noreply@anthropic.com>
1400 lines
59 KiB
XML
1400 lines
59 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Copyright 2016-present the IoT DC3 original author or authors.
|
|
~
|
|
~ This program is free software: you can redistribute it and/or modify
|
|
~ it under the terms of the GNU Affero General Public License as
|
|
~ published by the Free Software Foundation, either version 3 of the
|
|
~ License, or (at your option) any later version.
|
|
~
|
|
~ This program is distributed in the hope that it will be useful,
|
|
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
~ GNU Affero General Public License for more details.
|
|
~
|
|
~ You should have received a copy of the GNU Affero General Public License
|
|
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
-->
|
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
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>
|
|
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>iot-dc3</artifactId>
|
|
<version>2026.5.22</version>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>${project.artifactId}</name>
|
|
<inceptionYear>2016</inceptionYear>
|
|
<url>https://github.com/pnoker/iot-dc3</url>
|
|
<description>
|
|
IoT DC3 is a fully open-source, AI-ready distributed IoT platform.
|
|
It connects devices, collects data organized for AI, and orchestrates the closed loop —
|
|
turning intelligence into action, not just insight.
|
|
</description>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>pnoker</id>
|
|
<name>pnoker</name>
|
|
<email>pnokers@icloud.com</email>
|
|
<roles>
|
|
<role>PMC</role>
|
|
</roles>
|
|
<organization>pnoker.github.io</organization>
|
|
<url>https://github.com/pnoker/iot-dc3</url>
|
|
</developer>
|
|
</developers>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>GNU Affero General Public License v3.0</name>
|
|
<url>https://www.gnu.org/licenses/agpl-3.0.txt</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<scm>
|
|
<url>https://github.com/pnoker/iot-dc3</url>
|
|
<connection>scm:git:https://github.com/pnoker/iot-dc3.git</connection>
|
|
<developerConnection>scm:git:https://github.com/pnoker/iot-dc3.git</developerConnection>
|
|
</scm>
|
|
|
|
<properties>
|
|
<!-- Build basics -->
|
|
<java.version>21</java.version>
|
|
<maven.plugin.validation>VERBOSE</maven.plugin.validation>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<!-- Framework BOMs -->
|
|
<spring.boot.version>4.1.1</spring.boot.version>
|
|
<spring.cloud.version>2025.1.3</spring.cloud.version>
|
|
<spring-ai.version>2.0.1</spring-ai.version>
|
|
<!-- springdoc 3.x targets Spring Boot 4.0 / Spring Framework 7; the 2.8.x
|
|
line is for Spring Boot 3.x and crashes the Swagger UI on SF7
|
|
(UriComponentsBuilder.fromHttpRequest NoSuchMethodError). -->
|
|
<springdoc-openapi.version>3.1.0</springdoc-openapi.version>
|
|
<!-- swagger-core version required by springdoc 3.0.3 (has Schema.$dynamicRef()).
|
|
spring-ai-bom is imported before springdoc-openapi-bom and pulls an older
|
|
swagger-core, which causes a NoSuchMethodError during OpenAPI generation on
|
|
modules that include Spring AI (agentic). Pin it explicitly so it wins. -->
|
|
<swagger-core.version>2.2.54</swagger-core.version>
|
|
|
|
<!-- RPC and messaging -->
|
|
<grpc.version>1.83.1</grpc.version>
|
|
<protobuf.version>4.36.0</protobuf.version>
|
|
<okhttp.version>5.5.0</okhttp.version>
|
|
<netty.version>4.2.17.Final</netty.version>
|
|
<paho.mqttv3.version>1.2.5</paho.mqttv3.version>
|
|
|
|
<!-- Data access -->
|
|
<mybatis.plus.version>3.5.17</mybatis.plus.version>
|
|
<mybatis.plus.dynamic.version>4.5.0</mybatis.plus.dynamic.version>
|
|
|
|
<!-- Embedded database for the driver local point-value buffer -->
|
|
<sqlite-jdbc.version>3.53.4.0</sqlite-jdbc.version>
|
|
|
|
<!-- Serialization and data formats -->
|
|
<tools.jackson.version>3.2.2</tools.jackson.version>
|
|
<jackson.version>2.22.2</jackson.version>
|
|
<jackson.annotations.version>2.22</jackson.annotations.version>
|
|
<jaxb.version>4.0.9</jaxb.version>
|
|
<snakeyaml.version>2.6</snakeyaml.version>
|
|
|
|
<!-- Platform and core utilities -->
|
|
<activation.version>2.1.4</activation.version>
|
|
<commons.io.version>2.22.0</commons.io.version>
|
|
<apache.commons.compress.version>1.28.0</apache.commons.compress.version>
|
|
<apache.commons.lang3.version>3.20.0</apache.commons.lang3.version>
|
|
<apache.poi.version>5.5.1</apache.poi.version>
|
|
<freemarker.version>2.3.34</freemarker.version>
|
|
<jna.version>5.19.1</jna.version>
|
|
<oshi.version>7.6.0</oshi.version>
|
|
<jakarta.json.version>2.1.3</jakarta.json.version>
|
|
<jakarta.annotation.version>3.0.0</jakarta.annotation.version>
|
|
<jakarta.validation.version>3.1.1</jakarta.validation.version>
|
|
<hibernate.validator.version>9.1.3.Final</hibernate.validator.version>
|
|
<expressly.version>6.0.0</expressly.version>
|
|
<lombok.version>1.18.46</lombok.version>
|
|
<mapstruct.version>1.6.3</mapstruct.version>
|
|
<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
|
|
|
|
<!-- Security and observability -->
|
|
<jwt.version>0.13.0</jwt.version>
|
|
<bouncycastle.version>1.85</bouncycastle.version>
|
|
<micrometer.version>1.17.1</micrometer.version>
|
|
<opentelemetry.version>1.45.0</opentelemetry.version>
|
|
|
|
<!-- Legacy integration -->
|
|
<j.interop.version>2.0.4</j.interop.version>
|
|
|
|
<!-- Test toolchain -->
|
|
<testcontainers.version>2.0.5</testcontainers.version>
|
|
<hivemq.client.version>1.3.5</hivemq.client.version>
|
|
<rocketmq.client.version>5.3.2</rocketmq.client.version>
|
|
<pulsar.client.version>4.1.3</pulsar.client.version>
|
|
<junit.bom.version>6.1.3</junit.bom.version>
|
|
<assertj.version>3.27.7</assertj.version>
|
|
<awaitility.version>4.3.0</awaitility.version>
|
|
<instancio.version>5.6.0</instancio.version>
|
|
<rest-assured.version>6.0.1</rest-assured.version>
|
|
<wiremock.version>3.13.2</wiremock.version>
|
|
<surefire.version>3.5.6</surefire.version>
|
|
<jacoco.version>0.8.15</jacoco.version>
|
|
|
|
<!-- Build plugins -->
|
|
<os.maven.plugin.version>1.7.1</os.maven.plugin.version>
|
|
<protobuf.plugin.version>0.6.1</protobuf.plugin.version>
|
|
<graalvm.native.version>1.1.10</graalvm.native.version>
|
|
<maven.gpg.plugin>3.2.8</maven.gpg.plugin>
|
|
<maven.source.plugin>3.4.0</maven.source.plugin>
|
|
<maven.javadoc.plugin>3.12.0</maven.javadoc.plugin>
|
|
<maven.compiler.plugin>3.15.0</maven.compiler.plugin>
|
|
<maven.resource.plugin>3.5.0</maven.resource.plugin>
|
|
<maven.dependency.plugin>3.11.0</maven.dependency.plugin>
|
|
<maven.version.plugin>2.21.0</maven.version.plugin>
|
|
<maven.enforcer.plugin.version>3.6.3</maven.enforcer.plugin.version>
|
|
<maven.central.plugin.version>0.11.0</maven.central.plugin.version>
|
|
|
|
<!-- DC3 version (self-reference for internal dependency management) -->
|
|
<dc3.version>2026.5.22</dc3.version>
|
|
|
|
<!-- Deployment -->
|
|
<maven.deploy.skip>true</maven.deploy.skip>
|
|
|
|
<!-- Test execution toggles (consumed by surefire/failsafe) -->
|
|
<skip.unit.tests>false</skip.unit.tests>
|
|
<skip.integration.tests>false</skip.integration.tests>
|
|
<mockito.version>5.20.0</mockito.version>
|
|
<mockito.javaagent.argLine>
|
|
-javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar
|
|
</mockito.javaagent.argLine>
|
|
|
|
</properties>
|
|
|
|
|
|
<dependencies>
|
|
<!-- Common compile/test dependencies -->
|
|
<dependency>
|
|
<groupId>jakarta.annotation</groupId>
|
|
<artifactId>jakarta.annotation-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mapstruct</groupId>
|
|
<artifactId>mapstruct</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- Pin swagger-core to the version springdoc 3.0.3 requires. Declared
|
|
before the BOM imports so it takes precedence over the older
|
|
swagger-core that spring-ai-bom would otherwise contribute, which
|
|
breaks OpenAPI generation (Schema.$dynamicRef NoSuchMethodError). -->
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-core-jakarta</artifactId>
|
|
<version>${swagger-core.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-annotations-jakarta</artifactId>
|
|
<version>${swagger-core.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-models-jakarta</artifactId>
|
|
<version>${swagger-core.version}</version>
|
|
</dependency>
|
|
<!-- The non-jakarta swagger-annotations (pulled by Spring AI's
|
|
jsonschema-module-swagger-2) ships the SAME io.swagger.v3.oas.annotations
|
|
classes as the jakarta artifact. Pin it to the same version so the
|
|
classpath can't resolve an older Schema without $dynamicRef(). -->
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-annotations</artifactId>
|
|
<version>${swagger-core.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-models</artifactId>
|
|
<version>${swagger-core.version}</version>
|
|
</dependency>
|
|
|
|
<!-- BOM imports -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-dependencies</artifactId>
|
|
<version>${spring.boot.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.cloud</groupId>
|
|
<artifactId>spring-cloud-dependencies</artifactId>
|
|
<version>${spring.cloud.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.ai</groupId>
|
|
<artifactId>spring-ai-bom</artifactId>
|
|
<version>${spring-ai.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-bom</artifactId>
|
|
<version>${springdoc-openapi.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit</groupId>
|
|
<artifactId>junit-bom</artifactId>
|
|
<version>${junit.bom.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers-bom</artifactId>
|
|
<version>${testcontainers.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-bom</artifactId>
|
|
<version>${grpc.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<!-- OpenTelemetry BOM -->
|
|
<dependency>
|
|
<groupId>io.opentelemetry</groupId>
|
|
<artifactId>opentelemetry-bom</artifactId>
|
|
<version>${opentelemetry.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.opentelemetry</groupId>
|
|
<artifactId>opentelemetry-semconv</artifactId>
|
|
<version>${opentelemetry.version}-alpha</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.squareup.okhttp3</groupId>
|
|
<artifactId>okhttp-bom</artifactId>
|
|
<version>${okhttp.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
|
|
<!-- Embedded database for the driver local point-value buffer -->
|
|
<dependency>
|
|
<groupId>org.xerial</groupId>
|
|
<artifactId>sqlite-jdbc</artifactId>
|
|
<version>${sqlite-jdbc.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Test toolchain -->
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>${assertj.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.awaitility</groupId>
|
|
<artifactId>awaitility</artifactId>
|
|
<version>${awaitility.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.instancio</groupId>
|
|
<artifactId>instancio-junit</artifactId>
|
|
<version>${instancio.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.rest-assured</groupId>
|
|
<artifactId>rest-assured</artifactId>
|
|
<version>${rest-assured.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wiremock</groupId>
|
|
<artifactId>wiremock-standalone</artifactId>
|
|
<version>${wiremock.version}</version>
|
|
</dependency>
|
|
|
|
<!-- RPC and messaging -->
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-netty</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-protobuf</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-stub</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<!-- gRPC starters moved into Spring Boot 4.1 (org.springframework.boot group);
|
|
the org.springframework.grpc:spring-grpc-spring-boot-starter line stops at 1.0.3
|
|
and mixes badly with the spring-grpc-core 1.1.1 the Boot 4.1 BOM manages. -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-grpc-client</artifactId>
|
|
<version>${spring.boot.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-grpc-server</artifactId>
|
|
<version>${spring.boot.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.paho</groupId>
|
|
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
|
|
<version>${paho.mqttv3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.paho</groupId>
|
|
<artifactId>org.eclipse.paho.mqttv5.client</artifactId>
|
|
<version>${paho.mqttv3.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Serialization and protocol -->
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
<version>${protobuf.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java-util</artifactId>
|
|
<version>${protobuf.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>tools.jackson.core</groupId>
|
|
<artifactId>jackson-core</artifactId>
|
|
<version>${tools.jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>tools.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${tools.jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>tools.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-yaml</artifactId>
|
|
<version>${tools.jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-annotations</artifactId>
|
|
<version>${jackson.annotations.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jdk8</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.module</groupId>
|
|
<artifactId>jackson-module-parameter-names</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.xml.bind</groupId>
|
|
<artifactId>jakarta.xml.bind-api</artifactId>
|
|
<version>4.0.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-core</artifactId>
|
|
<version>${jaxb.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-impl</artifactId>
|
|
<version>${jaxb.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.yaml</groupId>
|
|
<artifactId>snakeyaml</artifactId>
|
|
<version>${snakeyaml.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Data access -->
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>dynamic-datasource-spring-boot4-starter</artifactId>
|
|
<version>${mybatis.plus.dynamic.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-annotation</artifactId>
|
|
<version>${mybatis.plus.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-core</artifactId>
|
|
<version>${mybatis.plus.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-extension</artifactId>
|
|
<version>${mybatis.plus.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-generator</artifactId>
|
|
<version>${mybatis.plus.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
|
<version>${mybatis.plus.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
|
|
<version>${mybatis.plus.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Platform and APIs -->
|
|
<dependency>
|
|
<groupId>jakarta.activation</groupId>
|
|
<artifactId>jakarta.activation-api</artifactId>
|
|
<version>${activation.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.annotation</groupId>
|
|
<artifactId>jakarta.annotation-api</artifactId>
|
|
<version>${jakarta.annotation.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.json</groupId>
|
|
<artifactId>jakarta.json-api</artifactId>
|
|
<version>${jakarta.json.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.validation</groupId>
|
|
<artifactId>jakarta.validation-api</artifactId>
|
|
<version>${jakarta.validation.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hibernate.validator</groupId>
|
|
<artifactId>hibernate-validator</artifactId>
|
|
<version>${hibernate.validator.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hibernate.validator</groupId>
|
|
<artifactId>hibernate-validator-cdi</artifactId>
|
|
<version>${hibernate.validator.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.expressly</groupId>
|
|
<artifactId>expressly</artifactId>
|
|
<version>${expressly.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Security and observability -->
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt</artifactId>
|
|
<version>${jwt.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.micrometer</groupId>
|
|
<artifactId>micrometer-registry-prometheus</artifactId>
|
|
<version>${micrometer.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk18on</artifactId>
|
|
<version>${bouncycastle.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcpkix-jdk18on</artifactId>
|
|
<version>${bouncycastle.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Runtime and utility -->
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>${commons.io.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-all</artifactId>
|
|
<version>${netty.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-resolver-dns-native-macos</artifactId>
|
|
<version>${netty.version}</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.java.dev.jna</groupId>
|
|
<artifactId>jna</artifactId>
|
|
<version>${jna.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.java.dev.jna</groupId>
|
|
<artifactId>jna-platform</artifactId>
|
|
<version>${jna.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-compress</artifactId>
|
|
<version>${apache.commons.compress.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>${apache.commons.lang3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.poi</groupId>
|
|
<artifactId>poi</artifactId>
|
|
<version>${apache.poi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.poi</groupId>
|
|
<artifactId>poi-ooxml</artifactId>
|
|
<version>${apache.poi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.freemarker</groupId>
|
|
<artifactId>freemarker</artifactId>
|
|
<version>${freemarker.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${lombok.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok-mapstruct-binding</artifactId>
|
|
<version>${lombok-mapstruct-binding.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mapstruct</groupId>
|
|
<artifactId>mapstruct</artifactId>
|
|
<version>${mapstruct.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- IoT and system integration -->
|
|
<dependency>
|
|
<groupId>com.github.oshi</groupId>
|
|
<artifactId>oshi-core</artifactId>
|
|
<version>${oshi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jinterop</groupId>
|
|
<artifactId>j-interop</artifactId>
|
|
<version>${j.interop.version}</version>
|
|
</dependency>
|
|
|
|
<!-- DC3 API modules -->
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-api-auth</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-api-data</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-api-driver</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-api-manager</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
|
|
<!-- DC3 Common modules -->
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-agentic</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-api</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-auth</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-constant</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-dal</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-data</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-driver</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-exception</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-facade-api</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-facade-grpc</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-facade-local</artifactId>
|
|
<version>${dc3.version}</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-facade-local-auth</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-facade-local-data</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-facade-local-manager</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-gateway</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-log</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-manager</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-model</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-mqtt</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-db-core</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-db-postgres</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-db-mysql</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-db-mariadb</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-public</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-quartz</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-core</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-rabbitmq</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-kafka</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-activemq</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-mqtt</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-rocketmq</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-pulsar</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-mq-tck</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-tsdb-core</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-tsdb-timescale</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-tsdb-tdengine</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-tsdb-influxdb</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-tsdb-iotdb</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-tsdb-tck</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-repository</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-resource-registrar</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-sql</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-test</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-thread</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.pnoker</groupId>
|
|
<artifactId>dc3-common-web</artifactId>
|
|
<version>${dc3.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<modules>
|
|
<module>dc3-api</module>
|
|
<module>dc3-common</module>
|
|
<module>dc3-mq</module>
|
|
<module>dc3-db</module>
|
|
<module>dc3-tsdb</module>
|
|
<module>dc3-center</module>
|
|
<module>dc3-driver</module>
|
|
<module>dc3-gateway</module>
|
|
<module>dc3-coverage</module>
|
|
<module>dc3-e2e</module>
|
|
</modules>
|
|
|
|
<build>
|
|
<finalName>${project.artifactId}</finalName>
|
|
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-jdk-version</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireJavaVersion>
|
|
<version>[21,)</version>
|
|
<message>
|
|
This project targets Java 21 bytecode (via --release 21).
|
|
JDK 21 or newer is required to build.
|
|
Current JDK: ${java.version}
|
|
</message>
|
|
</requireJavaVersion>
|
|
<requireMavenVersion>
|
|
<version>3.9.0</version>
|
|
</requireMavenVersion>
|
|
</rules>
|
|
<fail>true</fail>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<pluginManagement>
|
|
<plugins>
|
|
<!-- Enforcer plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>${maven.enforcer.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-maven</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireMavenVersion>
|
|
<version>3.8.0</version>
|
|
</requireMavenVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Spring Boot Maven plugin -->
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<version>${spring.boot.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>repackage</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<excludes>
|
|
<exclude>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Protobuf plugin -->
|
|
<plugin>
|
|
<groupId>org.xolstice.maven.plugins</groupId>
|
|
<artifactId>protobuf-maven-plugin</artifactId>
|
|
<version>${protobuf.plugin.version}</version>
|
|
<configuration>
|
|
<pluginId>grpc-java</pluginId>
|
|
<protoSourceRoot>src/main/protobuf</protoSourceRoot>
|
|
<!--suppress UnresolvedMavenProperty -->
|
|
<protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
|
|
</protocArtifact>
|
|
<!--suppress UnresolvedMavenProperty -->
|
|
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
|
|
</pluginArtifact>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
<goal>compile-custom</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Graalvm plugin -->
|
|
<plugin>
|
|
<groupId>org.graalvm.buildtools</groupId>
|
|
<artifactId>native-maven-plugin</artifactId>
|
|
<version>${graalvm.native.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-native</id>
|
|
<goals>
|
|
<goal>compile-no-fork</goal>
|
|
</goals>
|
|
<phase>package</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- GPG plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<version>${maven.gpg.plugin}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sign</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
<configuration>
|
|
<keyname>pnoker</keyname>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Source Plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>${maven.source.plugin}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Javadoc plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>${maven.javadoc.plugin}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Compile plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven.compiler.plugin}</version>
|
|
<configuration>
|
|
<parameters>true</parameters>
|
|
<release>${java.version}</release>
|
|
<encoding>${project.build.sourceEncoding}</encoding>
|
|
<useIncrementalCompilation>true</useIncrementalCompilation>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${lombok.version}</version>
|
|
</path>
|
|
<path>
|
|
<groupId>org.mapstruct</groupId>
|
|
<artifactId>mapstruct-processor</artifactId>
|
|
<version>${mapstruct.version}</version>
|
|
</path>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok-mapstruct-binding</artifactId>
|
|
<version>${lombok-mapstruct-binding.version}</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Filter file plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>${maven.resource.plugin}</version>
|
|
<configuration>
|
|
<nonFilteredFileExtensions>
|
|
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>db</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>key</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>crt</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>proto</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>json</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
|
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
|
</nonFilteredFileExtensions>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Maven Dependency plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${maven.dependency.plugin}</version>
|
|
</plugin>
|
|
|
|
<!-- Maven Version plugin -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>versions-maven-plugin</artifactId>
|
|
<version>${maven.version.plugin}</version>
|
|
<configuration>
|
|
<ruleSet>
|
|
<ignoreVersions>
|
|
<ignoreVersion>
|
|
<type>regex</type>
|
|
<version>(?i).*(alpha|beta|rc|m|cr|preview|b|a).*</version>
|
|
</ignoreVersion>
|
|
</ignoreVersions>
|
|
</ruleSet>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>display-plugin-updates</goal>
|
|
<goal>display-property-updates</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Central Maven plugin -->
|
|
<plugin>
|
|
<groupId>org.sonatype.central</groupId>
|
|
<artifactId>central-publishing-maven-plugin</artifactId>
|
|
<version>${maven.central.plugin.version}</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<publishingServerId>pnoker</publishingServerId>
|
|
<autoPublish>true</autoPublish>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Surefire plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
<configuration>
|
|
<skip>${skip.unit.tests}</skip>
|
|
<argLine>@{argLine} ${mockito.javaagent.argLine} -Xshare:off -Duser.language=en
|
|
-Duser.country=US
|
|
</argLine>
|
|
<includes>
|
|
<include>**/*Test.java</include>
|
|
<include>**/*Tests.java</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/*IT.java</exclude>
|
|
<exclude>**/Abstract*.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Failsafe plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
<configuration>
|
|
<skip>${skip.integration.tests}</skip>
|
|
<!-- Run integration tests against the plain compiled classes; Spring Boot
|
|
repackages the module artifact into a fat jar that is not directly
|
|
loadable on the Failsafe classpath. -->
|
|
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
|
|
<argLine>@{failsafe.argLine} ${mockito.javaagent.argLine} -Xshare:off -Duser.language=en
|
|
-Duser.country=US
|
|
</argLine>
|
|
<includes>
|
|
<include>**/*IT.java</include>
|
|
</includes>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>integration-tests</id>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- JaCoCo plugin -->
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-unit-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
<configuration>
|
|
<propertyName>argLine</propertyName>
|
|
<excludes>
|
|
<exclude>net.sf.jsqlparser.*</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>prepare-integration-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent-integration</goal>
|
|
</goals>
|
|
<configuration>
|
|
<propertyName>failsafe.argLine</propertyName>
|
|
<destFile>${project.build.directory}/jacoco-it.exec</destFile>
|
|
<excludes>
|
|
<exclude>net.sf.jsqlparser.*</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>report-unit</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>report-integration</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>report-integration</goal>
|
|
</goals>
|
|
<configuration>
|
|
<dataFile>${project.build.directory}/jacoco-it.exec</dataFile>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>version</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>versions-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>dep-tree</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>display-dependency-tree</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>tree</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>native</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.graalvm.buildtools</groupId>
|
|
<artifactId>native-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>deploy</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.sonatype.central</groupId>
|
|
<artifactId>central-publishing-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>dev</id>
|
|
<properties>
|
|
<NODE_ENV>dev</NODE_ENV>
|
|
</properties>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
</profile>
|
|
<profile>
|
|
<id>test</id>
|
|
<properties>
|
|
<NODE_ENV>test</NODE_ENV>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>pre</id>
|
|
<properties>
|
|
<NODE_ENV>pre</NODE_ENV>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>pro</id>
|
|
<properties>
|
|
<NODE_ENV>pro</NODE_ENV>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|