digital-twin-registry
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.eclipse.tractusx</groupId>
<artifactId>digital-twin-registry</artifactId>
<version>0.1.1</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021 T-Systems International GmbH and others
Copyright (c) 2021 Contributors to the Eclipse Foundation
See the NOTICE file(s) distributed with this work for additional
information regarding copyright ownership.
This program and the accompanying materials are made available under the
terms of the Apache License, Version 2.0 which is available at
https://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
SPDX-License-Identifier: Apache-2.0
-->
<!-- Maven POM file to the SLDT packages -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- SLDT modules are based on Spring Boot as the Dependency Injection/Plumbing framework -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.4</version> <!-- need to be repeated in properties section for technical purposes -->
<relativePath/> <!-- lookup parent from repository and not the filesystem -->
</parent>
<groupId>org.eclipse.tractusx</groupId>
<artifactId>digital-twin-registry</artifactId>
<version>0.1.1</version>
<name>Tractus-X Semantic Layer Digital Twin Registry</name>
<description>Root Module of the Tractus-X Semantic Layer Digital Twin Registry</description>
<packaging>pom</packaging>
<organization>
<name>${organization}</name>
<url>${url}</url>
</organization>
<licenses>
<license>
<name>${licence_name}</name>
<url>${licence_url}</url>
<distribution>${licence_distribution}</distribution>
<comments>${licence_comments}</comments>
</license>
</licenses>
<properties>
<!-- project properties -->
<organization>Tractus-X project</organization>
<url>https://projects.eclipse.org/projects/automotive.tractusx</url>
<email>tractusx-dev@eclipse.org</email>
<licence_name>Apache License, Version 2.0</licence_name>
<licence_url>https://www.apache.org/licenses/LICENSE-2.0.txt</licence_url>
<licence_distribution>repo</licence_distribution>
<licence_comments>An Eclipse Project</licence_comments>
<!-- build properties -->
<java.version>17</java.version>
<maven.minimum.version>3.3.9</maven.minimum.version>
<!-- version properties -->
<!-- framework and base stuff -->
<spring.boot.version>3.2.4</spring.boot.version>
<spring-framework.version>6.1.6</spring-framework.version>
<springdoc.version>1.6.14</springdoc.version>
<lombok.version>1.18.24</lombok.version>
<swagger-annotations.version>1.5.20</swagger-annotations.version>
<openapi-starter-webmvc-ui.version>2.0.2</openapi-starter-webmvc-ui.version>
<swagger-core-version>2.0.0</swagger-core-version>
<guava.version>32.1.1-jre</guava.version>
<apache-commonse.version>1.10.0</apache-commonse.version>
<google.findbugs.version>3.0.2</google.findbugs.version>
<snakeyaml.version>2.0</snakeyaml.version>
<jakarta.validation.version>3.0.2</jakarta.validation.version>
<jakarta.servlet.api.version>6.0.0</jakarta.servlet.api.version>
<json.version>2.0.1</json.version>
<!-- logging -->
<slf4j.version>2.0.7</slf4j.version>
<logback.version>1.4.14</logback.version>
<!-- json, xml, formats, ... -->
<jackson.version>2.13.1</jackson.version>
<jackson.databind.version>2.14.1</jackson.databind.version>
<!-- persistence -->
<mapstruct.version>1.5.3.Final</mapstruct.version>
<mapstruct.lombok.version>0.2.0</mapstruct.lombok.version>
<postgresql.version>42.7.2</postgresql.version>
<h2.version>2.2.220</h2.version>
<liquibase.version>4.19.1</liquibase.version>
<!-- EDC -->
<edc.version>0.7.0</edc.version>
<!-- test libs -->
<assertj.version>3.24.2</assertj.version>
<junit.version>5.9.3</junit.version>
<jacoco.version>0.8.11</jacoco.version>
<!-- sonar plugin -->
<sonar-maven-plugin.version>3.10.0.2594</sonar-maven-plugin.version>
<!-- build -->
<maven.compiler.version>3.8.1</maven.compiler.version>
<!-- Sonar related properties -->
<sonar.organization>eclipse-tractusx</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.projectKey>eclipse-tractusx_sldt-digital-twin-registry</sonar.projectKey>
<sonar.moduleKey>${project.groupId}:${project.artifactId}</sonar.moduleKey>
<sonar.projectName>sldt-digital-twin-registry</sonar.projectName>
<sonar.java.source>17</sonar.java.source>
</properties>
<dependencyManagement>
<dependencies>
<!-- Predefined potential dependencies and versions -->
<!-- Modules -->
<dependency>
<groupId>org.eclipse.tractusx.digital_twin_registry</groupId>
<artifactId>digital-twin-registry-access-control-service-interface</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tractusx.digital_twin_registry</groupId>
<artifactId>digital-twin-registry-access-control-service-sql-impl</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Java Stuff -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${apache-commonse.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${google.findbugs.version}</version>
</dependency>
<!-- Framework -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.boot.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${spring.boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</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>8.0.1.Final</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${jakarta.servlet.api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.json</artifactId>
<version>${json.version}</version>
</dependency>
<!-- Open API Stuff -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
<!-- Communication -->
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger-core-version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${openapi-starter-webmvc-ui.version}</version>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>0.1.0</version>
<!-- Exclusion of jackson-databind is required because of CV https://avd.aquasec.com/nvd/2022/cve-2022-42004 and https://avd.aquasec.com/nvd/2022/cve-2022-42003 -->
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.databind.version}</version>
</dependency>
<!-- Persistence Mapping -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>${liquibase.version}</version>
<exclusions>
<exclusion>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</dependency>
<!-- EDC -->
<dependency>
<groupId>org.eclipse.edc</groupId>
<artifactId>connector-core</artifactId>
<version>${edc.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.edc</groupId>
<artifactId>data-plane-spi</artifactId>
<version>${edc.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.edc</groupId>
<artifactId>data-plane-http-spi</artifactId>
<version>${edc.version}</version>
</dependency>
<!-- Persistence -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
<scope>provided</scope>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>10.1.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.edc</groupId>
<artifactId>junit</artifactId>
<version>${edc.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<!--<release>${java.version}</release>-->
<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>${mapstruct.lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<version>5.0.0</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<goals>
<goal>revision</goal>
</goals>
<phase>initialize</phase>
</execution>
</executions>
<configuration>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<includeOnlyProperties>
<includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty>
<includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty>
</includeOnlyProperties>
<commitIdGenerationMode>full</commitIdGenerationMode>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<requiresUnpack>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj</artifactId>
</dependency>
</requiresUnpack>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<systemPropertyVariables>
<propertyName>licence_type</propertyName>
<propertyName>licence_url</propertyName>
<propertyName>licence_distribution</propertyName>
<buildDirectory>${project.build.directory}</buildDirectory>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.3</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>6.2.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release-to-central</id>
<modules>
<module>libraries/edc-extension</module>
</modules>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>default</id>
<modules>
<module>backend</module>
<module>access-control-service-interface</module>
<module>access-control-service-sql-impl</module>
<module>libraries/edc-extension</module>
<!-- more modules are expected to come -->
</modules>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
<repositories>
<repository>
<id>Maven Central</id>
<name>maven-central</name>
<url>https://repo1.maven.org/maven2/</url>
</repository>
</repositories>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</project>