blob: 4c72ff4127e58b218eb0d61a6336c9c97f85e8ff [file] [log] [blame]
<!--
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>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj</artifactId>
<packaging>pom</packaging>
<version>2.2.2-01-incubating</version> <!-- this comment is a flag for changeVersion -->
<properties>
<uimaj-release-version>2.2.2-01-incubating</uimaj-release-version>
<uimaj-release-eclipse-version>2.2.2-01.incubating</uimaj-release-eclipse-version>
</properties>
<name>Apache UIMA Java SDK</name>
<url>http://incubator.apache.org/uima</url>
<description>A framework and SDK supporting components for analyzing unstructured content such as text, audio
and video.</description>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>http://svn.apache.org/viewvc/incubator/uima</url>
</scm>
<organization>
<name>The Apache Software Foundation</name>
<url>http://www.apache.org/</url>
</organization>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- to deploy the artifacts to a Maven saticing-repository you have to configure
the settings.xml file in your local Maven repository -->
<distributionManagement>
<repository>
<id>staging-repository</id>
<url>scpexe://people.apache.org/www/people.apache.org/repo/m2-incubating-repository/</url>
</repository>
<snapshotRepository>
<id>snapshot-repository</id>
<url>scpexe://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository/</url>
</snapshotRepository>
</distributionManagement>
<build>
<pluginManagement>
<plugins>
<!-- v2.1 of the javadoc plugin needed for muilti-module javadoc build to work properly -->
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.1</version>
</plugin>
<!-- Require v2.1 of assembly plugin because v2.2 doesn't seem to correctly unpack zip files.
It creates an extra top-level directory with the same name as the zip file. -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<!-- We use an ant task to copy the LICENSE, NOTICE, and DISCLAIMER files
from a single location in uimaj-distr into the src/main/resources/META-INF
directory of all components. We tried using the Maven resources plugin for
this, but then the Maven eclipse plugin (which runs the lifecycle up thru
generate-resources) seeing the <resources> element,
adds a classpath src entry for this which references the path outside
the project, which eclipse doesn't want.
Solution is to run this in a life-cycle phase after generate-resources
(i.e., process-resources), but before compile, so the
eclipse plugin doesn't do this action.
We copy to the src directory so that it is there for the source jar
builds (for Maven repo). We also copy to the target/classes/META-INF
directory so it gets picked up by the binary jar as well.-->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>CopyLicenseNoticeDisclaimer</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<!-- turn off copying if this pom is not at the top level -->
<available property="sourceForLicenseNoticeDisclaimer"
file="../uimaj-distr/src/main/readme"
value="LICENSE NOTICE DISCLAIMER"/>
<condition property="sourceForLicenseNoticeDisclaimer"
value="skip"> <!-- value must be a non-existant file name
blank doesn't work (copies everything) -->
<not><isset property="sourceForLicenseNoticeDisclaimer"/></not>
</condition>
<!-- support POMs nested one deep -->
<available property="dirSourceForLicenseNoticeDisclaimer"
file="../uimaj-distr/src/main/readme"
value="../uimaj-distr/src/main/readme"/>
<condition property="dirSourceForLicenseNoticeDisclaimer"
value="../../uimaj-distr/src/main/readme">
<not><isset property="dirSourceForLicenseNoticeDisclaimer"/></not>
</condition>
<copy todir="src/main/resources/META-INF">
<fileset dir="${dirSourceForLicenseNoticeDisclaimer}"
includes="${sourceForLicenseNoticeDisclaimer}"/>
</copy>
<copy todir="target/classes/META-INF">
<fileset dir="${dirSourceForLicenseNoticeDisclaimer}"
includes="${sourceForLicenseNoticeDisclaimer}"/>
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<!-- after compilation has been done and the files have been copied to the
target directory, delete them from the source directory. -->
<execution>
<id>DeleteLicenseNoticeDisclaimer</id>
<phase>package</phase>
<configuration>
<tasks>
<delete dir="src/main/resources/META-INF" deleteOnExit="true" quiet="true" failOnError="false">
<fileset dir="src/main/resources/META-INF"
includes="LICENSE NOTICE DISCLAIMER"/>
</delete>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<!-- also delete on clean. -->
<execution>
<id>CleanLicenseNoticeDisclaimer</id>
<phase>clean</phase>
<configuration>
<tasks>
<delete dir="src/main/resources/META-INF" deleteOnExit="true" quiet="true" failOnError="false">
<fileset dir="src/main/resources/META-INF"
includes="LICENSE NOTICE DISCLAIMER"/>
</delete>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- something to get the timestamp -->
<!-- this plugin sets the output string into the variable buildNumber -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<format>{0,date,yyyy-MM-dd HH:mm:ss}</format>
<items>
<item>timestamp</item>
</items>
</configuration>
</plugin>
</plugins>
</build>
<!-- This section configures what happens when the site life-cycle is done -->
<!-- This is currently not part of our build/release practice - so is never done -->
<!-- The Java Doc configuration here is for "developers" - and includes more packages, such as the internal ones -->
<!-- There is another JavaDoc configuration in the uimaj-distr POM, for doing javadocs for external APIs in the bin distr -->
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<aggregate>true</aggregate>
<!-- needs to be 5 to process enums -->
<source>5</source>
<doctitle>Apache UIMA Java SDK ${pom.version} API Documentation</doctitle>
<windowtitle>Apache UIMA Java SDK ${pom.version} API Documentation</windowtitle>
<maxmemory>512M</maxmemory>
<links>
<link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
</links>
<excludePackageNames>org.apache.uima.test.junit_extension</excludePackageNames>
<groups>
<group>
<title>Core Framework</title>
<packages>org.apache.uima:org.apache.uima.impl:org.apache.uima.analysis_component:org.apache.uima.analysis_engine*:org.apache.uima.cas*:org.apache.uima.collection*:org.apache.uima.ecore:org.apache.uima.flow*:org.apache.uima.internal*:org.apache.uima.jcas*:org.apache.uima.pear.tools:org.apache.uima.pear.util:org.apache.uima.resource*:org.apache.uima.search*:org.apache.uima.tttypesystem:org.apache.uima.uimacpp:org.apache.uima.util*</packages>
</group>
<group>
<title>Collection Processing Engine</title>
<packages>org.apache.uima.collection.impl*:org.apache.uima.cas_data.impl.vinci</packages>
</group>
<group>
<title>SOAP Adapter</title>
<packages>org.apache.uima.adapter.soap*</packages>
</group>
<group>
<title>Vinci Adapter</title>
<packages>org.apache.uima.adapter.vinci*</packages>
</group>
<group>
<title>Tools</title>
<packages>org.apache.uima.tools*:org.apache.uima.klt</packages>
</group>
<group>
<title>Eclipse Plugins</title>
<packages>org.apache.uima.taeconfigurator*:org.apache.uima.typesystem*:org.apache.uima.ep_debug:org.apache.uima.jcas.jcasgenp:org.apache.uima.pear:org.apache.uima.pear.actions:org.apache.uima.pear.generate:org.apache.uima.pear.insd*:org.apache.uima.pear.nature</packages>
</group>
<group>
<title>Examples</title>
<packages>org.apache.uima.examples*:org.apache.uima.tutorial*:example*</packages>
</group>
<group>
<title>JVinci</title>
<packages>org.apache.vinci*</packages>
</group>
</groups>
</configuration>
</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>
<Implementation-Version>${pom.version}</Implementation-Version>
<Implementation-Vendor>Apache Software Foundation</Implementation-Vendor>
<Implementation-Url>${pom.url}</Implementation-Url>
<Implementation-License>http://www.apache.org/licenses/LICENSE-2.0.txt</Implementation-License>
<Build-Date>${buildNumber}</Build-Date>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>signArtifacts</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>signArtifacts</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<modules>
<module>../uimaj-core</module>
<module>../uimaj-cpe</module>
<module>../uimaj-examples</module>
<module>../uimaj-tools</module>
<module>../uimaj-adapter-vinci</module>
<module>../uimaj-adapter-soap</module>
<module>../uimaj-test-util</module>
<module>../uimaj-component-test-util</module>
<module>../jVinci</module>
<module>eclipse-plugin-superPom</module>
<module>../uimaj-document-annotation</module>
</modules>
<repositories>
<repository>
<id>eclipsePlugins</id>
<url>http://repo1.maven.org/eclipse</url>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</repository>
</repositories>
</project>