<?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.uima</groupId>
		<artifactId>parent-pom</artifactId>
		<version>12</version>
		<relativePath />
	</parent>

	<artifactId>uima-ducc-parent</artifactId>
	<version>3.0.0</version>
        <name>${uima.ducc} ${project.artifactId}</name>
	<packaging>pom</packaging>
	<!-- Add project inception year. This is used by javadoc plugin   -->
	<!-- also used when generating NOTICE file for DUCC's jars -->
    <inceptionYear>2012</inceptionYear>
    
	<!-- Special inheritance note even though the <scm> element that follows 
		is exactly the same as those in super poms, it cannot be inherited because 
		there is some special code that computes the connection elements from the 
		chain of parent poms, if this is omitted. Keeping this a bit factored allows 
		cutting/pasting the <scm> element, and just changing the following two properties -->
	<scm>
		<connection>
      scm:svn:http://svn.apache.org/repos/asf/uima/uima-ducc/tags/uima-ducc-3.0.0/uima-ducc-parent
    </connection>
		<developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/uima/uima-ducc/tags/uima-ducc-3.0.0/uima-ducc-parent
    </developerConnection>
		<url>
      http://svn.apache.org/viewvc/uima/uima-ducc/tags/uima-ducc-3.0.0/uima-ducc-parent
    </url>
	</scm>

	<!-- The repositories section is duplicated from the parent pom one, and 
		adds the Apache Snapshot Nexus repository where UIMA snapshots are deployed. 
		This is needed if for instance, a project depends on some new SNAPSHOT level 
		of a build tool, where the users hasn't checked out the build tooling. This 
		allows maven to find the snapshots when looking for the parent of this pom -->
	<repositories>
		<repository>
			<id>eclipsePlugins</id>
			<name>Eclipse components</name>
			<layout>default</layout>
			<url>http://repo1.maven.org/eclipse</url>

			<releases>
				<updatePolicy>never</updatePolicy>
				<checksumPolicy>fail</checksumPolicy>
			</releases>

			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>

		<!-- modify central repository access: Turn on checksum checking -->
		<repository>
			<id>central</id>
			<name>Maven Repository Switchboard</name>
			<layout>default</layout>
			<url>http://repo1.maven.org/maven2</url>

			<releases>
				<enabled>true</enabled>
				<checksumPolicy>fail</checksumPolicy>
				<updatePolicy>never</updatePolicy>
			</releases>

			<snapshots>
				<enabled>false</enabled>
			</snapshots>

		</repository>

		<!-- this is needed if this pom refers to a snapshot of the parent -->
		<repository>
			<id>apache.snapshots</id>
			<name>Apache Snapshot Repository</name>
			<url>http://repository.apache.org/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
		</repository>

	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>apache.snapshots.plugins</id>
			<name>Apache Snapshot Repository - Maven plugins</name>
			<url>http://repository.apache.org/snapshots</url>
			<layout>default</layout>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<checksumPolicy>fail</checksumPolicy>
				<updatePolicy>never</updatePolicy>
			</snapshots>
		</pluginRepository>

	</pluginRepositories>

	<!-- Declare version numbers for all dependencies -->
	<properties>
	    <uima.ducc>Apache UIMA DUCC:</uima.ducc>
		<!-- Ducc jira version -->
		<!--jiraVersion>12343013</jiraVersion-->
		<jiraVersion>3.0.0-Ducc</jiraVersion>
		
		<compat.level>BACKWARD_COMPATIBLE_USER</compat.level>
        <compat.previous.version>2.2.2</compat.previous.version>
        <api_check_oldVersion>2.2.2</api_check_oldVersion>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.surefire.argLine />
        <maven.surefire.java9 />

        <jacoco.argLine />
        <java.version>8</java.version>
        
		<maven.build.timestamp.format>MM-dd-yyyy HH:mm</maven.build.timestamp.format>
		<ducc.version>${project.version}</ducc.version>
		<org.springframework.version>4.3.9.RELEASE</org.springframework.version>
		<org.apache.activemq.version>5.15.2</org.apache.activemq.version>
		<org.apache.camel.version>2.19.3</org.apache.camel.version>
		<org.apache.uima.version>2.10.2</org.apache.uima.version> <!--Same as uima-as-->
		<org.apache.uima.as.version>2.10.2</org.apache.uima.as.version>
		<com.google.guava.version>18.0</com.google.guava.version>        <!-- updated from r09 for cassandra -->
		<commons.cli.version>1.2</commons.cli.version>
		<joda.time.version>2.4</joda.time.version>
		<jsch.version>0.1.29</jsch.version>
		<commons.codec.version>1.9</commons.codec.version>
		<commons.collections.version>3.2.2</commons.collections.version>
		<commons.lang.version>3.1</commons.lang.version>
		<commons.math.version>3.2</commons.math.version>
		<log4j.version>1.2.17</log4j.version>
		<slf4j.version>1.7.25</slf4j.version>                <!-- updated from 1.6.4 for cassandra -->
		<xmlbeans.version>2.5.0</xmlbeans.version>
		<junit.version>4.8.2</junit.version>
		<servlet.api.version>2.5</servlet.api.version>
		<commons.management.version>1.0</commons.management.version>
		<commons.pool.version>2.4.2</commons.pool.version>
		<geronimo.servlet-spec.version>1.0</geronimo.servlet-spec.version>
		<xpp3.version>1.1.4c</xpp3.version>
		<xstream.version>1.4.10</xstream.version>   
		<xmlpull.version>1.1.3.1</xmlpull.version>
		<mina.core.version>1.1.7</mina.core.version>
		<aopalliance.version>1.0</aopalliance.version>
		<google.gson.version>2.2.2</google.gson.version>
		<cglib.version>2.2.0</cglib.version>
		<libpam.version>1.7</libpam.version>
		<jna.version>4.2.2</jna.version>
		<datatables.version>1.9.1</datatables.version>
		<jetty.version>9.4.14.v20181114</jetty.version>
		<orbit-org-apache-jasper.version>2.1.0.v201110031002</orbit-org-apache-jasper.version>
		<servlet-api.version>2.5</servlet-api.version>

        <!-- These are all cassandra client -->
        <cassandra.driver.version>3.6.0</cassandra.driver.version>
        <netty.version>4.0.44.Final</netty.version>
        <hdr.version>2.1.4</hdr.version>
        <metrics.version>3.0.2</metrics.version>
        <snappy.version>1.1.1.7</snappy.version>
        <lz4.version>1.3.0</lz4.version>
        <hdr.version>2.1.4</hdr.version>
        <!-- end of cassandra client -->
        <cassandra.server.version>3.11.3</cassandra.server.version>
        <apache.httpcomponents.httpclient.version>4.3.5</apache.httpcomponents.httpclient.version>
		<http.commons.client.version>4.5.3</http.commons.client.version>
		<http.commons.client-cache.version>4.3.5</http.commons.client-cache.version>
		<http.commons.core.version>4.4.6</http.commons.core.version>
        
        <!-- Needed for NOTICE file packaged in each jar under META-INF -->
        <projectTimeSpan>2012</projectTimeSpan>
        
        <!-- Needed for NOTICE file packaged in each jar under META-INF -->
		<uimaASNoticeText>
