<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>2.7.18</version>
		<relativePath />
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<groupId>eu.dnetlib.dhp</groupId>
	<artifactId>dnet-directindex-application</artifactId>
	<version>1.2.2</version>
	<packaging>jar</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>

	<issueManagement>
		<system>Redmine</system>
		<url>https://support.openaire.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:D-Net/dnet-directindex-application.git</connection>
		<developerConnection>scm:git:gitea@code-repo.d4science.org:D-Net/dnet-directindex-application.git</developerConnection>
		<url>https://code-repo.d4science.org/D-Net/dnet-directindex-application/</url>
		<tag>dnet-directindex-application-1.2.2</tag>
	</scm>

	<description>Direct Index API using the SWORD protocol</description>

	<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>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<id>cloudera</id>
			<name>Cloudera Repository</name>
			<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
		</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>
		
		<!-- Spring Modules -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</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-cache</artifactId>
		</dependency>

		<!-- Commons -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>

		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pool2</artifactId>
		</dependency>
		
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>33.2.0-jre</version>
		</dependency>
		
		<!-- XML -->
		<dependency>
			<groupId>org.dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>2.1.4</version>
		</dependency>
		
		<dependency>
			<groupId>jaxen</groupId>
			<artifactId>jaxen</artifactId>
		</dependency>
		
		<!-- DHP SCHEMAS  -->
		<dependency>
			<groupId>eu.dnetlib.dhp</groupId>
			<artifactId>dhp-schemas</artifactId>
			<version>${dhp-schemas-version}</version>
			<exclusions>
				<exclusion>
					<groupId>io.swagger.core.v3</groupId>
					<artifactId>swagger-annotations</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>eu.dnetlib.dhp</groupId>
			<artifactId>openaire-solr-payload-mapper</artifactId>
			<version>${dhp-openaire-solr-payload-mapper-version}</version>
			<exclusions>
				<exclusion>
	                <groupId>io.swagger.core.v3</groupId>
	                <artifactId>swagger-annotations</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		
		<!-- Postgres Driver -->
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
		</dependency>
		
		<!-- SOLR -->
		<dependency>
			<groupId>org.apache.solr</groupId>
			<artifactId>solr-solrj</artifactId>
			<version>9.7.0</version><!--$NO-MVN-MAN-VER$-->
		</dependency>
				
		<!-- Swagger -->
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-ui</artifactId>
			<version>1.6.10</version>
			<exclusions>
				<exclusion>
					<groupId>io.swagger.core.v3</groupId>
					<artifactId>swagger-annotations</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

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

		<!-- for /metrics and /health controllers -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<dependency>
			<groupId>io.micrometer</groupId>
			<artifactId>micrometer-registry-prometheus</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-model</artifactId>
			<version>3.8.1</version>
		</dependency>
		
		<!-- For tests -->
		<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>

	</dependencies>

	<build>
		<directory>target</directory>
		<outputDirectory>target/classes</outputDirectory>
		<finalName>${project.artifactId}-${project.version}</finalName>
		<testOutputDirectory>target/test-classes</testOutputDirectory>
	
		<plugins>
			<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-project-info-reports-plugin</artifactId>
				<version>3.8.0</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5.3</version>
			</plugin>
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-help-plugin</artifactId>
				<executions>
					<execution>
						<phase>generate-sources</phase>
						<goals>
							<goal>effective-pom</goal>
						</goals>
						<configuration>
							<output>${project.build.outputDirectory}/META-INF/maven/${project.groupId}/${project.artifactId}/effective-pom.xml</output>
						</configuration>
					</execution>
				</executions>
			</plugin>
				
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<executable>true</executable>
				</configuration>
			</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>
		<maven.compiler.plugin.version>3.6.0</maven.compiler.plugin.version>
		<java.version>11</java.version>
		
		<cnr-rmi-api.version>2.6.1</cnr-rmi-api.version>
		<dhp-schemas-version>11.1.0</dhp-schemas-version>
		<dhp-openaire-solr-payload-mapper-version>1.2.15</dhp-openaire-solr-payload-mapper-version>
		
		<apache.solr.version>9.7.0</apache.solr.version>
		<mongodb.driver.version>3.4.2</mongodb.driver.version>
		<prometheus.version>0.10.0</prometheus.version>
		<javamelody.version>1.71.0</javamelody.version>
		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
		<dockerfile-maven-version>1.3.6</dockerfile-maven-version>
		<jetty.version>10.0.22</jetty.version>
	</properties>
</project>

