<?xml version="1.0" encoding="UTF-8"?>
<!--
javatator - Multi-database admin tool.

Copyright (C) 2019, 2020, 2021  AO Industries, Inc.
    support@aoindustries.com
    7262 Bull Pen Cir
    Mobile, AL 36695

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-->
<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>

	<parent>
		<groupId>com.aoapps</groupId><artifactId>ao-oss-parent</artifactId><version>1.17.4<!-- -POST-SNAPSHOT --></version>
		<relativePath>../oss/parent/pom.xml</relativePath>
	</parent>

	<groupId>com.aoindustries</groupId><artifactId>javatator</artifactId><version>0.5.1</version>
	<packaging>war</packaging>

	<properties>
		<module.name>com.javaphilia.javatator</module.name>
		<javadoc.breadcrumbs><![CDATA[<a target="${javadoc.target}" href="${project.url}">${project.name}</a>]]></javadoc.breadcrumbs>
		<com.javaphilia.javatator.DatabaseConfiguration />
		<google.analytics.trackingId>UA-86871646-1</google.analytics.trackingId>
		<!-- com.aoindustries is on original Sonatype Nexus Repository Manager -->
		<nexusUrl>https://oss.sonatype.org/</nexusUrl>
		<!-- SonarQube -->
		<sonar.projectKey>${project.groupId}:${project.artifactId}</sonar.projectKey>
		<sonar.organization>ao-apps</sonar.organization>
		<sonar.host.url>https://sonarcloud.io</sonar.host.url>
		<!-- TODO: Implement tests -->
		<sonar.coverage.exclusions>**.*</sonar.coverage.exclusions>
	</properties>

	<name>Javatator</name>
	<url>https://aoindustries.com/javatator/</url>
	<description>Multi-database admin tool.</description>
	<inceptionYear>2000</inceptionYear>

	<licenses>
		<license>
			<name>GNU General Public License (GPL) version 2.0</name>
			<url>https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Jason Davies</name>
			<email>jason@javaphilia.com</email>
			<url>http://www.javaphilia.com/</url>
		</developer>
		<developer>
			<name>Dan Armstrong</name>
			<email>dan@dans-home.com</email>
			<url>https://dans-home.com/</url>
		</developer>
		<developer>
			<name>AO Industries, Inc.</name>
			<email>support@aoindustries.com</email>
			<url>https://aoindustries.com/</url>
			<organization>AO Industries, Inc.</organization>
			<organizationUrl>https://aoindustries.com/</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:git://github.com/ao-apps/javatator.git</connection>
		<developerConnection>scm:git:git@github.com:ao-apps/javatator.git</developerConnection>
		<url>https://github.com/ao-apps/javatator</url>
		<tag>javatator-0.5.1</tag>
	</scm>

	<issueManagement>
		<system>GitHub Issues</system>
		<url>https://github.com/ao-apps/javatator/issues</url>
	</issueManagement>

	<ciManagement>
		<system>GitHub Actions</system>
		<url>https://github.com/ao-apps/javatator/actions</url>
	</ciManagement>

	<repositories>
		<!-- Repository required here, too, so can find parent -->
		<repository>
			<id>sonatype-nexus-snapshots-s01</id>
			<name>Sonatype Nexus Snapshots S01</name>
			<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId>
				<configuration>
					<usedDependencies>
						<!-- Direct -->
						<dependency>javax.servlet.jsp:javax.servlet.jsp-api</dependency><!-- Needed but declared unused, plugin bug? -->
						<!-- Runtime Direct -->
						<dependency>com.aoapps:ao-mime-mappings</dependency>
						<dependency>com.aoapps:ao-servlet-filter</dependency>
					</usedDependencies>
				</configuration>
			</plugin>
			<!-- Never install snapshot, see https://stackoverflow.com/a/39139979 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId>
				<configuration><skip>${build.isSnapshot}</skip></configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>offlineLinks</id><activation><file><exists>src/main/java</exists></file></activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId>
						<executions>
							<execution>
								<id>unpack.offlineLinks</id><phase>generate-sources</phase><goals><goal>unpack</goal></goals>
								<configuration>
									<artifactItems>
										<!-- Direct -->
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-collections</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-fluent-html-servlet</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-fluent-html-servlet</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-lang</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-net-types</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-servlet-util</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-sql-wrapper</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-sql-wrapper</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-web-resources-registry</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-registry</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-web-resources-renderer</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-renderer</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoapps</groupId><artifactId>ao-web-resources-servlet</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-servlet</outputDirectory>
										</artifactItem>
										<artifactItem>
											<groupId>com.aoindustries</groupId><artifactId>aoserv-client</artifactId><classifier>javadoc</classifier>
											<includes>element-list, package-list</includes>
											<outputDirectory>${project.build.directory}/offlineLinks/com.aoindustries/aoserv-client</outputDirectory>
										</artifactItem>
										<!-- ao-javadoc-offline: <groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId> -->
										<!-- ao-javadoc-offline: <groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId> -->
									</artifactItems>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<offlineLinks combine.children="append">
								<!-- Direct -->
								<offlineLink>
									<url>https://oss.aoapps.com/collections/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-collections</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/fluent-html/servlet/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-fluent-html-servlet</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/lang/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-lang</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/net-types/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-net-types</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/servlet-util/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-servlet-util</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/sql/wrapper/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-sql-wrapper</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/web-resources/registry/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-registry</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/web-resources/renderer/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-renderer</location>
								</offlineLink>
								<offlineLink>
									<url>https://oss.aoapps.com/web-resources/servlet/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoapps/ao-web-resources-servlet</location>
								</offlineLink>
								<offlineLink>
									<url>https://aoindustries.com/aoserv/client/apidocs/</url>
									<location>${project.build.directory}/offlineLinks/com.aoindustries/aoserv-client</location>
								</offlineLink>
								<!-- ao-javadoc-offline: <groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId> -->
								<!-- ao-javadoc-offline: <groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId> -->
							</offlineLinks>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId>
						<configuration>
							<!--
								Releases use "Automatic-Module-Name" instead of "module-info.java"
								since has direct dependencies that are not yet modularized.
							-->
							<archive>
								<manifestEntries>
									<Automatic-Module-Name>${module.name}</Automatic-Module-Name>
								</manifestEntries>
							</archive>
							<packagingExcludes>
								<!-- META-INF/context.xml is used for local development deployment only -->
								META-INF/context.xml,
								WEB-INF/classes/module-info.class
							</packagingExcludes>
							<!-- There is no way to exclude module-info.class from secondary artifact, just don't attach -->
							<attachClasses>false</attachClasses>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<!--
			Required for bug "requireActiveProfile ignores inherited profiles in submodules":
			https://issues.apache.org/jira/browse/MENFORCER-226
		-->
		<profile>
			<id>POST-SNAPSHOT</id>
			<properties>
				<POST-SNAPSHOT>-POST-SNAPSHOT</POST-SNAPSHOT>
			</properties>
		</profile>
		<profile>
			<id>publish</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<id>publish-enforce-profiles</id><goals><goal>enforce</goal></goals>
								<configuration>
									<rules>
										<requireActiveProfile>
											<message>"publish" requires "POST-SNAPSHOT" profile</message>
											<profiles>POST-SNAPSHOT</profiles>
										</requireActiveProfile>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>publish</id><phase>deploy</phase><goals><goal>deploy-only</goal></goals>
								<configuration>
									<charset>UTF-8</charset>
									<server>tomcat7-maven-plugin-aoindustries.com</server>
									<path>/javatator</path>
									<update>true</update>
									<url>${tomcat7-maven-plugin-aoindustries.com}</url>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId>
						<executions>
							<execution>
								<id>warmup-get-url</id><phase>deploy</phase><goals><goal>run</goal></goals>
								<configuration>
									<target>
										<sleep seconds="10" />
										<mkdir dir="${project.build.directory}/warmup-get-url" />
										<retry retrycount="12" retrydelay="15000">
											<get retries="1" src="${publish-aoindustries.com-javatator-warmup-get-url}" dest="${project.build.directory}/warmup-get-url/response" maxtime="120" httpusecaches="false" />
										</retry>
									</target>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<dependencyManagement>
		<dependencies>
			<!-- Direct -->
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId><version>3.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-fluent-html-servlet</artifactId><version>0.5.1<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId><version>5.1.1<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId><version>2.0.2<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId><version>5.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-sql-wrapper</artifactId><version>2.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-web-resources-registry</artifactId><version>0.4.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-web-resources-renderer</artifactId><version>0.5.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-web-resources-servlet</artifactId><version>0.5.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoindustries</groupId><artifactId>aoserv-client</artifactId><version>1.88.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.3</version>
				<scope>provided</scope>
			</dependency>
			<!-- Transitive -->
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-encoding</artifactId><version>6.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-encoding-servlet</artifactId><version>4.1.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-fluent-html-any</artifactId><version>0.5.3<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-hodgepodge</artifactId><version>5.0.1<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-security</artifactId><version>3.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-servlet-last-modified</artifactId><version>2.0.1<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-sql</artifactId><version>2.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-tempfiles</artifactId><version>3.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-tlds</artifactId><version>2.0.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version>
			</dependency>
			<!-- Runtime Direct -->
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-mime-mappings</artifactId><version>1.2.0<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
			<dependency>
				<groupId>com.aoapps</groupId><artifactId>ao-servlet-filter</artifactId><version>3.0.1<!-- ${POST-SNAPSHOT} --></version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- Direct -->
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-collections</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-fluent-html-servlet</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-lang</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-net-types</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-servlet-util</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-sql-wrapper</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-web-resources-registry</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-web-resources-renderer</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-web-resources-servlet</artifactId>
		</dependency>
		<dependency>
			<groupId>com.aoindustries</groupId><artifactId>aoserv-client</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId>
		</dependency>
		<!-- Runtime Direct -->
		<dependency>
			<!-- Required for UTF-8 static resources -->
			<groupId>com.aoapps</groupId><artifactId>ao-mime-mappings</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>com.aoapps</groupId><artifactId>ao-servlet-filter</artifactId>
			<scope>runtime</scope>
		</dependency>
	</dependencies>
</project>
