Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
pom.xml 9.73 KiB
<?xml version="1.0" encoding="UTF-8"?>
<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>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.2.2</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>eu.xfsc.train</groupId>
	<artifactId>tspa-service</artifactId>
	<version>1.0.0</version>
	<packaging>war</packaging>
	<name>tspa</name>
	<description>Trust Scheme Publication Authority for the GXFS</description>
	<organization>
		<name>Fraunhofer IAO</name>
	</organization>

	<properties>
		<java.version>21</java.version>
		<tomcat.version>10.1.16</tomcat.version>
		<codehaus-mojo.version>2.4.0</codehaus-mojo.version>
		<repository.path>eclipse/xfsc/train/tspa</repository.path>
        <ci-registry>${env.HARBOR_HOST}/${env.HARBOR_PROJECT}</ci-registry>
	</properties>

	<url>https://gitlab.eclipse.org/${repository.path}</url>
	<issueManagement>
        <system>GitLab</system>
        <url>https://gitlab.eclipse.org/${repository.path}/-/issues</url>
    </issueManagement>
    <ciManagement>
        <url>https://gitlab.eclipse.org/${repository.path}/-/pipelines</url>
    </ciManagement>

	<repositories>
		<repository>
			<id>jitpack.io</id>
			<url>https://jitpack.io</url>
		</repository>
		<repository>
			<id>danubetech-maven-public</id>
			<url>https://repo.danubetech.com/repository/maven-public/</url>
		</repository>
		<repository>
			<id>danubetech-maven-releases</id>
			<url>https://repo.danubetech.com/repository/maven-releases/</url>
		</repository>
	</repositories>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
        </dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
		    <groupId>org.springframework.security</groupId>
		    <artifactId>spring-security-test</artifactId>
		    <scope>test</scope>
		</dependency>
		<dependency>
           	<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>com.squareup.okhttp3</groupId>
			<artifactId>okhttp</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			<version>1.10</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet</artifactId>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.11.0</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-client</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-common</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>com.danubetech</groupId>
			<artifactId>verifiable-credentials-java</artifactId>
			<version>1.7.0</version>
		</dependency>
		<dependency>
			<groupId>com.danubetech</groupId>
			<artifactId>key-formats-java</artifactId>
			<version>1.12.0</version>
		</dependency>
		<dependency>
			<groupId>decentralized-identity</groupId>
			<artifactId>did-common-java</artifactId>
			<version>1.11.0</version>
		</dependency>
		<dependency>
			<groupId>info.weboftrust</groupId>
			<artifactId>ld-signatures-java</artifactId>
			<version>1.6.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>32.1.3-jre</version>
		</dependency>
		<dependency>
			<groupId>com.networknt</groupId>
			<artifactId>json-schema-validator</artifactId>
			<version>1.0.87</version>
		</dependency>
		<dependency>
			<groupId>com.github.multiformats</groupId>
			<artifactId>java-multihash</artifactId>
			<version>1.3.4</version>
		</dependency>
		<dependency>
			<groupId>com.github.ipfs</groupId>
			<artifactId>java-ipfs-http-client</artifactId>
			<version>1.4.4</version>
		</dependency>
	   	<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-security</artifactId>
		</dependency>
		<dependency>
		   <groupId>org.springframework.boot</groupId>
		   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jaxb</groupId>
			<artifactId>jaxb-runtime</artifactId>
		</dependency>
		<dependency>
			<groupId>jakarta.xml.bind</groupId>
			<artifactId>jakarta.xml.bind-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.module</groupId>
			<artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
			<version>2.3.0</version>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-registry-prometheus</artifactId>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-registry-otlp</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>io.opentelemetry</groupId>
			<artifactId>opentelemetry-exporter-common</artifactId>
		</dependency>
		<dependency>
			<groupId>io.opentelemetry</groupId>
			<artifactId>opentelemetry-exporter-otlp-common</artifactId>
		</dependency>
		<dependency>
			<groupId>io.opentelemetry.instrumentation</groupId>
			<artifactId>opentelemetry-logback-appender-1.0</artifactId>
			<version>1.31.0-alpha</version>
		</dependency>
		<dependency>
			<groupId>io.opentelemetry.instrumentation</groupId>
			<artifactId>opentelemetry-instrumentation-api-semconv</artifactId>
			<version>1.31.0-alpha</version>
		</dependency>
	</dependencies>

	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <!--
                <version>3.2.0</version>
                -->
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>shared/src</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>			
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<includeSystemScope>true</includeSystemScope>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>${codehaus-mojo.version}</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<configuration>
					<rules>
						<dependencyConvergence />
					</rules>
				</configuration>
			</plugin>
			<plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
				<version>3.4.0</version>
                <configuration>
                    <from>
                        <image>tomcat:10.1.16-jdk21-temurin-jammy</image>
                    </from>
                    <container>
                        <appRoot>/usr/local/tomcat/webapps/tspa-service</appRoot>
                    </container>
                    <extraDirectories>
                        <paths>
                            <path>
                                <from>/</from>
                                <into>/usr/local/tomcat/webapps/manager/META-INF</into>
                                <includes>context.xml</includes>
                            </path>
                            <path>
                                <from>/</from>
                                <into>/usr/local/tomcat/conf</into>
                                <includes>tomcat-users.xml</includes>
                            </path>
                        </paths>
                    </extraDirectories>
                    <to>
                        <image>${ci-registry}/${project.artifactId}:latest</image>
                        <auth>
                            <username>${env.HARBOR_USERNAME}</username>
                            <password>${env.HARBOR_PASSWORD}</password>
                        </auth>
                    </to>
                </configuration>
            </plugin>

		</plugins>
	</build>

</project>