<?xml version="1.0" encoding="UTF-8"?>
<!--
 ***************************************************************************************************************************
 * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
 * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
 * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
 * with the License.  You may obtain a copy of the License at                                                              *
 *                                                                                                                         *
 *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
 *                                                                                                                         *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 * specific language governing permissions and limitations under the License.                                              *
 ***************************************************************************************************************************
-->
<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.apache.juneau</groupId>
	<artifactId>juneau</artifactId>
	<version>9.0.0</version>
	<packaging>pom</packaging>
	<name>juneau</name>
	<description>Apache Juneau</description>
	
	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>21</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>

		<jaxb.version>2.3.1</jaxb.version>
		<junit.version>4.13.1</junit.version>
		<jaxrs.version>1.1.1</jaxrs.version>
		<servlet.version>4.0.1</servlet.version>
		<httpcore.version>4.4.13</httpcore.version>
		<httpclient.version>4.5.13</httpclient.version>
		<jetty.version>9.4.13.v20181111</jetty.version>
		<juneau.compare.version>8.0.0</juneau.compare.version>
		<javadoc.juneau.version>9.0.0</javadoc.juneau.version>
		<juneauVersion>9.0.0</juneauVersion>
		<juneauVersionNext>9.0.1</juneauVersionNext>
		<derby.version>10.10.2.0</derby.version>
		<hibernate.version>5.0.9.Final</hibernate.version>
		<springboot.version>2.7.0</springboot.version>
		<xml.apis.version>1.4.01</xml.apis.version>
		<javadoc.executable />
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>jsr311-api</artifactId>
				<version>${jaxrs.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>${servlet.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.xml.bind</groupId>
				<artifactId>jaxb-api</artifactId>
				<version>${jaxb.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>${httpcore.version}</version>
			</dependency>
			<dependency>
				<!-- Java 11 -->
				<groupId>javax.activation</groupId>
				<artifactId>javax.activation-api</artifactId>
				<version>1.2.0</version>
			</dependency>
			<dependency>
				<!-- Java 11 -->
				<groupId>com.sun.activation</groupId>
				<artifactId>javax.activation</artifactId>
				<version>1.2.0</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<modules>
		<module>juneau-core</module>
		<module>juneau-rest</module>
		<module>juneau-microservice</module>
		<module>juneau-sc</module>
		<module>juneau-examples</module>
		<module>juneau-utest</module>
		<module>juneau-utest-utils</module>
		<module>juneau-all</module>
		<module>juneau-distrib</module>
	</modules>

	<distributionManagement>
		<!-- Uncomment to generate Maven site in /tmp/site --> 
		<!--site>
			<id>${project.artifactId}-site</id>
			<url>file:///tmp/site</url>
		</site-->
	</distributionManagement>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<!-- ! Maven minimum 3.2.0 to build. -->
									<version>3.2.0</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			
			<!-- 
				Runs Apache Rat against all source code to make sure all files have licenses. 
			-->
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<!--
					! Can be removed if updated to asf parent version 19.
				-->
				<configuration>
					<excludes>
						<exclude>**/DEPENDENCIES</exclude>
						<exclude>**/target/**</exclude>
						<exclude>**/empty.txt</exclude>
						<exclude>**/TODO.txt</exclude>
						
						
						<!-- Eclipse metadata files -->
						<exclude>**/.settings/**</exclude>
						<exclude>**/.project</exclude>
						<exclude>**/.classpath</exclude>
						<exclude>**/*.launch</exclude>
						<exclude>**/*.prefs</exclude>

						<!-- Overlay files -->
						<exclude>**/*.2</exclude>
						
						<!-- Generated by embedded jetty server -->
						<exclude>**/jetty.out.xml</exclude>
						<exclude>**/*.log</exclude>
						<exclude>**/*.log.*</exclude>
						
						<!-- Generated in juneau-microservice-template for some reason -->
						<exclude>**/dependency-reduced-pom.xml</exclude>

						<!-- Generated by juneau-docs.jar -->
						<exclude>**/docs.txt</exclude>
						<exclude>**/toc.txt</exclude>
						
						<!-- Files needed by Heroku as-is -->
						<exclude>**/app.json</exclude>						
						<exclude>**/Procfile</exclude>	
											
						<exclude>**/.asf.yaml</exclude>
					</excludes>
					<consoleOutput>true</consoleOutput>
					<!-- Note:  useEclipseDefaultExcludes does not work for subprojects.  See RAT-107 -->
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
		
				<!-- Generates the javadocs for all non-test projects. -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.0.1</version>
					<configuration>
						<doclint>missing,reference,syntax</doclint>
						<sourcetab>3</sourcetab>
						<notimestamp>true</notimestamp>
						<verbose>true</verbose>
						<additionalJOptions>
							<additionalJOption>-J-DjuneauVersion=${juneauVersion}</additionalJOption>
							<additionalJOption>-J-DjuneauVersionNext=${juneauVersionNext}</additionalJOption>
							<additionalJOption>--allow-script-in-comments</additionalJOption>
						</additionalJOptions>
						<show>protected</show>
						<windowtitle>Apache Juneau ${project.version}</windowtitle>
						<author>true</author>
						<linksource>true</linksource>
						<source>1.8</source>
						<bootclasspath>${sun.boot.class.path}</bootclasspath>
						<classpath>${basedir}/juneau-doc/tools.jar</classpath>
						<overview>${basedir}/juneau-doc/src/main/javadoc/overview.html</overview>
						<stylesheetfile>${basedir}/juneau-doc/src/main/javadoc/javadoc.css</stylesheetfile>
						<use>false</use>
						<additionalparams>-sourcetab 3 -notimestamp --allow-script-in-comments</additionalparams>
						<excludePackageNames>*proto*:*test*:org.apache.juneau.doc.internal</excludePackageNames>
						<linksource>true</linksource>
 						<links>
							<link>https://docs.oracle.com/javase/8/docs/api/</link>
							<link>https://docs.oracle.com/javaee/5/api/</link>
							<link>https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/</link>
							<link>https://hc.apache.org/httpcomponents-core-4.4.x/current/httpcore/apidocs/</link>
						</links>
						<docfilessubdirs>true</docfilessubdirs>
						<javadocDirectory>${basedir}/juneau-doc/src/main/javadoc</javadocDirectory>
						<javadocExecutable>${javadoc.executable}</javadocExecutable>
						<taglets>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.DelTag</tagletClass>
							</taglet>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.DocTag</tagletClass>
							</taglet>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.PropertyTag</tagletClass>
							</taglet>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.FragmentTag</tagletClass>
							</taglet>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.SourceTag</tagletClass>
							</taglet>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.ReviewTag</tagletClass>
							</taglet>
							<taglet>
								<tagletClass>org.apache.juneau.doc.internal.ReviewedTag</tagletClass>
							</taglet>
						</taglets>
						<tagletpath>${basedir}/juneau-doc/juneau-doc.jar</tagletpath>
					</configuration>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
						<execution>
							<id>aggregate</id>
							<phase>site</phase>
							<goals>
								<goal>aggregate</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
						<compilerArgument>-parameters</compilerArgument>
						<testCompilerArgument>-parameters</testCompilerArgument>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-remote-resources-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>process</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>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.5</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>2.18</version>
				<configuration>
					<aggregate>true</aggregate>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.2</version>
				<configuration>
					<excludes>
						<exclude>**/doc/**/*</exclude>
						<exclude>**/examples/**/*</exclude>
					</excludes>
					<fileSets>
						<fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
							<directory>${project.parent.build.directory}</directory>
							<includes>
								<include>*.exec</include>
							</includes>
						</fileSet>
					</fileSets>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<url>https://juneau.apache.org/</url>
	<!-- 
	Inherited from parent pom 
	<organization>
		<name>The Apache Software Foundation</name>
		<url>https://www.apache.org/</url>
	</organization>
	-->
	<inceptionYear>2016</inceptionYear>

	<scm>
		<connection>scm:git:https://gitbox.apache.org/repos/asf/juneau.git</connection>
		<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/juneau.git</developerConnection>
		<url>https://github.com/apache/juneau</url>
		<tag>juneau-9.0.0-RC2</tag>
	</scm>
	<issueManagement>
		<system>Jira</system>
		<url>https://issues.apache.org/jira/browse/JUNEAU</url>
	</issueManagement>
	<mailingLists>
		<mailingList>
			<name>Apache Juneau Developers</name>
			<post>dev@juneau.apache.org</post>
			<subscribe>list-subscribe@juneau.apache.org</subscribe>
			<unsubscribe>list-unsubscribe@juneau.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?dev@juneau.apache.org</archive>
		</mailingList>
	</mailingLists>
	<developers>
		<developer>
			<id>johnadament</id>
			<name>John D. Ament</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>sblackmon</id>
			<name>Steve Blackmon</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>clr</id>
			<name>Craig L Russell</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>stain</id>
			<name>Stian Soiland-Reyes</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>jochen</id>
			<name>Jochen Wiedmann</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>jamesbognar</id>
			<name>James Bognar</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>dmg</id>
			<name>David M Goddard</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>phaumer</id>
			<name>Peter Haumer</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>yidonguk</id>
			<name>Raphi D Lee</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>shalithasuranga</id>
			<name>Shalitha Suranga</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>marcelosouzav</id>
			<name>Marcelo Vieira</name>
			<roles><role>PMC</role></roles>
		</developer>
		<developer>
			<id>akayeshmantha</id>
			<name>Ayeshmantha Perera</name>
			<roles><role>PMC</role></roles>
		</developer>
	</developers>
</project>