Portions of UIMA-AS were originally developed by
International Business Machines Corporation and are
licensed to the Apache Software Foundation under the
"Software Grant License Agreement", informally known as the 
"IBM UIMA-EE License Agreement".
Copyright (c) 2007, 2008 IBM Corporation
       </uimaASNoticeText>

        <!-- Needed for NOTICE file packaged in each jar under META-INF -->
       <uimaDUCCNoticeText>
Portions of UIMA-DUCC were originally developed by
International Business Machines Corporation and are
licensed to the Apache Software Foundation under the
"Software Grant License Agreement", informally known as the 
"IBM UIMA-DUCC License Agreement".
Copyright (c) 2012 IBM Corporation
      </uimaDUCCNoticeText>
      
        <!-- Needed for NOTICE file packaged in each jar under META-INF -->
		<postNoticeText>
${ibmNoticeText}

${uimaASNoticeText}

${uimaDUCCNoticeText}

		</postNoticeText>		

	</properties>

	<!-- dependencyManagement is a declaration section naming each artifact 
		and version the ducc components depend on. -->
	<dependencyManagement>
		<dependencies>

            <dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-server</artifactId>
				<version>${jetty.version}</version>
			</dependency>
			
		    <dependency>
              <groupId>xpp3</groupId>
              <artifactId>xpp3</artifactId>
              <version>${xpp3.version}</version>
            </dependency>
            
            <dependency>
              <groupId>org.apache.httpcomponents</groupId>
              <artifactId>httpclient</artifactId>
              <version>${apache.httpcomponents.httpclient.version}</version>
            </dependency>


            <!--dependency>
              <groupId>org.apache.httpcomponents</groupId>
              <artifactId>httpclient</artifactId>
              <version>${http.commons.client.version}</version>
            </dependency-->
        
            <dependency>
              <groupId>org.apache.httpcomponents</groupId>
              <artifactId>httpclient-cache</artifactId>
              <version>${http.commons.client-cache.version}</version>
            </dependency>
            
            <dependency>
               <groupId>org.apache.httpcomponents</groupId>
               <artifactId>httpcore</artifactId>
               <version>${http.commons.core.version}</version>
             </dependency>

             <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-cli</artifactId>
			    <version>${project.version}</version>
    		 </dependency>

             <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-user</artifactId>
			    <version>${project.version}</version>
    		 </dependency>

            <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-pullservice</artifactId>
			    <version>${project.version}</version>
    		 </dependency>
    		 
		     <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-orchestrator</artifactId>
			    <version>${project.version}</version>
  		     </dependency>

             <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-common</artifactId>
                <version>${project.version}</version>			
		     </dependency>

             <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-container</artifactId>
                <version>${project.version}</version>			
		     </dependency>

             <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-database</artifactId>
                <version>${project.version}</version>			
		     </dependency>

             <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-transport</artifactId>
			    <version>${project.version}</version>
  		    </dependency>

		    <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-workitem-v2</artifactId>
				<version>${project.version}</version>
		    </dependency>
		       
            <dependency>
			    <groupId>org.apache.uima</groupId>
			    <artifactId>uima-ducc-sm</artifactId>
			    <version>${project.version}</version>
  		    </dependency>

			<dependency>
				<groupId>net.java.dev.jna</groupId>
				<artifactId>jna</artifactId>
				<version>${jna.version}</version>
			</dependency>
			
			<dependency>
				<groupId>org.kohsuke</groupId>
				<artifactId>libpam4j</artifactId>
				<version>${libpam.version}</version>
			</dependency>


			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>${google.gson.version}</version>

			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j.version}</version>
			</dependency>



			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlbeans</groupId>
				<artifactId>xmlbeans</artifactId>
				<version>${xmlbeans.version}</version>
			</dependency>

			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>${log4j.version}</version>
			</dependency>

			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>${commons.collections.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-math</artifactId>
				<version>${commons.math.version}</version>
			</dependency>


			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons.lang.version}</version>
			</dependency>

			<dependency>
				<groupId>com.jcraft</groupId>
				<artifactId>jsch</artifactId>
				<version>${jsch.version}</version>
			</dependency>

			<!-- dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> 
				<version>${http.client.version}</version> </dependency -->

			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>${commons.codec.version}</version>
			</dependency>

			<dependency>
				<groupId>commons-cli</groupId>
				<artifactId>commons-cli</artifactId>
				<version>${commons.cli.version}</version>
			</dependency>

			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${com.google.guava.version}</version>
			</dependency>

			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda.time.version}</version>
			</dependency>

            <!-- cassandra RT -->
            <dependency>
              <groupId>io.netty</groupId>
              <artifactId>netty-handler</artifactId>
              <version>${netty.version}</version>
            </dependency>

            <dependency>
              <groupId>com.codahale.metrics</groupId>
              <artifactId>metrics-core</artifactId>
              <version>${metrics.version}</version>
            </dependency>
            
            <dependency>
	          <groupId>org.xerial.snappy</groupId>
	          <artifactId>snappy-java</artifactId>
              <version>${snappy.version}</version>
            </dependency>
            
            <dependency>
              <groupId>net.jpountz.lz4</groupId>
              <artifactId>lz4</artifactId>
              <version>${lz4.version}</version>
            </dependency>
            
            <dependency>
              <groupId>org.hdrhistogram</groupId>
              <artifactId>HdrHistogram</artifactId>
              <version>${hdr.version}</version>
            </dependency>

            <!-- end of cassandra RT -->

			<dependency>
				<groupId>org.apache.uima</groupId>
				<artifactId>uimaj-core</artifactId>
				<version>${org.apache.uima.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.uima</groupId>
				<artifactId>uimaj-examples</artifactId>
				<version>${org.apache.uima.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.uima</groupId>
				<artifactId>uimaj-as-core</artifactId>
				<version>${org.apache.uima.as.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.uima</groupId>
				<artifactId>uimaj-as-activemq</artifactId>
				<version>${org.apache.uima.as.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.uima</groupId>
				<artifactId>uimaj-as-jms</artifactId>
				<version>${org.apache.uima.as.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-server</artifactId>
				<version>${org.apache.activemq.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-client</artifactId>
				<version>${org.apache.activemq.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-web</artifactId>
				<version>${org.apache.activemq.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-camel</artifactId>
				<version>${org.apache.activemq.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-pool</artifactId>
				<version>${org.apache.activemq.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.activemq</groupId>
				<artifactId>activemq-jaas</artifactId>
				<version>${org.apache.activemq.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-core</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-context</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-http</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-http4</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

            <dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-http-common</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>
			
			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-jetty</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-jetty9</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-jms</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-mina</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-servlet</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-test-spring</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-jetty-common</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-test</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-spring</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-stream</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-xmlbeans</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.camel</groupId>
				<artifactId>camel-xstream</artifactId>
				<version>${org.apache.camel.version}</version>
			</dependency>

            <dependency>
				<groupId>xmlpull</groupId>
				<artifactId>xmlpull</artifactId>
				<version>${xmlpull.version}</version>
			</dependency>
			
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-pool2</artifactId>
				<version>${commons.pool.version}</version>
			</dependency>



			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-servlet_3.0_spec</artifactId>
				<!--artifactId>geronimo-servlet_2.5_spec</artifactId-->
				<version>${geronimo.servlet-spec.version}</version>
			</dependency>

			<dependency>
				<groupId>com.thoughtworks.xstream</groupId>
				<artifactId>xstream</artifactId>
				<version>${xstream.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.mina</groupId>
				<artifactId>mina-core</artifactId>
				<version>${mina.core.version}</version>
			</dependency>

			<!-- dependency>
				<groupId>aopalliance</groupId>
				<artifactId>aopalliance</artifactId>
				<version>${aopalliance.version}</version>
			</dependency -->

			<!--dependency>
				<groupId>commons-httpclient</groupId>
				<artifactId>commons-httpclient</artifactId>
				<version>${commons.httpclient.version}</version>
			</dependency -->

			<dependency>
			  <groupId>org.springframework</groupId>
			  <artifactId>spring-core</artifactId>
			  <version>${org.springframework.version}</version>
			</dependency>
		
		</dependencies>
	</dependencyManagement>

	<!-- runtime dependencies that must be included in the build -->

	<dependencies>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-pool2</artifactId>
			</dependency>

        <dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-server</artifactId>
		</dependency>
			
        <dependency>
           <groupId>xpp3</groupId>
           <artifactId>xpp3</artifactId>
        </dependency>

        <dependency>
           <groupId>org.apache.httpcomponents</groupId>
           <artifactId>httpclient</artifactId>
           <scope>runtime</scope>
        </dependency>
        
        <dependency>
           <groupId>xmlpull</groupId>
           <artifactId>xmlpull</artifactId>
           <scope>runtime</scope>
        </dependency>
        
        <dependency>
           <groupId>org.apache.httpcomponents</groupId>
           <artifactId>httpclient-cache</artifactId>
           <scope>runtime</scope>
        </dependency>
        
        <dependency>
           <groupId>org.apache.httpcomponents</groupId>
           <artifactId>httpcore</artifactId>
        </dependency>


		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-context</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-http4</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-http</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-http-common</artifactId>
		</dependency>


			<dependency>
				<groupId>org.apache.camel</groupId>
			<artifactId>camel-jetty-common</artifactId>
			<scope>runtime</scope>
		</dependency>


		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-mina</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-xmlbeans</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.mina</groupId>
			<artifactId>mina-core</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!-- the next 4 may not ne needed -->
		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-servlet</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-test-spring</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-test</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.camel</groupId>
			<artifactId>camel-stream</artifactId>
			<scope>runtime</scope>
		</dependency>

	</dependencies>

	<build>
		<finalName>${project.artifactId}-${project.version}</finalName>

		<!-- define common plugins that are shared by every pom -->
		<plugins>
		
		<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.10.4</version>
          <configuration>

            <source>${maven.compiler.source}</source>
            <javadocVersion>${maven.compiler.source}</javadocVersion> <!-- https://issues.apache.org/jira/browse/UIMA-5369 -->
          </configuration>
          <executions>
            <execution>
              <id>attach-javadocs</id>
              <configuration>
                <source>${maven.compiler.source}</source>
                <additionalparam>${javadoc.opts}</additionalparam>
              </configuration>
            </execution>
            <execution>
              <id>default-cli</id>  <!-- Jenkins runs this apparently 3/2015 -->
              <configuration>
                <source>${maven.compiler.source}</source>
              </configuration>
            </execution>
          </executions>
        </plugin>
		
		  <!-- Get SVN revision number and include in the manifest.
		       Disable the check for local changes and the svn update -->
		  <plugin>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>buildnumber-maven-plugin</artifactId>
			<executions>
			  <execution>
				<phase>validate</phase>
				<goals>
				  <goal>create</goal>
				</goals>
			  </execution>
			</executions>
			<configuration>
			  <doCheck>false</doCheck>
			  <doUpdate>false</doUpdate>
			</configuration>
		  </plugin>


			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<!-- Each jar produced should have metadata attached to a Manifest -->
			<!--plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>false</addClasspath>
						</manifest>
						<manifestEntries>
							<Ducc-Version>${project.version}</Ducc-Version>
							<Ducc-OS-Id>${os.name} ${os.arch} ${os.version}</Ducc-OS-Id>
							<Ducc-Bassedir>${basedir}</Ducc-Bassedir>
							<Ducc-Java-Vendor>${java.vendor}</Ducc-Java-Vendor>
							<Project-Title>Apache UIMA DUCC</Project-Title>
							<SCM-Revision>${buildNumber}</SCM-Revision>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin-->
		</plugins>

	</build>



	<profiles>
        <profile>
           <id>doclint-java8-disable</id>
           <activation>
              <jdk>[1.8,)</jdk>
           </activation>
           <properties>
              <javadoc.opts>-Xdoclint:none</javadoc.opts>
           </properties>
        </profile>
		<!--profile>
                   currently disabled. It packages java source files but doesnt package xml and other resource files when building
                   causing runtime problems.  
			<id>bundle-source-code</id>
			<build>
                            <resources>
                               <resource>
                                   <directory>src/main/java</directory>
                                   <includes>
                                         <include>**/*.java</include>
                                    </includes>
                               </resource>
                                <resource>
                                   <directory>src</directory>
                                   <includes>
                                         <include>**/*.xml</include>
                                    </includes>
                               </resource>
                            </resources>
	                </build>
		</profile -->

		<profile>
			<id>apache-release</id>
			<build>
				<plugins>

					<!-- run Release Audit Tool (RAT) on src and bin distrs -->
					<plugin>
						<groupId>org.apache.rat</groupId>
						<artifactId>apache-rat-plugin</artifactId>
						<executions>
							<execution>

								<id>default-cli</id>
								<configuration>

									<excludes combine.children="append">
										<!-- workaround https://issues.apache.org/jira/browse/RAT-97 -->
										<exclude>**/.settings/*</exclude>
										<exclude>**/keystore</exclude>
										<exclude>uima-ducc-agent/**</exclude>
										<exclude>uima-ducc-cli/**</exclude>
										<exclude>uima-ducc-common/**</exclude>
										<exclude>uima-ducc-duccdocs/**</exclude>
										<exclude>**/*.dict</exclude>
										<exclude>**/*.log</exclude>
										<exclude>.pydevproject</exclude>
										<exclude>**/*.out</exclude>
										<exclude>**/*.png</exclude>
										<exclude>**/*.jpg</exclude>
										<exclude>**/*.yaml</exclude>
										<exclude>**/crontab.txt</exclude>
										<exclude>**/*.tex</exclude>
										<exclude>**/Makefile</exclude>
										<exclude>uima-ducc-spawn/src/Makefile</exclude>
										<exclude>uima-ducc-examples/**</exclude>
										<exclude>uima-ducc-jd/**</exclude>
										<exclude>uima-ducc-orchestrator/**</exclude>
										<exclude>**/src/test/resources/**/*</exclude>
										<exclude>uima-ducc-parent/**</exclude>
										<exclude>uima-ducc-pm/**</exclude>
										<exclude>uima-ducc-rm/**</exclude>
										<exclude>uima-ducc-sm/**</exclude>
										<exclude>uima-ducc-spawn/**</exclude>
										<exclude>uima-ducc-transport/**</exclude>
										<exclude>uima-ducc-database/**</exclude>
										<exclude>uima-ducc-web/**</exclude>
										<exclude>uima-ducc-user/**</exclude>
										<exclude>uima-ducc-container/**</exclude>
										<exclude>**/src/main/webapp/root/opensources/**/*</exclude>
										<exclude>**/src/main/webapp/etc/**</exclude>
										<exclude>**/src/main/issuesFixed/**/*</exclude>
										<exclude>issuesFixed/jira-report.html</exclude>
									</excludes>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

	</profiles>



</project>
