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

	<modelVersion>4.0.0</modelVersion>

	<groupId>com.gantzgulch.tools</groupId>
	<artifactId>gantzgulch-tools-top</artifactId>
	<version>1.0.26</version>
	<packaging>pom</packaging>

	<name>GantzGulch, Inc. Tools - Master Pom</name>
	<description>Master pom for GantzGulch tools.</description>
	<url>http://www.gantzgulch.com</url>
	<inceptionYear>2018</inceptionYear>

	<licenses>
		<license>
			<name>GNU LESSER GENERAL PUBLIC LICENSE, Version 3</name>
			<url>https://www.gnu.org/licenses/lgpl.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<organization>
		<name>GantzGulch, Inc.</name>
		<url>http://www.gantzgulch.com</url>
	</organization>

	<developers>
		<developer>
			<id>gantzm</id>
			<name>Michael L. Gantz</name>
			<email>gantzm@gantzgulch.com</email>
			<organization>GantzGulch, Inc.</organization>
			<organizationUrl>http://www.gantzgulch.com</organizationUrl>
			<roles>
				<role>developer</role>
			</roles>
		</developer>
	</developers>

	<modules>
		<module>gantzgulch-logging-core</module>
		<module>gantzgulch-logging-commons</module>
		<module>gantzgulch-logging-log4j2</module>
		<module>gantzgulch-logging-slf4j</module>
		<module>gantzgulch-tools-common</module>
		<module>gantzgulch-tools-io</module>
		<module>gantzgulch-tools-guice</module>
		<module>gantzgulch-tools-samples</module>
		<module>gantzgulch-tools-json</module>
		<module>gantzgulch-tools-crypto</module>
		<module>gantzgulch-tools-aws</module>
		<module>gantzgulch-tools-http</module>
		<module>gantzgulch-tools-hibernate</module>
		<module>gantzgulch-tools-jwt</module>
	</modules>

	<scm>
		<url>scm:git:ssh://git@github.com:GantzGulchInc/GantzGulchTools.git</url>
		<connection>scm:git:ssh://git@github.com:GantzGulchInc/GantzGulchTools.git</connection>
	</scm>

	<!-- Complete this section when we have a CI build tool. -->
	<ciManagement>
		<system>Bamboo</system>
		<url>http://www.google.com/</url>
	</ciManagement>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.build.timestamp.format>yyyy/MM/dd HH:MM:ss</maven.build.timestamp.format>
		<timestamp>${maven.build.timestamp}</timestamp>

		<JACKSON_VERSION>2.13.0</JACKSON_VERSION>
		<HIBERNATE_VERSION>5.2.8.Final</HIBERNATE_VERSION>
		<AWS_SDK>1.12.128</AWS_SDK>
		<TOMCAT_VERSION>8.5.4</TOMCAT_VERSION>
		<BOUNCY_CASTLE_VERSION>1.70</BOUNCY_CASTLE_VERSION>
		
		<LOG4J_VERSION>2.17.1</LOG4J_VERSION>
		<SLF4J_VERSION>1.7.30</SLF4J_VERSION>
		
		<TEST_LOGGING_ARTIFACT>gantzgulch-logging-log4j2</TEST_LOGGING_ARTIFACT>
	</properties>

	<profiles>
		<profile>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<properties>
				<gpg.executable>gpg2</gpg.executable>
				<gpg.passphrase>the_pass_phrase</gpg.passphrase>
			</properties>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<detectJavaApiLink>false</detectJavaApiLink>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<keyname>0x06A7E27E197B0074!</keyname>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<dependencyManagement>

		<dependencies>

			<!-- Auth0 -->
			<dependency>
			    <groupId>com.auth0</groupId>
			    <artifactId>java-jwt</artifactId>
			    <version>3.18.2</version>
			</dependency>
			
			<!-- Bouncy Castle -->
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>${BOUNCY_CASTLE_VERSION}</version>
			</dependency>

			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcpkix-jdk15on</artifactId>
				<version>${BOUNCY_CASTLE_VERSION}</version>
			</dependency>

			<!-- Apache Commons -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.12.0</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.11.0</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.commons</groupId>
			    <artifactId>commons-compress</artifactId>
			    <version>1.21</version>
			</dependency>

			<!-- Apache HTTP -->
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>4.5.13</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>4.4.15</version>
			</dependency>

			<!-- Tomcat -->
			<dependency>
				<groupId>org.apache.tomcat</groupId>
				<artifactId>tomcat-catalina</artifactId>
				<version>${TOMCAT_VERSION}</version>
				<scope>provided</scope>
			</dependency>

			<!-- opencsv -->
			<dependency>
				<groupId>com.opencsv</groupId>
				<artifactId>opencsv</artifactId>
				<version>4.3.2</version>
			</dependency>

			<!-- Jackson -->
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>${JACKSON_VERSION}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${JACKSON_VERSION}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-annotations</artifactId>
				<version>${JACKSON_VERSION}</version>
			</dependency>

			<!-- Hibernate -->
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-core</artifactId>
				<version>${HIBERNATE_VERSION}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-entitymanager</artifactId>
				<version>${HIBERNATE_VERSION}</version>
			</dependency>


			<!-- AWS -->
			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-iot-device-sdk-java</artifactId>
				<version>1.3.9</version>
			</dependency>

			<dependency>
				<artifactId>aws-java-sdk-core</artifactId>
				<groupId>com.amazonaws</groupId>
				<version>${AWS_SDK}</version>
			</dependency>

			<dependency>
				<artifactId>aws-java-sdk-s3</artifactId>
				<groupId>com.amazonaws</groupId>
				<version>${AWS_SDK}</version>
			</dependency>

			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-java-sdk-sns</artifactId>
				<version>${AWS_SDK}</version>
			</dependency>

			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-java-sdk-sts</artifactId>
				<version>${AWS_SDK}</version>
			</dependency>

			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-lambda-java-core</artifactId>
				<version>1.2.1</version>
			</dependency>

			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-lambda-java-log4j</artifactId>
				<version>1.0.1</version>
			</dependency>

			<!-- Google -->
			<dependency>
				<groupId>com.google.inject</groupId>
				<artifactId>guice</artifactId>
				<version>5.0.1</version>
				<optional>true</optional>
			</dependency>
			<dependency>
				<groupId>com.google.inject.extensions</groupId>
				<artifactId>guice-multibindings</artifactId>
				<version>4.2.3</version>
				<optional>true</optional>
			</dependency>

			<!-- Testing -->

			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.9.5</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-library</artifactId>
				<version>2.2</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.2</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<resources>
			<resource>
				<filtering>false</filtering>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<filtering>true</filtering>
				<directory>src/main/resourcesFiltered</directory>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<filtering>false</filtering>
				<directory>src/test/resources</directory>
			</testResource>
			<testResource>
				<filtering>true</filtering>
				<directory>src/test/resourcesFiltered</directory>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<tagNameFormat>V@{project.version}</tagNameFormat>
					<autoVersionSubmodules>true</autoVersionSubmodules>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
			</plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-enforcer-plugin</artifactId>
                                <version>3.0.0-M3</version>
                                <executions>
                                        <execution>
                                                <id>enforce-maven</id>
                                                <goals>
                                                        <goal>enforce</goal>
                                                </goals>
                                                <configuration>
                                                        <rules>
                                                               	<requireMavenVersion>
                                                                        <version>3.5</version>
                                                                </requireMavenVersion>
                                                        </rules>
                                                </configuration>
                                        </execution>
                                </executions>
                        </plugin>
			<plugin>
				<groupId>org.zeroturnaround</groupId>
				<artifactId>jrebel-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>generate-rebel-xml</id>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.2.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.9.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>1.5</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.5.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.0.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.19.1</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-clean-plugin</artifactId>
					<version>3.0.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.8.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>2.6</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.5.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.5.1</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.cargo</groupId>
					<artifactId>cargo-maven2-plugin</artifactId>
					<version>1.5.0</version>
				</plugin>
				<plugin>
					<groupId>org.zeroturnaround</groupId>
					<artifactId>jrebel-maven-plugin</artifactId>
					<version>1.1.6</version>
				</plugin>

				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.zeroturnaround</groupId>
										<artifactId>jrebel-maven-plugin</artifactId>
										<versionRange>[1.1.3,)</versionRange>
										<goals>
											<goal>generate</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<!-- <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> 
		<artifactId>maven-javadoc-plugin</artifactId> <version>2.10.4</version> <configuration> 
		<encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> 
		<artifactId>maven-jxr-plugin</artifactId> <version>2.5</version> </plugin> 
		<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> 
		<version>2.4</version> <configuration> <encoding>UTF-8</encoding> </configuration> 
		</plugin> </plugins> </reporting> -->

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

</project>
