Skip to content
Snippets Groups Projects
pom.xml 14.2 KiB
Newer Older
tranoris's avatar
tranoris committed
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.etsi.osl</groupId>
		<artifactId>org.etsi.osl.main</artifactId>
		<version>1.0.0</version>
		<relativePath>../org.etsi.osl.main</relativePath>
tranoris's avatar
tranoris committed
	</parent>


	<artifactId>org.etsi.osl.tmf.api</artifactId>
	<name>org.etsi.osl.tmf.api</name>

tranoris's avatar
tranoris committed
	<version>${org.etsi.osl.tmf.api.version>}</version>

tranoris's avatar
tranoris committed

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<spring.boot-version>${spring-boot-version}</spring.boot-version>
		<mapstruct.version>1.5.3.Final</mapstruct.version>
		<springdoc.version>${springdoc-version}</springdoc.version>
		<springdoc.security.version>${springdoc-security-version}</springdoc.security.version>
		<springdoc.openapiui.version>${springdoc-openapiui-version}</springdoc.openapiui.version>
		<m2e.apt.activation>jdt_apt</m2e.apt.activation>
		<mysql-connector.version>${mysql.connector.version}</mysql-connector.version>
		<lombok-version>1.18.28</lombok-version>
	</properties>

	<repositories>
		<repository>
			<id>gitlab-maven</id>
			<url>https://labs.etsi.org/rep/api/v4/groups/260/-/packages/maven</url>
		</repository>
	</repositories>
	<distributionManagement>
		<repository>
			<id>gitlab-maven</id>
			<url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
		</repository>
		<snapshotRepository>
			<id>gitlab-maven</id>
			<url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</url>
		</snapshotRepository>
	</distributionManagement>
	
