Notes: 1. (!) Eclipselink shall be migrated to 5.0 (in 4.0.8 there are incompatible classes, e.g EJBQueryImpl doesn't implement some newer methods). In the moment is with beta (5.0.0-B12) - JUST for testing! 2. (!) Ethlo plugin doesn't work with Eclipselink 5.0, it builds with Eclipselink 4.0.8 (could be a problem) 3. Dependencies - new starters, test starters changes, some dependencies refactoring 4. Auto-configs split - package changes, some properties classes changes 5. Spring nullable org.springframework.lang.Nullable/NonNull are depecated and replaced with jspcify -> org.jspecify.annotations.Nullable/NonNull (NullMarked) 6. Lombok config - adding lombok.addNullAnnotations=jspecify - to do not mess annotations 7. Distributed lock table changes - SP_LOCK table db migration 8. Spring Retry replaced with Spring Core Retry - does repace retry in hawkbit 9. Specifications -> added Update/Delete(/Predicate) Specifications and JpaSpecificationExecutor changed 10. HawkbitBaseRepositoryFactoryBean modified to register properly 11. Jackson - 2 -> 3, package migrations, finals are not deserialized by default(enable finals deserialization, consider make non-final), too ‘smart’ tries to set complex objects instead of using non args constructor (-> @JsonIgnore), some other default configs made Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
141 lines
5.0 KiB
XML
141 lines
5.0 KiB
XML
<!--
|
|
|
|
Copyright (c) 2015 Bosch Software Innovations GmbH and others
|
|
|
|
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>
|
|
<parent>
|
|
<groupId>org.eclipse.hawkbit</groupId>
|
|
<version>${revision}</version>
|
|
<artifactId>hawkbit-repository</artifactId>
|
|
</parent>
|
|
|
|
<artifactId>hawkbit-repository-jpa</artifactId>
|
|
<name>hawkBit :: Repository :: JPA Implementation</name>
|
|
|
|
<properties>
|
|
<apt.source.dir>${project.build.directory}/generated-sources/apt/</apt.source.dir>
|
|
<jpa.vendor>eclipselink</jpa.vendor>
|
|
</properties>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>eclipselink</id>
|
|
<activation>
|
|
<property>
|
|
<!-- default, if not set (or not hibernate) - eclipse link -->
|
|
<name>jpa.vendor</name>
|
|
<value>!hibernate</value>
|
|
</property>
|
|
</activation>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.eclipse.hawkbit</groupId>
|
|
<artifactId>hawkbit-repository-jpa-eclipselink</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Static weaver for EclipseLink, needs to be in the module where the entity classes are -->
|
|
<plugin>
|
|
<groupId>com.ethlo.persistence.tools</groupId>
|
|
<artifactId>eclipselink-maven-plugin</artifactId>
|
|
<version>${eclipselink.maven.plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>process-classes</phase>
|
|
<goals>
|
|
<goal>weave</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<basePackage>org.eclipse.hawkbit.repository.jpa.model</basePackage>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>hibernate</id>
|
|
<activation>
|
|
<property>
|
|
<name>jpa.vendor</name>
|
|
<value>hibernate</value>
|
|
</property>
|
|
</activation>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.eclipse.hawkbit</groupId>
|
|
<artifactId>hawkbit-repository-jpa-hibernate</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<dependencies>
|
|
<!-- Hawkbit -->
|
|
<dependency>
|
|
<groupId>org.eclipse.hawkbit</groupId>
|
|
<artifactId>hawkbit-ql-jpa</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.integration</groupId>
|
|
<artifactId>spring-integration-jdbc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.micrometer</groupId>
|
|
<artifactId>micrometer-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-collections4</artifactId>
|
|
</dependency>
|
|
|
|
<dependency> <!-- Static class generation -->
|
|
<groupId>org.hibernate.orm</groupId>
|
|
<artifactId>hibernate-processor</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- Test -->
|
|
<dependency>
|
|
<groupId>org.eclipse.hawkbit</groupId>
|
|
<artifactId>hawkbit-repository-test</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-jpa-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-micrometer-metrics</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.classgraph</groupId>
|
|
<artifactId>classgraph</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|