<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.etsi.osl</groupId>
		<artifactId>org.etsi.osl.main</artifactId>
		<version>2024Q4-SNAPSHOT</version>
		<relativePath>../org.etsi.osl.main</relativePath>
	</parent>
	
  	<artifactId>org.etsi.osl.model.tmf</artifactId>
	<version>${org.etsi.osl.model.tmf.version}</version>

	<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>
		<lombok-version>1.18.28</lombok-version>
		<springdoc.version>${springdoc-version}</springdoc.version>
		<mapstruct.version>1.5.3.Final</mapstruct.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>
	
	<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>
		</dependencies>

	</dependencyManagement>
	
	<dependencies>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<scope>provided</scope>
			<version>${lombok-version}</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-hibernate5-jakarta</artifactId>
		</dependency>

	<!-- swagger -->
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
			<version>${springdoc.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>
	</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>
					<!-- 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>

	</build>
</project>