<?xml version="1.0" encoding="UTF-8"?>
<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>

	<groupId>org.appsweaver</groupId>
	<artifactId>starter</artifactId>
	<packaging>pom</packaging>
	<name>starter</name>
	<description>starter</description>
	<version>1.4.0</version>
	<url>https://bitbucket.org/appsweaver</url>

	<!-- Developer -->
	<developers>
		<developer>
			<id>AppsWeaver</id>
			<name>AppsWeaver Team</name>
			<email>appsweaver-team@googlegroups.com</email>
			<url>http://www.appsweaver.org</url>
			<timezone>America/Los_Angeles</timezone>
		</developer>
	</developers>

	<!-- License -->
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<!-- Modules -->
	<modules>
		<module>bom</module>
		<module>oss-commons</module>
	</modules>

	<!-- Plugin Repositories -->
	<pluginRepositories>
		<pluginRepository>
			<id>synergian-repo</id>
			<url>https://raw.github.com/synergian/wagon-git/releases</url>
		</pluginRepository>
	</pluginRepositories>

	<!-- Reporting -->
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<additionalparam>${javadoc.opts}</additionalparam>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<!-- Repositories -->
	<repositories>
		<repository>
			<id>ossrh-nexus</id>
			<releases>
				<enabled>true</enabled>
			</releases>

			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</repository>
	</repositories>

	<!-- SCM -->
	<scm>
		<connection>scm:git:ssh://sym-dev@bitbucket.org/appsweaver/appsweaver.git</connection>
		<developerConnection>scm:git:ssh://sym-dev@bitbucket.org/appsweaver/appsweaver.git</developerConnection>
		<url>https://bitbucket.org/appsweaver/appsweaver.git</url>
		<tag>next-SNAPSHOT</tag>
	</scm>

	<!-- Properties -->
	<properties>
		<java.version>1.8</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<javadoc.opts>-Xdoclint:none</javadoc.opts>

		<apache.commons.beanutils.version>1.9.4</apache.commons.beanutils.version>
		<commons.io.version>2.6</commons.io.version>
		<cryptacular.version>1.2.2</cryptacular.version>
		<google.guava.version>23.0</google.guava.version>
		<hashids.version>1.0.3</hashids.version>
		<hibernate-validator.version>6.0.11.Final</hibernate-validator.version>
		<jasypt.spring-boot.version>2.1.0</jasypt.spring-boot.version>
		<jasypt.version>1.9.3</jasypt.version>
		<oath0.java.jwt.version>3.8.0</oath0.java.jwt.version>
		<opencsv.version>5.0</opencsv.version>
		<poi.version>4.1.1</poi.version>
		<rabbitmq.jms.version>1.8.1</rabbitmq.jms.version>
		<spring-loaded.version>1.2.8.RELEASE</spring-loaded.version>
		<spring.boot.maven.version>2.2.2.RELEASE</spring.boot.maven.version>
		<springfox-swagger2.version>2.9.2</springfox-swagger2.version>
		<type-parser.version>0.6.0</type-parser.version>
	</properties>

	<!-- Dependency Management -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.1.6.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<type>pom</type>
				<version>Greenwich.SR1</version>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>de.codecentric</groupId>
				<artifactId>spring-boot-admin-dependencies</artifactId>
				<type>pom</type>
				<version>2.1.6</version>
				<scope>import</scope>
			</dependency>

			<!-- Compatibility Matrix Reference: https://hibernate.org/ -->
			<dependency>
				<groupId>org.hibernate.ogm</groupId>
				<artifactId>hibernate-ogm-bom</artifactId>
				<type>pom</type>
				<version>5.4.1.Final</version>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<!-- Dependencies -->
	<dependencies>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<scope>compile</scope>
		</dependency>

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

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

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
	</dependencies>

	<!-- Build -->
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.6</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>

					<execution>
						<id>report</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<id>remove-old-artifacts</id>
						<phase>package</phase>
						<goals>
							<goal>remove-project-artifact</goal>
						</goals>
						<configuration>

							<removeAll>true</removeAll>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<executions>
					<execution>
						<id>default-deploy</id>
						<phase>deploy</phase>
						<goals>
							<goal>deploy</goal>
						</goals>
					</execution>
				</executions>

				<configuration>
					<serverId>ossrh-nexus</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.6</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>

						<configuration>
							<useAgent>true</useAgent>
							<passphrase>${env.AWE_GPG_PASSWORD}</passphrase>

							<gpgArguments>
								<arg>--batch</arg>
								<arg>--pinentry-mode</arg>
								<arg>loopback</arg>
							</gpgArguments>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<additionalparam>${javadoc.opts}</additionalparam>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>3.0.0-M5</version>
				<configuration>
					<forkedProcessExitTimeoutInSeconds>60</forkedProcessExitTimeoutInSeconds>
					<forkCount>1</forkCount>
				</configuration>
			</plugin>
		</plugins>

		<extensions>
			<extension>
				<groupId>ar.com.synergian</groupId>
				<artifactId>wagon-git</artifactId>
				<version>0.2.5</version>
			</extension>
		</extensions>
	</build>

	<!-- Distribution Management -->
	<distributionManagement>
		<snapshotRepository>
			<id>ossrh-nexus</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>

		<repository>
			<id>ossrh-nexus</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
	</distributionManagement>
</project>
