<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/maven-v4_0_0.xsd">

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>4.1.0-RC1</version>
		<relativePath />
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<groupId>eu.dnetlib.scholix</groupId>
	<artifactId>scholix-api</artifactId>
	<version>1.0.3</version>
	<packaging>pom</packaging>

	<licenses>
		<license>
			<name>GNU Affero General Public License v3.0 or later</name>
			<url>https://spdx.org/licenses/AGPL-3.0-or-later.html#licenseText</url>
			<distribution>repo</distribution>
			<comments>This program is free software: you can redistribute it
				and/or modify it under the terms of the
				GNU Affero General Public License as published by the Free
				Software Foundation, either version 3 of the
				License, or (at your option) any later version.</comments>
		</license>
	</licenses>

	<modules>
		<module>libs</module>
		<module>apps</module>
	</modules>

	<issueManagement>
		<system>Redmine</system>
		<url>
			https://issue.openaire.research-infrastructures.eu/projects/openaire</url>
	</issueManagement>

	<ciManagement>
		<system>jenkins</system>
		<url>https://jenkins-dnet.d4science.org/</url>
	</ciManagement>

	<scm>
		<connection>
			scm:git:gitea@code-repo.d4science.org:sandro.labruzzo/ScholixApi.git</connection>
		<developerConnection>
			scm:git:gitea@code-repo.d4science.org:sandro.labruzzo/ScholixApi.git</developerConnection>
		<url>https://code-repo.d4science.org/sandro.labruzzo/ScholixApi/</url>
		<tag>scholix-api-1.0.3</tag>
	</scm>

	<description>This module is the root descriptor for the ScholixApi project</description>

	<pluginRepositories />


	<repositories>
		<repository>
			<id>dnet45-releases-snapshot</id>
			<name>D-Net 45 snapshot</name>
			<url>
				https://maven.d4science.org/nexus/content/repositories/dnet45-snapshots</url>
			<layout>default</layout>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
		<repository>
			<id>dnet45-releases</id>
			<name>D-Net 45 releases</name>
			<url>
				https://maven.d4science.org/nexus/content/repositories/dnet45-releases</url>
			<layout>default</layout>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
		<repository>
			<id>dnet-deps</id>
			<name>D-Net Dependencies</name>
			<url>
				https://maven.d4science.org/nexus/content/repositories/dnet-deps/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<layout>default</layout>
		</repository>
	</repositories>

	<dependencies>


		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-registry-prometheus</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>


		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pool2</artifactId>
		</dependency>

		<dependency>
			<groupId>javax.annotation</groupId>
			<artifactId>javax.annotation-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
		</dependency>


	</dependencies>

	<dependencyManagement>
		<dependencies>

			<dependency>
				<groupId>eu.dnetlib.dhp</groupId>
				<artifactId>dhp-schemas</artifactId>
				<version>13.0.2</version>
				<exclusions>
					<exclusion>
						<groupId>commons-io</groupId>
						<artifactId>commons-io</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.google.guava</groupId>
						<artifactId>guava</artifactId>
					</exclusion>
					<exclusion>
						<groupId>io.swagger.core.v3</groupId>
						<artifactId>swagger-annotations</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-elasticsearch</artifactId>
				<version>5.3.1</version>
			</dependency>
			<dependency>
				<groupId>co.elastic.clients</groupId>
				<artifactId>elasticsearch-java</artifactId>
				<version>8.17.3</version>
			</dependency>

			<dependency>
				<groupId>javax.annotation</groupId>
				<artifactId>javax.annotation-api</artifactId>
				<version>1.3.2</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-pool2</artifactId>
				<version>2.13.1</version>
			</dependency>

			<!-- Swagger -->
			<dependency>
				<groupId>org.springdoc</groupId>
				<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
				<version>3.0.3</version>
			</dependency>

			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>2.0.1.Final</version>
			</dependency>

			<!-- for /metrics and /health controllers -->
			<dependency>
				<groupId>io.prometheus</groupId>
				<artifactId>simpleclient_spring_boot</artifactId>
				<version>0.16.0</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-web</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-context</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.apache.commons</groupId>
						<artifactId>commons-lang</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-actuator</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-starter-aop</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>io.prometheus</groupId>
				<artifactId>simpleclient_hotspot</artifactId>
				<version>0.16.0</version>
			</dependency>
		</dependencies>

	</dependencyManagement>

	<build>
		<directory>target</directory>
		<outputDirectory>target/classes</outputDirectory>
		<finalName>${project.artifactId}-${project.version}</finalName>
		<testOutputDirectory>target/test-classes</testOutputDirectory>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>3.9.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.21.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.15.0</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<encoding>${project.build.sourceEncoding}</encoding>
						<compilerArgs>
							<arg>-parameters</arg>
						</compilerArgs>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.5.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.4.0</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<phase>verify</phase>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.5.5</version>
					<configuration>
						<redirectTestOutputToFile>true</redirectTestOutputToFile>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.12.0</version>
					<configuration>
						<detectLinks>true</detectLinks>
						<doclint>none</doclint>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.10.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>3.3.1</version>
				</plugin>

			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
			</plugin>
		</plugins>

		<extensions>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ssh</artifactId>
				<version>3.5.3</version>
			</extension>
		</extensions>
	</build>
	<distributionManagement>
		<snapshotRepository>
			<id>dnet45-snapshots</id>
			<name>DNet45 Snapshots</name>
			<url>
				https://maven.d4science.org/nexus/content/repositories/dnet45-snapshots</url>
			<layout>default</layout>
		</snapshotRepository>
		<repository>
			<id>dnet45-releases</id>
			<url>
				https://maven.d4science.org/nexus/content/repositories/dnet45-releases</url>
		</repository>
	</distributionManagement>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<detectLinks>true</detectLinks>
					<doclint>none</doclint>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>17</java.version>
		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
	</properties>

</project>