405 lines
18 KiB
XML
405 lines
18 KiB
XML
<!--
|
|
|
|
Copyright (c) 2025 Contributors to the Eclipse Foundation
|
|
|
|
This program and the accompanying materials are made
|
|
available under the terms of the Eclipse Public License 2.0
|
|
which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
|
|
SPDX-License-Identifier: EPL-2.0
|
|
|
|
-->
|
|
<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>org.eclipse.hawkbit</groupId>
|
|
<artifactId>hawkbit-dependencies</artifactId>
|
|
<version>${revision}</version>
|
|
<packaging>pom</packaging>
|
|
<name>hawkBit :: Parent</name>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>EPL-2.0</name>
|
|
<url>https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt</url>
|
|
<comments>Eclipse Public License - Version 2.0</comments>
|
|
</license>
|
|
</licenses>
|
|
|
|
<properties>
|
|
<spring.boot.version>3.5.0</spring.boot.version>
|
|
<spring.cloud.version>2025.0.0</spring.cloud.version>
|
|
<springdoc-openapi.version>2.8.9</springdoc-openapi.version>
|
|
<spring.plugin.core.version>3.0.0</spring.plugin.core.version>
|
|
<!-- Spring boot version overrides (should be reviewed with every Spring boot upgrade) - START -->
|
|
<!-- Newer versions needed than defined in the Spring boot -->
|
|
<!-- Spring boot version overrides - END -->
|
|
|
|
<!-- Eclipselink - START -->
|
|
<eclipselink.version>4.0.6</eclipselink.version>
|
|
<eclipselink.maven.plugin.version>3.0.2</eclipselink.maven.plugin.version>
|
|
<!-- Eclipselink - END -->
|
|
|
|
<!-- Misc libraries versions - START -->
|
|
<cron-utils.version>9.2.1</cron-utils.version>
|
|
<jsoup.version>1.20.1</jsoup.version>
|
|
<javax.el-api.version>3.0.0</javax.el-api.version>
|
|
<rsql-parser.version>2.1.0</rsql-parser.version>
|
|
<commons-io.version>2.19.0</commons-io.version>
|
|
<commons-collections4.version>4.5.0</commons-collections4.version>
|
|
<commons-text.version>1.13.1</commons-text.version>
|
|
<io-protostuff.version>1.8.0</io-protostuff.version>
|
|
<!-- test -->
|
|
<rabbitmq.http-client.version>5.4.0</rabbitmq.http-client.version>
|
|
<classgraph.version>4.8.179</classgraph.version>
|
|
<allure.version>2.29.1</allure.version>
|
|
<awaitility.version>4.3.0</awaitility.version>
|
|
<!-- Misc libraries versions - END -->
|
|
|
|
<!-- Maven Plugin versions - START -->
|
|
<maven.enforcer.plugin.version>3.5.0</maven.enforcer.plugin.version>
|
|
<flatten.maven.plugin.version>1.7.0</flatten.maven.plugin.version>
|
|
<maven.site.plugin.version>3.21.0</maven.site.plugin.version>
|
|
<maven.surefire.plugin.version>3.5.3</maven.surefire.plugin.version>
|
|
<maven.failsafe.plugin.version>3.5.3</maven.failsafe.plugin.version>
|
|
<jacoco.maven.plugin.version>0.8.13</jacoco.maven.plugin.version>
|
|
<!-- Maven Plugin versions - END -->
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- Spring -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
<version>${spring.boot.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-to-slf4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
<version>${spring.boot.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jdk8</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.fasterxml.jackson.module</groupId>
|
|
<artifactId>jackson-module-parameter-names</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</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.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
<version>${springdoc-openapi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.plugin</groupId>
|
|
<artifactId>spring-plugin-core</artifactId>
|
|
<version>${spring.plugin.core.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Misc -->
|
|
<dependency>
|
|
<groupId>com.rabbitmq</groupId>
|
|
<artifactId>http-client</artifactId>
|
|
<version>${rabbitmq.http-client.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.cronutils</groupId>
|
|
<artifactId>cron-utils</artifactId>
|
|
<version>${cron-utils.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jsoup</groupId>
|
|
<artifactId>jsoup</artifactId>
|
|
<version>${jsoup.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.el</groupId>
|
|
<artifactId>javax.el-api</artifactId>
|
|
<version>${javax.el-api.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Protostuff Io -->
|
|
<dependency>
|
|
<groupId>io.protostuff</groupId>
|
|
<artifactId>protostuff-core</artifactId>
|
|
<version>${io-protostuff.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.protostuff</groupId>
|
|
<artifactId>protostuff-runtime</artifactId>
|
|
<version>${io-protostuff.version}</version>
|
|
</dependency>
|
|
|
|
<!-- RSQL / FIQL parser -->
|
|
<dependency>
|
|
<groupId>cz.jirutka.rsql</groupId>
|
|
<artifactId>rsql-parser</artifactId>
|
|
<version>${rsql-parser.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>${commons-io.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-collections4</artifactId>
|
|
<version>${commons-collections4.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-text</artifactId>
|
|
<version>${commons-text.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Test -->
|
|
<dependency>
|
|
<groupId>io.github.classgraph</groupId>
|
|
<artifactId>classgraph</artifactId>
|
|
<version>${classgraph.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.amqp</groupId>
|
|
<artifactId>spring-rabbit-junit</artifactId>
|
|
<version>${spring-amqp.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.amqp</groupId>
|
|
<artifactId>spring-rabbit-test</artifactId>
|
|
<version>${spring-amqp.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.qameta.allure</groupId>
|
|
<artifactId>allure-junit5</artifactId>
|
|
<version>${allure.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.awaitility</groupId>
|
|
<artifactId>awaitility</artifactId>
|
|
<version>${awaitility.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>${maven.enforcer.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<!-- Make sure that only non-snapshot versions are used for the dependencies.
|
|
Only active when property 'skipEnforcer' is not set to true. -->
|
|
<id>enforce-no-snapshots</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${skipEnforcer}</skip>
|
|
<rules>
|
|
<requireMavenVersion>
|
|
<version>3.9</version>
|
|
</requireMavenVersion>
|
|
<requireJavaVersion>
|
|
<version>17</version>
|
|
</requireJavaVersion>
|
|
<requireReleaseDeps>
|
|
<message>No Snapshots Allowed!</message>
|
|
<onlyWhenRelease>true</onlyWhenRelease>
|
|
</requireReleaseDeps>
|
|
<requireReleaseDeps>
|
|
<message>No Snapshots Allowed!</message>
|
|
<onlyWhenRelease>false</onlyWhenRelease>
|
|
<excludes>
|
|
<exclude>org.eclipse.hawkbit:*</exclude>
|
|
</excludes>
|
|
</requireReleaseDeps>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>flatten-maven-plugin</artifactId>
|
|
<version>${flatten.maven.plugin.version}</version>
|
|
<configuration>
|
|
<flattenMode>resolveCiFriendliesOnly</flattenMode>
|
|
<updatePomFile>true</updatePomFile>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>flatten</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>flatten</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>flatten.clean</id>
|
|
<phase>clean</phase>
|
|
<goals>
|
|
<goal>clean</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<compilerArgument>-Xlint:all</compilerArgument>
|
|
<showWarnings>true</showWarnings>
|
|
<showDeprecation>true</showDeprecation>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<doclint>syntax</doclint>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>${maven.site.plugin.version}</version>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
<skipDeploy>true</skipDeploy>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${maven.surefire.plugin.version}</version>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<!-- Set output directory according to allure-framework recommendation -->
|
|
<allure.results.directory>${project.build.directory}/allure-results
|
|
</allure.results.directory>
|
|
<!-- Bugfix for timeout. See https://github.com/allure-framework/allure-maven/issues/59 -->
|
|
<allure.serve.timeout>650</allure.serve.timeout>
|
|
</systemPropertyVariables>
|
|
<!-- Bugfix for OpenJDK 8u181, see https://issues.apache.org/jira/browse/SUREFIRE-1588 -->
|
|
<useSystemClassLoader>false</useSystemClassLoader>
|
|
<reuseForks>true</reuseForks>
|
|
<forkCount>${surefire.forkcount}</forkCount>
|
|
<argLine>${jacoco.agent.ut.arg} ${test.jvm.args}</argLine>
|
|
<properties>
|
|
<property>
|
|
<name>listener</name>
|
|
<value>io.qameta.allure.junit5.AllureJunit5</value>
|
|
</property>
|
|
</properties>
|
|
<includes>
|
|
<include>**/*Tests.java</include>
|
|
<include>**/*Test.java</include>
|
|
<include>**/*IT.java</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/Abstract*.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<version>${maven.failsafe.plugin.version}</version>
|
|
<configuration>
|
|
<reuseForks>false</reuseForks>
|
|
<forkCount>${surefire.forkcount}</forkCount>
|
|
<argLine>-Xmx1024m ${jacoco.agent.ut.arg}</argLine>
|
|
<properties>
|
|
<property>
|
|
<name>listener</name>
|
|
<value>io.qameta.allure.junit5.AllureJunit5</value>
|
|
</property>
|
|
</properties>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>integration-test</id>
|
|
<phase>integration-test</phase>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco.maven.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-ut-agent</id>
|
|
<phase>process-test-classes</phase>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
<configuration>
|
|
<propertyName>jacoco.agent.ut.arg</propertyName>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>prepare-it-agent</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>prepare-agent-integration</goal>
|
|
</goals>
|
|
<configuration>
|
|
<propertyName>jacoco.agent.it.arg</propertyName>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</project> |