<?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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.apache.taverna</groupId>
		<artifactId>apache-taverna-parent</artifactId>
		<version>3-incubating</version>
	</parent>
	<groupId>org.apache.taverna.server</groupId>
	<artifactId>apache-taverna-server</artifactId>
	<version>3.2.0-incubating-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>Apache Taverna Server</name>
	<description>Apache Taverna Server is a service that provides execution of
Taverna Workflows, provided they do not access the user interface while
executing.</description>

	<properties>
		<!-- Old-style .class files for compatibility with Spring 3
		     https://stackoverflow.com/a/22527057
                -->
		<maven.compiler.source>1.7</maven.compiler.source>
		<maven.compiler.target>1.7</maven.compiler.target>
		<!-- Set these to control what is used for signing code. -->
		<signing.keystore>${project.parent.basedir}/src/main/signing/signing.jks</signing.keystore>
		<signing.user>taverna</signing.user>
		<signing.password>taverna</signing.password>

		<scmBrowseRoot>https://github.com/apache/incubator-taverna-server/tree/master</scmBrowseRoot>

		<!-- versions of Taverna dependencies -->
		<taverna.language.version>0.15.1-incubating</taverna.language.version>
		<taverna.osgi.version>0.2.1-incubating</taverna.osgi.version>
		<taverna.engine.version>3.1.0-incubating</taverna.engine.version>
		<taverna.commandline.group>org.apache.taverna.commandline</taverna.commandline.group>
		<taverna.commandline.artifact>taverna-commandline-product</taverna.commandline.artifact>
		<taverna.commandline.version>3.1.0-incubating</taverna.commandline.version>
		<taverna.commandline.classifier>release</taverna.commandline.classifier>
	</properties>

	<prerequisites>
		<maven>2.2</maven>
	</prerequisites>
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.9</version>
					<configuration>
						<projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
						<wtpmanifest>true</wtpmanifest>
						<wtpapplicationxml>true</wtpapplicationxml>
						<wtpversion>2.0</wtpversion>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jarsigner-plugin</artifactId>
					<version>1.2</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.jvnet.ws.wadl</groupId>
										<artifactId>wadl-client-plugin</artifactId>
										<versionRange>[1.1.6,)</versionRange>
										<goals>
											<goal>generate</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>properties-maven-plugin</artifactId>
										<versionRange>[1.0-alpha-2,)</versionRange>
										<goals>
											<goal>set-system-properties</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<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 />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-dependency-plugin</artifactId>
										<versionRange>[2.0,)</versionRange>
										<goals>
											<goal>copy-dependencies</goal>
											<goal>unpack</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.datanucleus</groupId>
										<artifactId>datanucleus-maven-plugin</artifactId>
										<versionRange>[5,)</versionRange>
										<goals>
											<goal>enhance</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.datanucleus</groupId>
										<artifactId>datanucleus-maven-plugin</artifactId>
										<versionRange>[5,)</versionRange>
										<goals>
											<goal>schema-create</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>pl.project13.maven</groupId>
										<artifactId>git-commit-id-plugin</artifactId>
										<versionRange>[2.1.4,)</versionRange>
										<goals>
											<goal>revision</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>net.alchim31.maven</groupId>
										<artifactId>yuicompressor-maven-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>compress</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
				<plugin>
						<groupId>org.jvnet.jaxb2.maven2</groupId>
						<artifactId>maven-jaxb2-plugin</artifactId>
						<configuration>
								<enableIntrospection>true</enableIntrospection>
								<specVersion>2.2</specVersion>
								<schemaDirectory>src/main/xsd</schemaDirectory>
						</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<configuration>
					<excludes combine.children="append">
						<!-- These refer to files under the Apache license, but which have no comment syntax. -->
						<exclude>CITATION</exclude>
						<exclude>**/META-INF/MANIFEST.MF</exclude>
						<exclude>**/WEB-INF/lib/*.vtmpl</exclude>
						<exclude>**/org.apache.cxf.Logger</exclude>

						<!-- W3C Software License (see LICENSE) -->
						<exclude>**/xmlds.xsd</exclude>

						<!-- Cause problems with RAT; need replacing -->
						<exclude>**/jquery*.js</exclude>
						<exclude>**/jquery*.css</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
			<version>1.3.7</version>
		</dependency>
	</dependencies>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>${commons.codec.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>${commons.collections.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-dbcp</groupId>
				<artifactId>commons-dbcp</artifactId>
				<version>${commons.dbcp.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons.io.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>${commons.lang.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
				<version>${commons.logging.version}</version>
			</dependency>
			<dependency>
				<groupId>jaxen</groupId>
				<artifactId>jaxen</artifactId>
				<version>${jaxen.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.mime-util</groupId>
				<artifactId>mime-util</artifactId>
				<!-- TODO: Update to https://mvnrepository.com/artifact/eu.medsea.mimeutil/mime-util/2.1.3 -->
				<version>1.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${apache.httpclient.version}</version>
			</dependency>
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>${jaxb.version}</version>
				<type>jar</type>
				<optional>true</optional>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.0.0</version>
				<configuration>
					<show>protected</show>
					<nohelp>true</nohelp>
					<detectLinks>true</detectLinks>
					<stylesheet>maven</stylesheet>
					<!-- The version package is purely implementation convenience. -->
					<excludePackageNames>*.version:*.mocks</excludePackageNames>
					<groups>
						<group>
							<title>Server Core WebService</title>
							<packages>org.apache.taverna.server.master:org.apache.taverna.server.master.common:org.apache.taverna.server.master.facade:org.apache.taverna.server.master.rest:org.apache.taverna.server.master.rest.handler:org.apache.taverna.server.master.soap</packages>
						</group>
						<group>
							<title>Default Values and Administration</title>
							<packages>org.apache.taverna.server.master.admin:org.apache.taverna.server.master.defaults</packages>
						</group>
						<group>
							<title>Server SPI</title>
							<packages>org.apache.taverna.server.master.exceptions:org.apache.taverna.server.master.factories:org.apache.taverna.server.master.interfaces</packages>
						</group>
						<group>
							<title>Notification and Accounting</title>
							<packages>org.apache.taverna.server.master.interaction:org.apache.taverna.server.master.notification:org.apache.taverna.server.master.notification.atom:org.apache.taverna.server.master.usage</packages>
						</group>
						<group>
							<title>Server Coupling to RMI Back End</title>
							<packages>org.apache.taverna.server.master.identity:org.apache.taverna.server.master.localworker:org.apache.taverna.server.master.worker</packages>
						</group>
						<group>
							<title>Server RMI Interface to Back End</title>
							<packages>org.apache.taverna.server.localworker.remote:org.apache.taverna.server.localworker.server</packages>
						</group>
						<group>
							<title>Externally-Defined Document Formats</title>
							<packages>org.apache.taverna.server.port_description:org.apache.taverna.server.usagerecord:org.apache.taverna.server.usagerecord.xml.urf:org.apache.taverna.server.usagerecord.xml.dsig</packages>
						</group>
						<group>
							<title>Server Back End Factory Coupling to Command Line Executor</title>
							<packages>org.apache.taverna.server.localworker.impl:org.apache.taverna.server.unixforker:org.apache.taverna.server.winforker</packages>
						</group>
						<group>
							<title>Utilities</title>
							<packages>org.apache.taverna.server.master.utils:org.apache.taverna.server.localworker.impl.utils</packages>
						</group>
					</groups>
					<detectJavaApiLink>true</detectJavaApiLink>
					<aggregate>true</aggregate>
					<quiet>true</quiet>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-changelog-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<issueLinkUrl>https://issues.apache.org/jira/browse/%ISSUE%</issueLinkUrl>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.9</version>
			</plugin>
		</plugins>
	</reporting>

	<profiles>
		<profile>
			<id>site</id>
			<activation>
				<file>
					<exists>${basedir}</exists>
				</file>
			</activation>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-site-plugin</artifactId>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
		<profile>
			<id>full-site</id>
			<reporting>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<show>private</show>
							<nohelp>true</nohelp>
							<detectLinks>true</detectLinks>
							<linksource>true</linksource>
							<stylesheet>maven</stylesheet>
							<groups>
								<group>
									<title>Server Core WebService</title>
									<packages>org.apache.taverna.server.master:org.apache.taverna.server.master.common:org.apache.taverna.server.master.facade:org.apache.taverna.server.master.rest:org.apache.taverna.server.master.rest.handler:org.apache.taverna.server.master.soap</packages>
								</group>
								<group>
									<title>Default Values and Administration</title>
									<packages>org.apache.taverna.server.master.admin:org.apache.taverna.server.master.defaults</packages>
								</group>
								<group>
									<title>Server SPI</title>
									<packages>org.apache.taverna.server.master.exceptions:org.apache.taverna.server.master.factories:org.apache.taverna.server.master.interfaces</packages>
								</group>
								<group>
									<title>Notification and Accounting</title>
									<packages>org.apache.taverna.server.master.interaction:org.apache.taverna.server.master.notification:org.apache.taverna.server.master.notification.atom:org.apache.taverna.server.master.usage</packages>
								</group>
								<group>
									<title>Server Coupling to RMI Back End</title>
									<packages>org.apache.taverna.server.master.identity:org.apache.taverna.server.master.localworker:org.apache.taverna.server.master.worker</packages>
								</group>
								<group>
									<title>Server RMI Interface to Back End</title>
									<packages>org.apache.taverna.server.localworker.remote:org.apache.taverna.server.localworker.server</packages>
								</group>
								<group>
									<title>Externally-Defined Document Formats</title>
									<packages>org.apache.taverna.server.port_description:org.apache.taverna.server.usagerecord:org.apache.taverna.server.usagerecord.xml.urf:org.apache.taverna.server.usagerecord.xml.dsig</packages>
								</group>
								<group>
									<title>Server Back End Factory Coupling to Command Line Executor</title>
									<packages>org.apache.taverna.server.localworker.impl:org.apache.taverna.server.unixforker:org.apache.taverna.server.winforker</packages>
								</group>
								<group>
									<title>Utilities</title>
									<packages>org.apache.taverna.server.master.utils:org.apache.taverna.server.localworker.impl.utils</packages>
								</group>
							</groups>
							<detectJavaApiLink>true</detectJavaApiLink>
							<aggregate>true</aggregate>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-checkstyle-plugin</artifactId>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-pmd-plugin</artifactId>
						<version>3.8</version>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-report-plugin</artifactId>
						<version>2.20.1</version>
					</plugin>
				</plugins>
			</reporting>
		</profile>
		<profile>
			<id>signed</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-jarsigner-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>sign</goal>
								</goals>
								<id>sign</id>
								<phase>package</phase>
								<configuration>
									<keystore>${signing.keystore}</keystore>
									<alias>${signing.user}</alias>
									<storepass>${signing.password}</storepass>
									<keypass>${signing.password}</keypass>
									<excludeClassifiers>
										<param>tests</param>
										<param>test-sources</param>
									</excludeClassifiers>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<modules>
		<module>taverna-server-webapp</module>
		<module>taverna-server-runinterface</module>
		<module>taverna-server-worker</module>
		<module>taverna-server-unix-forker</module>
		<module>taverna-server-usagerecord</module>
		<module>taverna-server-port-description</module>
		<module>taverna-server-rmidaemon</module>
		<module>taverna-server-client</module>
		<module>taverna-server-distribution</module>
	</modules>

	<scm>
		<connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-taverna-server.git</connection>
		<developerConnection>scm:git:git@github.com:apache/incubator-taverna-server.git</developerConnection>
		<url>https://github.com/apache/incubator-taverna-server</url>
		<tag>trunk</tag>
	</scm>

	<repositories>
		<repository>
			<id>apache.snapshots</id>
			<name>Apache Snapshot Repository</name>
			<url>https://repository.apache.org/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
		</repository>
		<repository>
			<!-- This repository is critical for the build -->
			<id>apache.releases</id>
			<name>Apache Release Repository</name>
			<url>https://repository.apache.org/content/repositories/releases</url>
		</repository>
	</repositories>
</project>
