<?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.    
-->
<!-- This pom serves as the release top level project for the multi-module 
	project UIMA-DUCC -->

<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>uima-ducc-parent</artifactId>
		<version>2.2.0</version>
		<relativePath>uima-ducc-parent/pom.xml</relativePath>
	</parent>

	<artifactId>uima-ducc</artifactId>
	<packaging>pom</packaging>
	<name>Apache UIMA-DUCC: ${project.artifactId}</name>
	<description>The top project for UIMA-DUCC</description>
	<url>${uimaWebsiteUrl}</url>


	<!-- 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-2.2.0
    </connection>
		<developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/uima/uima-ducc/tags/uima-ducc-2.2.0
    </developerConnection>
		<url>
      http://svn.apache.org/viewvc/uima/uima-ducc/tags/uima-ducc-2.2.0
    </url>
	</scm>

	<!-- override pom setting in the build project. JIRA 5.1 needs different 
		URL -->
	<issueManagement>
		<system>Jira</system>
		<url>https://issues.apache.org/jira/browse/UIMA</url>
	</issueManagement>

	<!-- name the artifacts (zip,tar) -->
	<properties>
		<assemblyFinalName>uima-ducc-${project.version}</assemblyFinalName>
	</properties>

	<!-- declare dependency on each DUCC project -->
	<dependencyManagement>
	   <dependencies>
		<!--dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-as</artifactId>
			<version>${org.apache.uima.as.version}</version>
                        <type>tar.gz</type>
		</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-transport</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-agent</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-pm</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-rm</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-sm</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-cli</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-web</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-examples</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-user</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-container</artifactId>
			<version>${project.version}</version>
		</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>

		<!--dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-as</artifactId>
                        <type>tar.gz</type>
		</dependency -->


		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-common</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-transport</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-agent</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-pm</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-rm</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-sm</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-orchestrator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-cli</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-examples</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-database</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-user</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.uima</groupId>
			<artifactId>uima-ducc-container</artifactId>
		</dependency>
	</dependencies>
	<build>
		<resources />



		<plugins>

			<!-- This java doc config is for building the ones distributed with the 
				bin packaging, and also posted on our website. -->
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>javadocs-distr</id>
						<phase>prepare-package</phase> <!-- must be before assembly -->
						<!--phase>deploy</phase -->   <!-- comment above and uncomment to disable javadocs, for testing/experimentation, 
							with assembly:assembly -->
						<goals>
							<goal>javadoc</goal>
						</goals>
						<configuration>
							<quiet>true</quiet>
							<groups>
								<group>
									<title>Packages</title>
									<packages>*</packages>
								</group>
							</groups>

							<!--verbose>true</verbose -->
							<sourcepath>
								uima-ducc-common/src/main/java:uima-ducc-cli/src/main/java
							</sourcepath>

                            <show>
                              package
                            </show>

							<subpackages>org.apache.uima</subpackages>

							<excludePackageNames>
                              org.apache.uima.ducc.cli.*:org.apache.uima.ducc.api.*:org.apache.uima.ducc.common.*:org.apache.uima.ducc.transport.*:org.apache.uima.ducc.agent.*:org.apache.uima.ducc.examples.*:org.apache.uima.ducc.orchestrator.*:org.apache.uima.ducc.pm.*:org.apache.uima.ducc.rm.*:org.apache.uima.ducc.sm.*:
                            </excludePackageNames>

							<!-- add a few classes in impl packages that are directly used by 
								user code -->
							<additionalparam>
								${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/IServiceStatistics.java
								${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/DuccAdminEvent.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoad.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQLoadReply.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancy.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminQOccupancyReply.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReconfigure.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminReply.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOff.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmAdminVaryOn.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedClass.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedMachine.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedNodepool.java
                                ${basedir}/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedShare.java

								${basedir}/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceReply.java
								${basedir}/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceDescription.java

								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/AServicePing.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobCancel.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationCancel.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccManagedReservationSubmit.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationCancel.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccReservationSubmit.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceCancel.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IDuccCallback.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IDuccMonitor.java
								${basedir}/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java

							</additionalparam>

							<!-- Link these to the uimaj javadocs on apache.org -->
							<!-- links>
								<link>http://uima.apache.org/d/uimaj-${uimajDependencyVersion}/apidocs</link>
							</links -->
							<doctitle>Apache UIMA DUCC Java SDK ${project.version} User-Level
								API Documentation</doctitle>
							<windowtitle>Apache UIMA DUCC Java SDK ${project.version}
								User-Level API Documentation</windowtitle>
						</configuration>
					</execution>
				</executions>

			</plugin>
		    <!-- Ducc includes the full UIMA-AS binary distribution
                 We get an unzipped version of that and unpack it into
                 target/uima-as -->

            <!--  must come before the unpack -->      
			
            <plugin>
               <groupId>org.apache.uima</groupId>
               <artifactId>uima-build-helper-maven-plugin</artifactId>
               <executions>
               <execution>
                  <id>get-uima-as</id>
                  <phase>prepare-package</phase>
                  <goals><goal>copy-from-apache-dist</goal></goals>
                  <configuration>
                     <version>${org.apache.uima.as.version}</version>
                     <artifactId>uima-as</artifactId>
                     <type>tar.gz</type>
                  </configuration>
               </execution>
               </executions> 
            </plugin>
			
			<plugin>
			
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>





                    <execution>
                      <!-- use the dependency:unpack goal to unpack the 
                         base binary uima-as distribution -->
                      <id>unpack uima-as Bin</id>
                      <phase>prepare-package</phase>
                      <goals><goal>unpack</goal></goals>
                      <configuration>
                        <overWriteIfNewer>true</overWriteIfNewer>
                        <artifactItems>
                          <artifactItem>
                            <groupId>org.apache.uima</groupId>
                            <artifactId>uima-as</artifactId>
                            <version>${org.apache.uima.as.version}</version>
                            <type>tar.gz</type>
                            <classifier>bin</classifier>
                            <outputDirectory>${project.build.directory}/uima-as</outputDirectory>
                          </artifactItem>
                        </artifactItems>
                      </configuration>
                    </execution>
                    
                    <execution>
                      <!-- use the dependency:unpack goal to unpack the 
                         base binary uima-as distribution -->
                      <id>unpack cassandra Bin</id>
                      <phase>prepare-package</phase>
                      <goals><goal>unpack</goal></goals>
                      <configuration>
                        <overWriteIfNewer>true</overWriteIfNewer>
                        <artifactItems>
                          <artifactItem>
                            <groupId>org.apache.cassandra</groupId>
                            <artifactId>apache-cassandra</artifactId>
                            <version>${cassandra.server.version}</version>
                            <type>tar.gz</type>
                            <classifier>bin</classifier>
                            <outputDirectory>${project.build.directory}/cassandra</outputDirectory>
                          </artifactItem>
                        </artifactItems>
                      </configuration>
                    </execution>
                    
                    
					<execution>
						<!-- use the dependency:unpack goal to unpack the Jetty release -->
						<id>unpack-jetty-distro</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<overWriteIfNewer>true</overWriteIfNewer>
							<artifactItems>
								<artifactItem>
									<groupId>org.eclipse.jetty</groupId>
									<artifactId>jetty-distribution</artifactId>
									<version>${jetty.version}</version>
									<type>zip</type>
									<outputDirectory>${project.build.directory}/jetty</outputDirectory>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>


				</executions>
			</plugin>

			<!--plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.5</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<overwrite>true</overwrite>
							<outputDirectory>target/maven-shared-archive-resources/META-INF</outputDirectory>
							<resources>
								<resource>
									<directory>.</directory>
									<includes>
										<include>LICENSE</include>
										<include>NOTICE</include>
									</includes>


								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin -->

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>package</phase>
        <configuration>
          <tasks>

            <replace dir="${project.build.directory}/uima-as/apache-uima-as-${org.apache.uima.as.version}/bin">
              <include name="**/dd2spring.xsl" />
             <replacefilter token="scope=&quot;singleton&quot;" value="" />
             <replacefilter token="spring-beans.dtd" value="spring-beans-2.0.dtd" />
            </replace>             
 
            <chmod file="${project.build.directory}/uima-as/apache-uima-as-${org.apache.uima.as.version}/bin/dd2spring.xsl" perm="ugo+rx" />
          </tasks>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin> 

			<!-- Override default assemble plug-in to use newer version of assembly 
				plugin Version 2.4 fixes a bug http://jira.codehaus.org/browse/PLXCOMP-176 -->
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<id>default-cli</id>
						<configuration>
							<descriptors>
								<descriptor>do-not-use--mvn-assembly-assembly--instead-use-mvn-install</descriptor>
							</descriptors>
						</configuration>
					</execution>
					<execution>
					    <!-- keep the id of this plugin the same as in the uima-parent's pom.
					         Otherwise, maven will run this plugin and the parents plugin 
					         and will build ducc's tgz twice  -->
						<id>uima-distr</id>
						<phase>integration-test</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<descriptors>
								<descriptor>src/main/assembly/bin.xml</descriptor>
							</descriptors>
							<finalName>uima-ducc-${project.version}</finalName>
							<tarLongFileMode>gnu</tarLongFileMode>
						</configuration>
					</execution>
				</executions>
			</plugin>
            <!-- May need to disable this because of a JIRA bug causing only 100 JIRas to be included.
             -->
			<plugin>
			    <groupId>org.apache.maven.plugins</groupId>
			    <artifactId>maven-changes-plugin</artifactId>
			    <executions>
			    	<execution>
			           <id>default-cli2</id>
				   <configuration>
				      <fixVersionIds>${jiraVersion}</fixVersionIds>
				   </configuration>
				</execution>
			    </executions>
			</plugin>
<!--plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>prepare-package</phase>
        <configuration>
          <tasks>
            <echo>Updating README with Ducc Version: ${project.version}</echo>
            <copy file="${basedir}/README" tofile="${basedir}/target/README" />
            <replace token="@@ducc.version@@" value="${project.version}" file="${basedir}/target/README" />                                 
            <copy file="${basedir}/RELEASE_NOTES.html" tofile="${basedir}/target/RELEASE_NOTES.html" />
            <replace token="@@ducc.version@@" value="${project.version}" file="${basedir}/target/RELEASE_NOTES.html" />                                 
          </tasks>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin -->
		</plugins>
		<!-- /pluginManagement -->
	</build>

	<!-- Include all ducc modules -->
	<modules>
		<module>uima-ducc-parent</module>
		<module>uima-ducc-cli</module>
		<module>uima-ducc-pm</module>
		<module>uima-ducc-rm</module>
		<module>uima-ducc-sm</module>
		<module>uima-ducc-orchestrator</module>
		<module>uima-ducc-common</module>
		<module>uima-ducc-transport</module>
		<module>uima-ducc-agent</module>
		<module>uima-ducc-duccdocs</module>
		<module>uima-ducc-web</module>
		<module>uima-ducc-examples</module>
		<module>uima-ducc-database</module>
		<module>uima-ducc-spawn</module>
		<module>uima-ducc-user</module>
		<!-- Note: uima-ducc-container has a test dependency on uima-ducc-user so must be built after it -->
		<module>uima-ducc-container</module>
	</modules>
</project>

