Skip to content
Snippets Groups Projects
pom.xml 11.60 KiB
<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>ch.unige.solidify</groupId>
		<artifactId>solidify-parent</artifactId>
		<version>2.0.2</version>
		<relativePath />
	</parent>

	<groupId>ch.unige.aou</groupId>
	<artifactId>AoU-Parent</artifactId>
	<name>AoU Parent</name>
	<version>1.0.11</version>
	<packaging>pom</packaging>
	<description>AoU Parent project. Manage dependencies and version for AoU modules/applications</description>

	<modules>
		<!-- AoU Shared Modules -->
		<module>AoU-Model</module>
		<module>AoU-Common</module>
		<module>AoU-ResourceServerSecurity</module>
		<module>AoU-ResourceServerCommon</module>
		<!-- AoU Modules -->
		<module>AoU-Admin</module>
		<module>AoU-Access</module>
		<!-- AoU Clients -->
		<module>AoU-Client</module>
		<!-- AoU Tests -->
		<module>AoU-IntegrationTests</module>
		<module>AoU-IntegrationTestsRunner</module>
		<!-- AoU Applications -->
		<module>AoU-Solution</module>
	</modules>

	<properties>
		<!--General properties -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
		<!-- Solidify Authorization Client properties -->
		<solidify.authorization.client.version>1.3.0</solidify.authorization.client.version>
		<!--AoU properties -->
		<aou.version>${project.version}</aou.version>
		<aou.model.version>1.0.11</aou.model.version>
		<aou.common.version>1.0.11</aou.common.version>
		<aou.resource.server.security.version>1.0.11</aou.resource.server.security.version>
		<aou.resource.server.common.version>1.0.11</aou.resource.server.common.version>
		<aou.admin.version>1.0.11</aou.admin.version>
		<aou.access.version>1.0.11</aou.access.version>
		<aou.client.version>1.0.11</aou.client.version>
		<aou.integration.tests.version>1.0.11</aou.integration.tests.version>
		<aou.integration.tests.runner.version>1.0.11</aou.integration.tests.runner.version>
		<aou.tool.openapi.version>1.3.0</aou.tool.openapi.version>
		<aou.tool.asciidoctor.toc.version>1.3.0</aou.tool.asciidoctor.toc.version>
		<!--Libraries properties -->
		<spring-security-oauth2.version>2.5.0.RELEASE</spring-security-oauth2.version>
		<spring-security-jwt.version>1.1.1.RELEASE</spring-security-jwt.version>
		<elasticsearch.version>6.7.1</elasticsearch.version>
		<fedora.repository.version>3.8.1</fedora.repository.version>
		<asciidoctor-maven-plugin.version>2.1.0</asciidoctor-maven-plugin.version>
		<asciidoctorj-pdf.version>1.5.3</asciidoctorj-pdf.version>
		<jaxb2-maven-plugin.version>2.5.0</jaxb2-maven-plugin.version>
		<properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
		<joss.version>0.10.4</joss.version>
		<nimbus-jose-jwt.version>8.20</nimbus-jose-jwt.version>
		<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
		<restdocs-spec-maven-plugin.version>0.18</restdocs-spec-maven-plugin.version>
		<commons-validator.version>1.7</commons-validator.version>
		<jgit.version>5.9.0.202009080501-r</jgit.version>
		<spring-cloud-config-client.version>3.0.3</spring-cloud-config-client.version>
		<jna-platform.version>5.6.0</jna-platform.version>
		<skipTests>false</skipTests>
		<skipDocs>false</skipDocs>
		<skipTools>false</skipTools>
		<snippets.baseDir>${project.build.directory}/generated-snippets</snippets.baseDir>
		<documentation.host>localhost</documentation.host>
		<documentation.basePath />
		<documentation.specification>OPENAPI_V3</documentation.specification>
		<documentation.scheme>http</documentation.scheme>
		<documentation.server.servlet.context-path>/aou</documentation.server.servlet.context-path>
		<documentation.format>JSON</documentation.format>
		<!-- Mandatory property to prevent inheritance of the parent property. If not set the module in Sonar will be the same as the parent module -->
		<sonar.projectName>${project.name}</sonar.projectName>
		<aggregate.report.dir>tests/target/site/jacoco-aggregate/jacoco.xml</aggregate.report.dir>
		<sonar.exclusions>AoU-IntegrationTests/src/test/resources/**</sonar.exclusions>

	</properties>

	<dependencyManagement>
		<dependencies>
			<!--Spring dependencies -->
			<dependency>
				<groupId>org.springframework.security.oauth</groupId>
				<artifactId>spring-security-oauth2</artifactId>
				<version>${spring-security-oauth2.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-jwt</artifactId>
				<version>${spring-security-jwt.version}</version>
			</dependency>
			<!--AoU dependencies -->
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-Model</artifactId>
				<version>${aou.model.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-Common</artifactId>
				<version>${aou.common.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-ResourceServerSecurity</artifactId>
				<version>${aou.resource.server.security.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-ResourceServerCommon</artifactId>
				<version>${aou.resource.server.common.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-Admin</artifactId>
				<version>${aou.admin.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-Deposit</artifactId>
				<version>${aou.deposit.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-Access</artifactId>
				<version>${aou.access.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-Client</artifactId>
				<version>${aou.client.version}</version>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-IntegrationTests</artifactId>
				<version>${aou.integration.tests.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>ch.unige.aou</groupId>
				<artifactId>AoU-IntegrationTestsRunner</artifactId>
				<version>${aou.integration.tests.runner.version}</version>
				<scope>test</scope>
			</dependency>
			<!-- Search dependencies -->
			<dependency>
				<groupId>org.elasticsearch.client</groupId>
				<artifactId>x-pack-transport</artifactId>
				<version>${elasticsearch.version}</version>
			</dependency>
			<!-- Swift S3 -->
			<dependency>
				<groupId>org.javaswift</groupId>
				<artifactId>joss</artifactId>
				<version>${joss.version}</version>
			</dependency>
			<!-- Used for validating URLs -->
			<dependency>
				<groupId>commons-validator</groupId>
				<artifactId>commons-validator</artifactId>
				<version>${commons-validator.version}</version>
			</dependency>
			<!-- JOSE, JWT and OAuth2 libraries -->
			<dependency>
				<groupId>com.nimbusds</groupId>
				<artifactId>nimbus-jose-jwt</artifactId>
				<version>${nimbus-jose-jwt.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-config-client</artifactId>
				<version>${spring-cloud-config-client.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jgit</groupId>
				<artifactId>org.eclipse.jgit</artifactId>
				<version>${jgit.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jgit</groupId>
				<artifactId>org.eclipse.jgit.ssh.jsch</artifactId>
				<version>${jgit.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- Solidify-Authorization-Client -->
		<dependency>
			<groupId>ch.unige.solidify</groupId>
			<artifactId>solidify-authorization-client</artifactId>
			<version>${solidify.authorization.client.version}</version>
		</dependency>
		<!-- Spring Boot starter -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<!-- Generate Spring configuration metadata file -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>
		<!-- Java Native Access allowing JDBC MariaDB driver to use Unix socket -->
		<dependency>
			<groupId>net.java.dev.jna</groupId>
			<artifactId>jna-platform</artifactId>
			<version>${jna-platform.version}</version>
		</dependency>
	</dependencies>
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>pl.project13.maven</groupId>
					<artifactId>git-commit-id-plugin</artifactId>
					<configuration>
						<dotGitDirectory>${project.basedir}/../.git</dotGitDirectory>
						<offline>true</offline>
						<verbose>false</verbose>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<executions>
						<execution>
							<goals>
								<goal>repackage</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.asciidoctor</groupId>
					<artifactId>asciidoctor-maven-plugin</artifactId>
					<version>${asciidoctor-maven-plugin.version}</version>
					<dependencies>
						<dependency>
							<groupId>org.asciidoctor</groupId>
							<artifactId>asciidoctorj-pdf</artifactId>
							<version>${asciidoctorj-pdf.version}</version>
						</dependency>
					</dependencies>
					<executions>
						<execution>
							<id>generate-docs</id>
							<phase>prepare-package</phase>
							<goals>
								<goal>process-asciidoc</goal>
							</goals>
						</execution>
						<execution>
							<id>generate-pdf-doc</id>
							<phase>prepare-package</phase>
							<goals>
								<goal>process-asciidoc</goal>
							</goals>
							<configuration>
								<backend>pdf</backend>
								<attributes>
									<icons>font</icons>
									<pagenums />
									<toc />
								</attributes>
							</configuration>
						</execution>
					</executions>
					<configuration>
						<skip>${skipDocs}</skip>
						<sourceDirectory>${project.basedir}/src/main/docs</sourceDirectory>
						<backend>xhtml</backend>
						<doctype>book</doctype>
						<attributes>
							<version>${project.version}</version>
							<builddate>${maven.build.timestamp}</builddate>
							<snippets>${snippets.baseDir}</snippets>
							<includedirectory>${project.basedir}/src/main/asciidoc</includedirectory>
							<imagesdir>images</imagesdir>
						</attributes>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>jaxb2-maven-plugin</artifactId>
					<version>${jaxb2-maven-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>properties-maven-plugin</artifactId>
					<version>${properties-maven-plugin.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>${maven-release-plugin.version}</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<scm>
		<connection>scm:git:git@gitlab.unige.ch:aou/aou-backend.git</connection>
		<tag>aou-1.0.11</tag>
		<url>https://gitlab.unige.ch/aou/aou-backend</url>
	</scm>

	<organization>
		<name>University of Geneva</name>
		<url>https://www.unige.ch</url>
	</organization>

</project>