tranoris's avatar
tranoris committed
	<dependencyManagement>
		<dependencies>
			<!-- Spring Boot BOM -->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring.boot-version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<!-- Camel BOM -->
			<dependency>
				<groupId>org.apache.camel.springboot</groupId>
				<artifactId>camel-spring-boot-dependencies</artifactId>
				<version>${camel.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>32.0.0-jre</version>
			</dependency>
			<dependency>
				<groupId>org.keycloak.bom</groupId>
				<artifactId>keycloak-adapter-bom</artifactId>
				<version>${keycloak.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>

	</dependencyManagement>



	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>


		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
		</dependency>

		<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path</artifactId>
		</dependency>



		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<scope>provided</scope>
			<version>${lombok-version}</version>			
		</dependency>

		<dependency>
			<groupId>org.keycloak</groupId>
			<artifactId>keycloak-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.keycloak</groupId>
			<artifactId>keycloak-spring-security-adapter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.keycloak</groupId>
			<artifactId>keycloak-admin-client</artifactId>
			<version>${keycloak.version}</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
			<version>${mysql-connector.version}</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-hibernate5-jakarta</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-jsr310</artifactId>
		</dependency>

		<!-- activeMQ -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-activemq</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-amqp</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.qpid</groupId>
					<artifactId>proton-j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.messaginghub</groupId>
			<artifactId>pooled-jms</artifactId>
		</dependency>

		<!-- Camel -->
		<dependency>
			<groupId>org.apache.camel.springboot</groupId>
			<artifactId>camel-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-pool</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-activemq</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.apache.activemq</groupId>
					<artifactId>activemq-broker</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.camel.springboot</groupId>
			<artifactId>camel-service-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.camel.springboot</groupId>
			<artifactId>camel-http-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-jackson</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-stream</artifactId>
		</dependency>


		<dependency>
			<groupId>org.etsi.osl</groupId>
tranoris's avatar
tranoris committed
			<artifactId>org.etsi.osl.model.nfv</artifactId>
			<version>${org.etsi.osl.model.nfv.version}</version>
tranoris's avatar
tranoris committed
		</dependency>
		<dependency>
			<groupId>org.etsi.osl</groupId>
			<artifactId>org.etsi.osl.model.tmf</artifactId>
			<version>${org.etsi.osl.model.tmf.version}</version>
		</dependency>
		<dependency>
			<groupId>org.etsi.osl</groupId>
			<artifactId>org.etsi.osl.model.k8s</artifactId>
			<version>${org.etsi.osl.model.k8s.version}</version>
		</dependency>
tranoris's avatar
tranoris committed
		<dependency>
			<groupId>org.etsi.osl</groupId>
			<artifactId>org.etsi.osl.centrallog.client</artifactId>
			<version>${org.etsi.osl.centrallog.client.version}</version>
tranoris's avatar
tranoris committed
		</dependency>

		<!-- swagger -->
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
			<version>${springdoc.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-ui</artifactId>
			<version>${springdoc.openapiui.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-security</artifactId>
			<version>${springdoc.security.version}</version>
		</dependency>

		<dependency>
			<groupId>org.mapstruct</groupId>
			<artifactId>mapstruct</artifactId>
			<version>${mapstruct.version}</version>
		</dependency>
		<dependency>
			<groupId>org.mapstruct</groupId>
			<artifactId>mapstruct-processor</artifactId>
			<version>${mapstruct.version}</version>
		</dependency>



		<!-- Testing -->

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		    <exclusions>
		        <exclusion>
		            <groupId>com.vaadin.external.google</groupId>
		            <artifactId>android-json</artifactId>
		        </exclusion>
		    </exclusions>
			
tranoris's avatar
tranoris committed
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-commons</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-runner</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-broker</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>javax.jms</groupId>
			<artifactId>javax.jms-api</artifactId>
			<version>2.0.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.json</groupId>
			<artifactId>json</artifactId>
			<version>20210307</version>
		</dependency>
tranoris's avatar
tranoris committed
	</dependencies>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<compilerArgs>
							<arg>-parameters</arg>
						</compilerArgs>
						<annotationProcessorPaths>
							<path>
								<groupId>org.mapstruct</groupId>
								<artifactId>mapstruct-processor</artifactId>
								<version>${mapstruct.version}</version>
							</path>
							    <path>
						        <groupId>org.projectlombok</groupId>
						        <artifactId>lombok</artifactId>
								<version>${lombok-version}</version>	
						    </path>
						</annotationProcessorPaths>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>${build-helper-maven-plugin.version}</version>
					<executions>
						<execution>
							<id>add-generated-source</id>
							<phase>generate-sources</phase>
							<goals>
								<goal>add-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>${generated-sources-path}/wsdl</source>
								</sources>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<!-- run mvn license:update-file-header to manually update all headers 
						everywhere -->
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>${maven-license-plugin.version}</version>
					<configuration>
						<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
						<processStartTag>========================LICENSE_START=================================</processStartTag>
						<processEndTag>=========================LICENSE_END==================================</processEndTag>
						<excludes>*.json</excludes>
					</configuration>
					<executions>
						<execution>
							<id>generate-license-headers</id>
							<goals>
								<goal>update-file-header</goal>
							</goals>
							<phase>process-sources</phase>
							<configuration>
								<licenseName>${license.licenseName}</licenseName>

							</configuration>
						</execution>
						<execution>
							<id>download-licenses</id>
							<goals>
								<goal>download-licenses</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<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>
			</plugin>
			<plugin>
				<!-- https://www.baeldung.com/spring-boot-dependency Like a war file, 
					a Spring Boot application is not intended to be used as a dependency. If 
					your application contains classes that you want to share with other projects, 
					the recommended approach is to move that code into a separate module. The 
					separate module can then be depended upon by your application and other projects. -->
				<!-- If you cannot rearrange your code as recommended above, Spring Boot’s 
					Maven and Gradle plugins must be configured to produce a separate artifact 
					that is suitable for use as a dependency. The executable archive cannot be 
					used as a dependency as the executable jar format packages application classes 
					in BOOT-INF/classes. This means that they cannot be found when the executable 
					jar is used as a dependency. To produce the two artifacts, one that can be 
					used as a dependency and one that is executable, a classifier must be specified. 
					This classifier is applied to the name of the executable archive, leaving 
					the default archive for use as dependency. To configure a classifier of exec 
					in Maven, the following configuration can be used: -->
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>${spring-boot-version}</version>
				<configuration>
					<classifier>exec</classifier>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.2.5</version>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.12</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.2.5</version>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.12</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
tranoris's avatar
tranoris committed
		</plugins>

	</build>



</project>