| <!-- |
| 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> |
| <prerequisites> |
| <maven>2.2.0</maven> |
| </prerequisites> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj</artifactId> |
| <packaging>pom</packaging> |
| <version>2.3.0-incubating</version> <!-- this comment is a flag for changeVersion --> |
| |
| <properties> |
| <!-- cannot use a property expression as the value here |
| causes recursive loop --> |
| <uimaj-release-version>2.3.0-incubating</uimaj-release-version> <!-- this comment is a flag for changeVersion --> |
| <uimaj-release-eclipse-version>2.3.0.incubating</uimaj-release-eclipse-version> |
| <scm.branch>trunk</scm.branch> |
| <scm.module.path /> |
| <scmBranchPropertyName>${scm.branch}</scmBranchPropertyName> |
| </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> |
| <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/uima/uimaj/trunk</developerConnection> |
| </scm> |
| <organization> |
| <name>The Apache Software Foundation</name> |
| <url>http://www.apache.org/</url> |
| </organization> |
| |
| <!-- project-wide dependency version levels can go here --> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>3.8.1</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- list the modules for uima base release that are released together. |
| POMs that inherit this parent can then omit the release version --> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-adapter-vinci</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-adapter-soap</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-core</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-cpe</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-examples</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-bootstrap</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-tools</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-document-annotation</artifactId> |
| <version>${uimaj-release-version}</version> |
| </dependency> |
| |
| <!-- eclipse-versions --> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-ep-cas-editor</artifactId> |
| <version>${uimaj-release-eclipse-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-ep-configurator</artifactId> |
| <version>${uimaj-release-eclipse-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-ep-debug</artifactId> |
| <version>${uimaj-release-eclipse-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-ep-jcasgen</artifactId> |
| <version>${uimaj-release-eclipse-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-ep-pear-packager</artifactId> |
| <version>${uimaj-release-eclipse-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-ep-runtime</artifactId> |
| <version>${uimaj-release-eclipse-version}</version> |
| </dependency> |
| <!-- development tools, not in binary distribution --> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-test-util</artifactId> |
| <version>${uimaj-release-version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uimaj-component-test-util</artifactId> |
| <version>${uimaj-release-version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <!-- to deploy the artifacts to a Maven staging-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> |
| <!-- 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> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <configuration> |
| <encoding>UTF-8</encoding> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.6</version> |
| <configuration> |
| <source>5</source> <!-- needed to do Enums --> |
| <encoding>UTF-8</encoding> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>2.2-beta-4</version> |
| </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> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <dependencies> |
| <!-- put this dependency first --> |
| <!-- otherwise you get ant 1.5 from ant-contrib --> |
| <dependency> |
| <groupId>org.apache.ant</groupId> |
| <artifactId>ant</artifactId> |
| <version>1.7.1</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> <!-- for ant extension supporting "if" --> |
| <groupId>ant-contrib</groupId> |
| <artifactId>ant-contrib</artifactId> |
| <version>1.0b3</version> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <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.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> |
| |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| |
| <!-- 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> |
| <version>1.3</version> |
| <executions> |
| <execution> |
| <id>CopyLicenseNoticeDisclaimer</id> |
| <phase>process-resources</phase> |
| <configuration> |
| <tasks> |
| <!-- skip if no src/main/java dir --> |
| <condition property="sourceForLicenseNoticeDisclaimer" |
| value="skip"> <!-- value must be a non-existant file name |
| blank doesn't work (copies everything)--> |
| <!--not> <available file="src/main/java"/> </not--> |
| <not> |
| <equals arg1="jar" arg2="${project.packaging}"></equals> |
| </not> |
| </condition> |
| |
| <!-- only sets property if not set by previous above statement --> |
| <property name="sourceForLicenseNoticeDisclaimer" |
| value="LICENSE NOTICE DISCLAIMER LICENSE.txt NOTICE.txt DISCLAIMER.txt"/> |
| |
| <!-- use LIC/NOT/DIS file from project if available --> |
| <condition property="dirSourceForLicenseNoticeDisclaimer" |
| value="."> |
| <or> |
| <available file="LICENSE.txt"/> |
| <available file="LICENSE"/> |
| </or> |
| </condition> |
| |
| <!-- use LIC/NOT/DIS file from project's parent if available & above not available --> |
| <condition property="dirSourceForLicenseNoticeDisclaimer" |
| value="${project.parent.relativePath}/src/main/readme"> |
| <or> |
| <available file="${project.parent.relativePath}/src/main/readme/LICENSE.txt"/> |
| <available file="${project.parent.relativePath}/src/main/readme/LICENSE"/> |
| </or> |
| </condition> |
| |
| <!-- use LIC/NOT/DIS file from uimaj-distr project if above not available --> |
| <condition property="dirSourceForLicenseNoticeDisclaimer" |
| value="../uimaj-distr/src/main/readme"> |
| <or> |
| <available file="../uimaj-distr/src/main/readme/LICENSE.txt"/> |
| <available file="../uimaj-distr/src/main/readme/LICENSE"/> |
| </or> |
| </condition> |
| |
| |
| <!-- support POMs nested one deep --> |
| <!--available property="dirSourceForLicenseNoticeDisclaimer" |
| file="../uimaj-distr/src/main/readme" |
| value="../uimaj-distr/src/main/readme"/--> |
| |
| <!-- only sets property if not set by previous statements --> |
| <property name="dirSourceForLicenseNoticeDisclaimer" |
| value="../../uimaj-distr/src/main/readme"/> |
| |
| <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> |
| <typedef resource="net/sf/antcontrib/antlib.xml"> |
| <classpath refid="maven.dependency.classpath"/> |
| </typedef> <!-- set up ant-contrib extensions --> |
| |
| <delete deleteOnExit="true" quiet="true" failOnError="false"> |
| <fileset dir="src/main/resources/META-INF" |
| includes="LICENSE NOTICE DISCLAIMER LICENSE.txt NOTICE.txt DISCLAIMER.txt"/> |
| </delete> |
| |
| <macrodef name="rmvUnusedDirs"> |
| <attribute name="dir"/> |
| <attribute name="dirId"/> |
| <sequential> |
| <!-- defaultexcludes set to no to retain dirs which were checked into svn |
| they have .svn files |
| If these are deleted by this script, svn can't find the svn metadata |
| --> |
| <fileset id="@{dirId}" dir="@{dir}" defaultexcludes="no"/> |
| <if> |
| <and> |
| <available file="@{dir}"/> |
| <resourcecount refid="@{dirId}" count="0" when="equal"/> |
| </and> |
| <then> <delete dir="@{dir}"/> </then> |
| </if> |
| </sequential> |
| </macrodef> |
| |
| <rmvUnusedDirs dir="src/main/resources/META-INF" dirId="src.meta.inf.dir"/> |
| <rmvUnusedDirs dir="src/main/resources" dirId="src.main.resources.dir"/> |
| <rmvUnusedDirs dir="src/main" dirId="src.main.dir"/> |
| <rmvUnusedDirs dir="src" dirId="src.dir"/> |
| |
| </tasks> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <!-- also delete on clean. --> |
| <execution> |
| <id>CleanLicenseNoticeDisclaimer</id> |
| <phase>clean</phase> |
| <configuration> |
| <tasks> |
| <typedef resource="net/sf/antcontrib/antlib.xml"> |
| <classpath refid="maven.dependency.classpath"/> |
| </typedef> <!-- set up ant-contrib extensions --> |
| |
| <delete deleteOnExit="true" quiet="true" failOnError="false"> |
| <fileset dir="src/main/resources/META-INF" |
| includes="LICENSE NOTICE DISCLAIMER"/> |
| </delete> |
| |
| <macrodef name="rmvUnusedDirs"> |
| <attribute name="dir"/> |
| <attribute name="dirId"/> |
| <sequential> |
| <fileset id="@{dirId}" dir="@{dir}" defaultexcludes="no"/> |
| <if> |
| <and> |
| <available file="@{dir}"/> |
| <resourcecount refid="@{dirId}" count="0" when="equal"/> |
| </and> |
| <then> <delete dir="@{dir}"/> </then> |
| </if> |
| </sequential> |
| </macrodef> |
| |
| <rmvUnusedDirs dir="src/main/resources/META-INF" dirId="src.meta.inf.dir"/> |
| <rmvUnusedDirs dir="src/main/resources" dirId="src.main.resources.dir"/> |
| <rmvUnusedDirs dir="src/main" dirId="src.main.dir"/> |
| <rmvUnusedDirs dir="src" dirId="src.dir"/> |
| </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> |
| </plugins> |
| </reporting> |
| |
| |
| <profiles> |
| <profile> |
| <id>buildSourceJar</id> |
| <activation> |
| <file> |
| <exists>src/main/java</exists> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>2.1</version> |
| <executions> |
| <execution> |
| <id>main-jar</id> |
| <!-- pick a phase that's after the ant script |
| adds in the LIC/NOT/DIS files (process-resources) and before |
| it removes them in cleanup (= package) --> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <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>distr-superPom</module> |
| <module>../uimaj-document-annotation</module> |
| <module>../PearPackagingMavenPlugin</module> |
| <!-- the internal tools project is not part of any release |
| and can't be built automatically - to build it, |
| cd to the project directory and do mvn install --> |
| <!--module>../uimaj-internal-tools</module--> |
| <module>../uimaj-bootstrap</module> |
| </modules> |
| <repositories> |
| <repository> |
| <id>eclipsePlugins</id> |
| <url>http://repo1.maven.org/eclipse</url> |
| <releases> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| <updatePolicy>never</updatePolicy> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>ApacheIncubatorRepository</id> |
| <url>http://people.apache.org/repo/m2-incubating-repository/</url> |
| <releases> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| <updatePolicy>never</updatePolicy> |
| </snapshots> |
| </repository> |
| </repositories> |
| </project> |