<?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 is the top-most common UIMA parent pom.
  It contains the project-wide defaults:
  
    Parent is the official common Apache POM
    
    Defines repositories for
      Snapshots - at Apache - used during development, and for docbook olinks 
      Eclipse - where the good poms are
      Central - adds default check-the checksums
      
    PluginManagement defaults:
      Java 1.5 as the base
      Javadoc at 1.5 too
      Jar Manifest entries, including the build-time
      AntRun to pick a later version of ant with support for ant extensions like "if"
      
    Specify plugin levels for non-standard plugins:
      RAT
      eclipse   
    
  It contains one build step to set the build time stamp  
-->

<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>
		<artifactId>apache</artifactId>
		<groupId>org.apache</groupId>
		<version>7</version>
    <relativePath />
	</parent>
  
	<groupId>org.apache.uima</groupId>
	<artifactId>parent-pom-top</artifactId>
  <version>4</version>
	<packaging>pom</packaging>

  <name>UIMA ${project.artifactId}</name>
	<description>UIMA (Unstructured Information Management Architecture). 
    UIMA promotes community development and reuse of annotators 
    that extract metadata from unstructured information (text, audio, video, etc.); 
    it provides for externalized declaration of type systems, 
    component configuration, aggregation, and more, 
    supports scalablity, and provides tooling.</description>
	<url>${uimaWebsiteUrl}</url>
	<inceptionYear>2006</inceptionYear>
 
	<mailingLists>
	  <mailingList>
      <name>UIMA Development List</name>
      <subscribe>dev-subscribe@uima.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@uima.apache.org</unsubscribe>
      <post>mailto:dev@uima.apache.org</post>
      <archive>
        http://mail-archives.apache.org/mod_mbox/uima-dev
      </archive>
      <otherArchives>
        <otherArchive>
          http://dir.gmane.org/gmane.comp.apache.uima.devel
        </otherArchive>
         <otherArchive>       
           http://uima.markmail.org
        </otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>UIMA Users List</name>
      <subscribe>user-subscribe@uima.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@uima.apache.org</unsubscribe>
      <post>mailto:user@uima.apache.org</post>
      <archive>
        http://mail-archives.apache.org/mod_mbox/uima-user
      </archive>
      <otherArchives>
        <otherArchive>
          http://dir.gmane.org/gmane.comp.apache.uima.general
        </otherArchive>
         <otherArchive>       
           http://uima.markmail.org
        </otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>UIMA Commits List</name>
      <subscribe>commits-subscribe@uima.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@uima.apache.org</unsubscribe>
      <post>mailto:commits@uima.apache.org</post>
      <archive>
        http://mail-archives.apache.org/mod_mbox/uima-commits
      </archive>
    </mailingList>
	</mailingLists>

  <prerequisites>
    <!-- 2.2.0 is broken when deploying - checksums invalid -->
    <!-- 2.2.1 doesn't work -->
    <maven>3.0-beta-1</maven>
  </prerequisites>

  <scm>
    <connection>
      scm:svn:http://svn.apache.org/repos/asf/uima/build/tags/parent-pom-top-4
    </connection>
    <developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/uima/build/tags/parent-pom-top-4
    </developerConnection>
    <url>
      http://svn.apache.org/viewvc/uima/build/tags/parent-pom-top-4
    </url>
  </scm>
  
  <issueManagement>
    <system>Jira</system>
    <!-- the form of the url is from http://maven.apache.org/plugins/maven-changes-plugin/usage.html -->
    <!--url>https://issues.apache.org/jira/BrowseProject.jspa?projectId=12310570</url-->
    <url>https://issues.apache.org/jira/browse/UIMA</url>
        
  </issueManagement>
  
  <!--ciManagement>
    <system>Hudson</system>
    <url />
    <notifiers />
  </ciManagement-->
  
  <!-- distribution management - is inherited from Apache pom
       and specifies 
         https://repository.apache.org/service/local/staging/deploy/maven2
       and for snapshots:
         https://repository.apache.org/content/repositories/snapshots -->
  <!-- for children POMs maven automatically adds their artifactId to the URL below
       unless overridden -->
  <distributionManagement>
    <site>
      <id>uima.apache.org</id> <!-- following maven convention -->
      <name>UIMA Website</name>
      <url>${uimaWebsiteDistributionUrl}</url>  <!-- on people.apache.org: /www/uima.apache.org -->
    </site>  
  </distributionManagement>
  
  <properties>
    <uimaWebsiteUrl>http://uima.apache.org</uimaWebsiteUrl>
    <uimaScmRoot>build</uimaScmRoot>
    <uimaScmProject>parent-poms/${project.artifactId}</uimaScmProject>
    <uimaWebsiteDistributionUrl>scp://people.apache.org/www/uima.apache.org/</uimaWebsiteDistributionUrl>
    <maven.build.timestamp.format>yyMMdd_HHmm</maven.build.timestamp.format>
    <buildDateTime>${maven.build.timestamp}</buildDateTime>

    <!-- these properties are for docbook processing.
         They are defined here to avoid circular dependencies between
           parent-pomdocbook   (which depends on uima-docbook-olink) and
           uima-docbook-olink           
     -->     
    <!-- olink databases -->
    <dolArtifactId>uima-docbook-olink</dolArtifactId>
    <dolClassifier>olink</dolClassifier>
    <dolRepo>${settings.localRepository}/org/apache/uima/${dolArtifactId}/1-SNAPSHOT</dolRepo>
    <dolZip>${dolArtifactId}-1-SNAPSHOT-${dolClassifier}.zip</dolZip>
    <dolUnzipped>${dolRepo}/docbook-olink</dolUnzipped>
    <dolBuiltFile>${project.build.directory}/</dolBuiltFile>
    <dolBuiltArtifactFile>${project.build.directory}/${dolZip}</dolBuiltArtifactFile>           
  </properties>
  
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  
  <!-- dependencies-->
  
  <repositories>
    <!-- note: inheritance does *NOT* merge subparts,
         so, redeclare them -->           
    <!-- define repositories for getting Eclipse parts
         because the one in "central" gives broken parts -->
    <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>

  </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>
  
  <build>
    <pluginManagement>
      <plugins>
        
        <!-- assembly plugin 
             Disable running assembly:assembly with
             warning message to use install instead -->
        <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>
          </executions>
        </plugin>
        
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.5</version>
        </plugin>
        
        <!-- set Java 1.5 as the source and target of compilation -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
            <!--encoding>UTF-8</encoding this inherited from apache pom 7 -->
          </configuration>
        </plugin>
        
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.1</version>
        </plugin>
      
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <source>5</source> <!-- needed to do Enums -->
            <encoding>UTF-8</encoding>
          </configuration>
          <executions>
            <execution>
              <id>attach-javadocs</id>          
              <goals>
                <goal>jar</goal>
              </goals>
              <configuration>
                <quiet>true</quiet>
                <!-- identify tags we use so we don't get warning messages for them -->
                <tags>
                  <tag>
                    <name>generated</name>
                    <placement>X</placement>
                  </tag>
                  <tag>
                    <name>ordered</name>
                    <placement>X</placement>
                  </tag>
                  <tag>
                    <name>modifiable</name>
                    <placement>X</placement>
                  </tag>
                  <tag>
                    <name>model</name>
                    <placement>X</placement>
                  </tag>
                </tags>                
              </configuration>
            </execution>
            <execution>
              <id>javadocs-distr</id>          
              <configuration>
                <quiet>true</quiet>
                <!-- identify tags we use so we don't get warning messages for them -->
                <tags>
                  <tag>
                    <name>generated</name>
                    <placement>X</placement>
                  </tag>
                  <tag>
                    <name>ordered</name>
                    <placement>X</placement>
                  </tag>
                  <tag>
                    <name>modifiable</name>
                    <placement>X</placement>
                  </tag>
                  <tag>
                    <name>model</name>
                    <placement>X</placement>
                  </tag>
                </tags>                
              </configuration>
            </execution>            
          </executions>          
        </plugin>
        
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifestEntries>
                <Project-Title>Apache UIMA</Project-Title>
                <!-- Implementation-Title>${pom.name}</Implementation-Title from addDefaultImplementationEntries-->
                <!-- Implementation-Version>${pom.version}</Implementation-Version from addDefaultImplementationEntries-->
                <!-- Implementation-Vendor>Apache Software Foundation</Implementation-Vendor from addDefaultImplementationEntries-->
                <!-- also added by default: 
                       Implementation-Vendor-Id: ${pom.groupId} -->
                <Implementation-Url>${uimaWebsiteUrl}</Implementation-Url>
                <Implementation-License>http://www.apache.org/licenses/LICENSE-2.0.txt</Implementation-License>
                <Build-Date>${buildDateTime}</Build-Date>
              </manifestEntries>
              <manifest>
                <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.apache.ant</groupId>
              <artifactId>ant</artifactId>
              <!-- version 1.8.0 seems to be incompatible with some part of maven or m2eclipse -->
              <version>1.7.1</version>
            </dependency>
            <dependency> <!-- for ant extension supporting "if" -->
              <groupId>ant-contrib</groupId>
              <artifactId>ant-contrib</artifactId>
              <version>1.0b3</version>
              <scope>runtime</scope>
            </dependency>
            <!-- next two enable <containsregexp> form for filesets -->
            <dependency>
              <groupId>ant</groupId>
              <artifactId>ant-apache-regexp</artifactId>
              <version>1.6.5</version>
            </dependency>
            <dependency>
              <groupId>jakarta-regexp</groupId>
              <artifactId>jakarta-regexp</artifactId>
              <version>1.4</version>
            </dependency>
          </dependencies>          
        </plugin>
      
        <!-- deprecated - move to m2eclipse, but keeping for now -->  
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.7</version>
          <configuration>
            <downloadSources>true</downloadSources>
          </configuration>
        </plugin>
        
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <!-- version 2.0.0 fails -->
          <version>2.0.1</version>
          <extensions>true</extensions>
          <executions>
            <execution>
              <id>uima-bundle</id>
              <goals><goal>manifest</goal></goals>
              <phase>process-classes</phase>
            </execution>
          </executions>
        </plugin>
        
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.6</version>
          <executions>
            <execution>
              <id>default-cli</id>
              <goals><goal>check</goal></goals>
              <phase>verify</phase>
            </execution>
          </executions>
        </plugin>
        
        <!-- set release-plugin version to 2.0,
             needed for "flat" hierarchy support -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.0</version>         
          <configuration>
            <useReleaseProfile>false</useReleaseProfile>
            <goals>deploy</goals>
            <arguments>-Papache-release</arguments>
          </configuration>
        </plugin>
       
      </plugins>
    </pluginManagement>
    
    <plugins>
      
      <!-- this overrides the apache:7 pom to 
        use a different resource bundle which
        allows additional text after the NOTICE file -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>      
          <execution>
            <goals><goal>process</goal></goals>
            <configuration>
              <resourceBundles>
                <resourceBundle>org.apache.uima:uima-jar-resource-bundle:2</resourceBundle>
              </resourceBundles>
            </configuration>
          </execution>
        </executions>
      </plugin>
      
      <!-- sets the following properties:
            parsedVersion.majorVersion
            parsedVersion.minorVersion
            parsedVersion.incrementalVersion
            parsedVersion.qualifier
            parsedVersion.buildNumber
            parsedVersion.osgiVersion
      -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>parse-project-version</id>
            <goals><goal>parse-version</goal></goals>
            <configuration>
              <propertyPrefix>parsedVersion</propertyPrefix>
            </configuration>
          </execution>
        </executions>
      </plugin>
        
    </plugins>
  </build>
  
  <!--reporting-->
  
  <profiles>
    <!-- Run RAT --> 
    <profile>
      <id>rat</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <executions>
              <execution>
                <id>default-cli</id>
                <configuration>
                  <excludes>
                    <exclude>release.properties</exclude>
                  </excludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>                    
      </build>
    </profile>
    
    <!-- fix apache common pom --> 
    <profile>
      <id>apache-release</id>
      
      <properties>
        <!-- to support multi-module source-release builds -->
        <sourceReleaseAssemblyDescriptor>multimodule-source-release</sourceReleaseAssemblyDescriptor>
      </properties>
      <build>
        <plugins>
          <!-- to support multi-module source-release builds -->
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <dependencies>            
              <dependency>
                <groupId>org.apache.uima</groupId>
                <artifactId>uima-jar-resource-bundle</artifactId>
                <version>2</version>
                </dependency>
            </dependencies>
          </plugin>
          
          <!-- to run source plugin without forking -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>           
            <executions>           
              <execution>
                <id>attach-sources-nf</id>           
                <goals><goal>jar-no-fork</goal></goals>
              </execution>
              <execution>
                <id>attach-sources</id>
                <phase />  <!-- turn off the plain jar one -->
              </execution>             
            </executions>        
          </plugin>
        </plugins>
      </build>     
    </profile>    
  </profiles>
</project>