blob: 587fe406e856c2baafff071dfbc52a1ff0b0364e [file] [log] [blame]
<?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 common UIMA parent pom.
It contains the project-wide defaults:
The parent of this POM 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
-->
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>apache</artifactId>
<groupId>org.apache</groupId>
<version>13</version>
<relativePath />
</parent>
<groupId>org.apache.uima</groupId>
<artifactId>parent-pom</artifactId>
<version>8</version>
<packaging>pom</packaging>
<name>Apache 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>Apache 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>Apache 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>Apache 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</maven>
</prerequisites>
<scm>
<connection>
scm:svn:http://svn.apache.org/repos/asf/uima/build/tags/parent-pom-8
</connection>
<developerConnection>
scm:svn:https://svn.apache.org/repos/asf/uima/build/tags/parent-pom-8
</developerConnection>
<url>
http://svn.apache.org/viewvc/uima/build/tags/parent-pom-8
</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>Jenkins</system>
<url>https://builds.apache.org/</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>Apache UIMA Website</name>
<url>${uimaWebsiteDistributionUrl}</url> <!-- on people.apache.org: /www/uima.apache.org -->
</site>
</distributionManagement>
<properties>
<!-- this property is overridden in child projects that are released, to correspond to the
Jira release category(ies)
We specify something here, because if accidentally left blank, it
generates a giant request for all changes -->
<jiraVersion>12325064</jiraVersion> <!-- for parent-pom-8. Change for each release -->
<uimaBuildResourcesVersion>5</uimaBuildResourcesVersion>
<uimaWebsiteUrl>http://uima.apache.org</uimaWebsiteUrl>
<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. -->
<!-- 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>
<pdfPaperType>USletter</pdfPaperType>
<!-- This next dir *must match* the one the PearPackagingMavenPlugin uses -->
<pearPackagingDir>${project.build.directory}/pearPackaging</pearPackagingDir>
<!-- poms wanting this need to set the postNoticeText to this value -->
<ibmNoticeText>
Portions of Apache UIMA 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 License Agreement".
Copyright (c) 2003, 2006 IBM Corporation.
</ibmNoticeText>
<!-- next line commented out - to let standard source-release assembly descriptor as specified
in standard Apache parent pom be used -->
<!-- SourceReleaseAssemblyDescriptor>multimodule-source-release</sourceReleaseAssemblyDescriptor-->
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- can't put this dependency at the top level -
causes them to be included in children -->
<!--dependencies>
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>1-SNAPSHOT</version>
</dependency>
</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>
<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>
<build>
<pluginManagement>
<plugins>
<!-- assembly plugin
Disable running assembly:assembly with
warning message to use install instead -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version> <!-- https://issues.apache.org/jira/browse/UIMA-3332 -->
<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.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<configuration>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration>
<executions>
<execution>
<!-- force to use process-classes phase so runs after Java Annotations are available -->
<!-- https://issues.apache.org/jira/browse/UIMA-3072 -->
<id>default-descriptor</id>
<phase>process-classes</phase>
<goals><goal>descriptor</goal></goals>
</execution>
<execution>
</execution>
</executions>
</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.8</version> <!-- see https://issues.apache.org/jira/browse/UIMA-2963 -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<!-- remove version after moving to apache parent pom 14 or later -->
<version>2.9.1</version> <!-- pick up fix for javadoc security issue, June 2013 -->
<configuration>
<source>5</source> <!-- needed to do Enums -->
<notimestamp>true</notimestamp>
<encoding>UTF-8</encoding>
<!-- if next is omitted, causes all projects in reactor that don't
already have full javadocs built, to have them built -->
<detectOfflineLinks>false</detectOfflineLinks>
<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>
<tag>
<name>pre</name>
<placement>X</placement>
</tag>
</tags>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals><goal>jar</goal></goals>
<!-- turn off javadoc build for each module by default
(unless apache-release - for speed)
override in individual cases to turn back on if wanted -->
<phase />
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version> <!-- version 2.4 gives error org.codehaus.plexus.archiver.jar.Manifest.merge(org.codehaus.plexus.archiver.jar.Manifest)
see http://comments.gmane.org/gmane.comp.ide.eclipse.plugins.m2eclipse.user/9189 -->
<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>
<version>1.7</version>
<dependencies>
<!-- 1.8.2 is used by v 1.7 of this plugin
<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>
<exclusions>
<exclusion> <!-- is dragging in ant 1.5 -->
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- next two enable <containsregexp> form for filesets -->
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-apache-regexp</artifactId>
<version>1.9.2</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.8</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.3.4 eliminates spurious warning messages -->
<!-- version 2.5 has accidental dependency on Java 6 -->
<version>2.3.7</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.10</version>
<executions>
<execution>
<id>default-cli</id>
<goals><goal>check</goal></goals>
<phase>verify</phase>
<!-- default configuration -->
<configuration>
<excludes>
<exclude>release.properties</exclude> <!-- generated file -->
<exclude>README*</exclude>
<exclude>RELEASE_NOTES*</exclude>
<exclude>issuesFixed/**</exclude> <!-- generated file -->
<exclude>src/main/resources/docbook-shared/titlepage/*.xsl</exclude>
<exclude>marker-file-identifying-*</exclude> <!-- empty file -->
<exclude>DEPENDENCIES</exclude> <!-- generated file -->
<exclude>**/MANIFEST.MF</exclude> <!-- MANIFEST.MF files cannot have comments -->
<exclude>**/*.ppt</exclude> <!-- power point sources -->
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<!-- generate the issuesFixed report of Jiras fixed in this release -->
<!-- uses the property "jiraVersion" to select the version -->
<!-- Runs automatically during release.
Can also be run manually using
mvn changes:jira-report -N -DjiraVersion=xxxxxx where
xxxxxx is the jira internal version number which you can get
from the Jira url (see parameter fixforversion=xxxxxx)
by going to https://issues.apache.org/jira/browse/UIMA
and selecting "Releases" and then going to the
particular version and looking in the url for
that version. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>2.9</version> <!-- Apache-wide pom has no entry for this plugin -->
<executions>
<execution>
<id>default-cli</id>
<goals><goal>jira-report</goal></goals>
<!-- don't use generate-sources - because javadoc plugin re-exec's that -->
<phase>generate-resources</phase>
<configuration>
<useJql>true</useJql>
<fixVersionIds>${jiraVersion}</fixVersionIds>
<columnNames>Type,Key,Status,Summary</columnNames>
<resolutionIds>Fixed</resolutionIds>
<statusIds>Closed,Resolved</statusIds>
<sortColumnNames>Type, Key</sortColumnNames>
<!-- changed sortColumnNames for Jira 5
was: <sortColumnNames>Status, Key, Type</sortColumnNames>
-->
<outputDirectory>${basedir}/issuesFixed/</outputDirectory>
<maxEntries>1000</maxEntries> <!-- hopefully, bigger than ever needed -->
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-helper-maven-plugin</artifactId>
<version>7</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.0</version>
</requireMavenVersion>
<requireJavaVersion>
<version>1.5</version>
</requireJavaVersion>
</rules>
</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>
<plugin>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>set buildYear and buildMonth</id>
<goals><goal>parse-date-time</goal></goals>
<configuration>
<parseSpecs>
<parseSpec>
<name>buildYear</name>
<format>yyyy</format>
</parseSpec>
<parseSpec>
<name>buildMonth</name>
<format>MMMM</format>
</parseSpec>
</parseSpecs>
</configuration>
</execution>
</executions>
</plugin>
<!-- this overrides the apache pom to
use this resource bundle which
allows additional text after the NOTICE file
Note: putting this in the pluginManagement section
fails to override the configuration from the
Apache common parent pom -->
<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-build-resources:${uimaBuildResourcesVersion}</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
<!--dependencies> maybe for m2e
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies-->
</plugin>
<plugin> <!-- https://issues.apache.org/jira/browse/UIMA-2966 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>dup-meta-jar-cleanup</id>
<goals><goal>run</goal></goals>
<phase>prepare-package</phase> <!-- before Jar plugin -->
<configuration>
<target>
<delete file="${project.build.directory}/classes/META-INF/maven/${project.groupId}/${project.artifactId}/pom.xml" quiet="true" />
<delete file="${project.build.directory}/classes/META-INF/maven/${project.groupId}/${project.artifactId}/pom.properties" quiet="true" />
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!--reporting-->
<profiles>
<!-- ************************************************** -->
<!-- * apache-release * -->
<!-- * NOTE: This profile is activated while * -->
<!-- * running the Maven build pipeline, usually * -->
<!-- * clean verify (for mvn release:prepare) or * -->
<!-- * deploy (for mvn release;perform), * -->
<!-- * but is not activated for the * -->
<!-- * outer execution for mvn release... * -->
<!-- * on the pom being released * -->
<!-- ************************************************** -->
<!-- fix apache common pom -->
<profile>
<id>apache-release</id>
<properties>
<isApacheRelease>true</isApacheRelease>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals><goal>jar</goal></goals>
<!-- turn back on javadoc build for each module by default
https://issues.apache.org/jira/browse/UIMA-3251 -->
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- to support multi-module source-release builds -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>${uimaBuildResourcesVersion}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>source-release-assembly</id>
<!-- note: this is configured above to run only at execution root -->
<configuration>
<!-- by not attaching, we prevent the source release from going to Maven repos -->
<!-- https://issues.apache.org/jira/browse/UIMA-3247 -->
<attach>false</attach>
</configuration>
</execution>
</executions>
</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>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
</execution>
</executions>
</plugin>
<!-- to fix up any generated Javadocs to have consistent line ends in html files -->
<!-- runs in phase after package -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>maybe-fix-javadoc-line-ends</id>
<phase>pre-integration-test</phase>
<goals><goal>run</goal></goals>
<configuration>
<target>
<taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />
<if>
<available file="${project.build.directory}/site/apidocs/" />
<then>
<echo>Fixing line-endings for ${project.build.directory}/site/apidocs/</echo>
<fixcrlf srcdir="${project.build.directory}/site/apidocs/">
<include name="**/*.html" />
</fixcrlf>
</then>
</if>
</target>
</configuration>
</execution>
<execution>
<id>sign and checksum source-release.zip</id>
<phase>verify</phase> <!-- after source-release is built -->
<goals><goal>run</goal></goals>
<configuration>
<target>
<taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />
<property name="source-release" location="${project.build.directory}/${project.artifactId}-${project.version}-source-release.zip" />
<if>
<available file="${source-release}" />
<then>
<echo message="Generating checksums for source-release.zip" />
<checksum format="MD5SUM" algorithm="sha1" file="${source-release}" />
<checksum format="MD5SUM" algorithm="md5" file="${source-release}" />
<echo message="Generating gpg signatures for source-release.zip" />
<exec executable="gpg">
<arg value="--detach-sign" />
<arg value="--armor" />
<arg value="--batch" />
<arg value="${source-release}" />
</exec>
</then>
</if>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- *************************************************** -->
<!-- * Run Rat report - for Jenkins * -->
<!-- * https://issues.apache.org/jira/browse/UIMA-2590 * -->
<!-- *************************************************** -->
<profile>
<id>run-rat-report</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- **************************************** -->
<!-- * Produce Jira report * -->
<!-- **************************************** -->
<profile>
<id>mavenJirareport</id>
<activation>
<!-- NOTE: if you try to make this work more generally, by
using a marker file in all top-level release projects,
this approach fails because for other top-level
release projects, it substitutes the value of
the jiraVersion property from the top level pom, not
the pom being released. So other release projects include
this kind of profile within themselves, in a profile
for "apache-release" triggered by name. -->
<!-- It would be nice to have this only run when releasing,
but the activation clauses are currently only
"ored" together, not "anded". -->
<file><exists>marker-file-identifying-parent-pom</exists></file>
</activation>
<build>
<plugins>
<!-- overrides to enable release -->
<!-- to release 5-SNAPSHOT which includes uima-build-resources, hard code that version to 4 -->
<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-build-resources:${uimaBuildResourcesVersion}</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>${uimaBuildResourcesVersion}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<fixVersionIds>${jiraVersion}</fixVersionIds>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- **************************************** -->
<!-- * Override - don't produce Jira report * -->
<!-- **************************************** -->
<!-- NOTE: if you use this, you MUST check in
the generated Jira report into SVN, otherwise
it won't appear in the release assemblies. -->
<profile>
<id>mavenJirareportSkip</id>
<activation>
<property>
<name>maven.jiraReport.skip</name>
</property>
</activation>
<build>
<plugins>
<!-- Skip jira report -->
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<phase />
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ********************************** -->
<!-- * Docbook Processing * -->
<!-- ********************************** -->
<!-- Skip docbook processing unless
the leaf child project has a docbook directory -->
<profile>
<id>process-docbook</id>
<activation>
<file><exists>src/docbook</exists></file>
</activation>
<!--dependencies-->
<!-- can't have a dependency in the parent pom - unless you want it
inherited by all child poms -->
<!-- dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>1-SNAPSHOT</version>
</dependency -->
<!-- having a dependency specified on 1-SNAPSHOT blocks release -->
<!--dependency>
<groupId>org.apache.uima</groupId>
<artifactId>${dolArtifactId}</artifactId>
<type>zip</type>
<classifier>${dolClassifier}</classifier>
<version>1-SNAPSHOT</version>
</dependency-->
<!--/dependencies-->
<build>
<plugins>
<!-- something to set some properties for dates used in copyright notices -->
<!-- Works, but is slow due to loading groovy -->
<!--plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
import java.util.Date
import java.text.MessageFormat
def varYear = MessageFormat.format("{0,date,yyyy}", new Date())
def varMonth = MessageFormat.format("{0,date,MMMMMMMMM}", new Date())
project.properties['buildYear'] = varYear
project.properties['buildMonth'] = varMonth
</source>
</configuration>
</execution>
</executions>
</plugin-->
<!-- use the dependency:unpack goal to get the shared resource
that has the docbook-shared directory
Unpack into spot relative to project - because
these are referred to in docbook sources using
relative references
also unpack next to docbook-olink in
repository location for olink info, because
the site.xml files use relative location to
get at the uima entities -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<!-- use the dependency:unpack goal to get the shared resource
that has the docbook-shared directory
Unpack into spot relative to project - because
these are referred to in docbook sources using
relative references -->
<id>copyDocbookInfo</id>
<phase>prepare-package</phase>
<goals><goal>unpack</goal></goals>
<configuration>
<overWriteIfNewer>true</overWriteIfNewer>
<artifactItems>
<artifactItem>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>${uimaBuildResourcesVersion}</version>
<includes>docbook-shared/**</includes>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<!-- also unpack next to docbook-olink in
repository location for olink info, because
the site.xml files use relative location to
get at the uima entities -->
<id>copyDocbookInfoNextToOlink</id>
<phase>prepare-package</phase>
<goals><goal>unpack</goal></goals>
<configuration>
<overWriteIfNewer>true</overWriteIfNewer>
<markersDirectory>${dolRepo}/dependency-maven-plugin-markers</markersDirectory>
<artifactItems>
<artifactItem>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>${uimaBuildResourcesVersion}</version>
<includes>docbook-shared/**</includes>
<outputDirectory>${dolRepo}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<!-- use the dependency:unpack goal to get the
olink databases -->
<execution>
<id>getOlink</id>
<phase>prepare-package</phase>
<goals><goal>unpack</goal></goals>
<configuration>
<overWriteIfNewer>true</overWriteIfNewer>
<markersDirectory>${dolRepo}/dependency-maven-plugin-markers</markersDirectory>
<artifactItems>
<artifactItem>
<groupId>org.apache.uima</groupId>
<artifactId>${dolArtifactId}</artifactId>
<version>1-SNAPSHOT</version>
<type>zip</type>
<classifier>${dolClassifier}</classifier>
<outputDirectory>${dolUnzipped}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.agilejava.docbkx</groupId>
<artifactId>docbkx-maven-plugin</artifactId>
<version>2.0.14</version>
<configuration> <!-- general configuration for both html and pdf -->
<sourceDirectory>${basedir}/src/docbook</sourceDirectory>
<includes>${bookNameRoot}.xml</includes>
<highlightSource>1</highlightSource>
<xincludeSupported>true</xincludeSupported>
<!-- olink common to pdf and html -->
<collectXrefTargets>yes</collectXrefTargets>
</configuration>
<executions>
<execution>
<id>html</id>
<goals>
<goal>generate-html</goal>
</goals>
<phase>package</phase>
<configuration>
<targetDirectory>${project.build.directory}/site/d</targetDirectory>
<htmlCustomization>${project.build.directory}/docbook-shared/top/html-single.xsl</htmlCustomization>
<!-- olink -->
<targetDatabaseDocument>file:///${dolUnzipped}/htmlsingle/site.xml</targetDatabaseDocument>
<targetsFilename>${dolUnzipped}/htmlsingle/${bookNameRoot}.db</targetsFilename>
</configuration>
</execution>
<execution>
<id>pdf</id>
<goals><goal>generate-pdf</goal></goals>
<phase>package</phase>
<configuration>
<!-- pdf: generate first in docbkx, then move.
because pdf generates an extra temp file xxx.fo
which we want to keep a bit in target in case of debug need -->
<foCustomization>${project.build.directory}/docbook-shared/top/pdf.xsl</foCustomization>
<!-- olink -->
<targetDatabaseDocument>file:///${dolUnzipped}/pdf/site.xml</targetDatabaseDocument>
<targetsFilename>${dolUnzipped}/pdf/${bookNameRoot}.db</targetsFilename>
<fop1Extensions>true</fop1Extensions>
<fontSelectionStrategy>character-by-character</fontSelectionStrategy>
<fonts>
<!-- embedded fonts -->
<!--
This information must exactly match the font specified
in the fo file. Otherwise it will use a default font.
For example,
<fo:inline font-family="Arial" font-weight="bold" font-style="normal">
Arial-normal-normal font
</fo:inline>
for the font triplet specified by:
<font-triplet name="Arial" style="normal" weight="bold" />
If you do not want to embed the font in the pdf document
then do not include the "embed-url" attribute.
The font will be needed where the document is viewed
for it to be displayed properly.
possible styles: normal | italic | oblique | backslant
possible weights: normal | bold | 100 | 200 | 300 | 400
| 500 | 600 | 700 | 800 | 900
(normal = 400, bold = 700)
-->
<!--
<font metrics-url="arial.xml" kerning="yes" embed-url="arial.ttf">
<font-triplet name="Arial" style="normal" weight="normal" />
<font-triplet name="ArialMT" style="normal" weight="normal" />
</font>
<font metrics-url="arialb.xml" kerning="yes" embed-url="arialb.ttf">
<font-triplet name="Arial" style="normal" weight="bold" />
<font-triplet name="ArialMT" style="normal" weight="bold" />
</font>
-->
<!-- per UIMA-1051 - change to use standard Times Roman default PDF font -->
<!--font>
<name>Palatino</name>
<style>normal</style>
<weight>normal</weight>
<kerning>yes</kerning>
<embedFile>c:/Windows/Fonts/pala.TTF</embedFile>
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino.xml</metricsFile>
</font>
<font>
<name>Palatino</name>
<style>normal</style>
<weight>bold</weight>
<kerning>yes</kerning>
<embedFile>c:/Windows/Fonts/palab.TTF</embedFile>
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino-bold.xml</metricsFile>
</font>
<font>
<name>Palatino</name>
<style>italic</style>
<weight>normal</weight>
<kerning>yes</kerning>
<embedFile>c:/Windows/Fonts/palai.TTF</embedFile>
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino-italic.xml</metricsFile>
</font>
<font>
<name>Palatino</name>
<style>italic</style>
<weight>bold</weight>
<kerning>yes</kerning>
<embedFile>c:/Windows/Fonts/palabi.TTF</embedFile>
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino-bold-italic.xml</metricsFile>
</font-->
</fonts>
<paperType>${pdfPaperType}</paperType>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.docbook</groupId>
<artifactId>docbook-xml</artifactId>
<version>4.4</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<!-- copy the images to the html/images dir -->
<execution>
<id>docbook-copy-images</id>
<goals><goal>copy-resources</goal></goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/site/d/images</outputDirectory>
<resources>
<resource><directory>src/docbook/images</directory></resource>
</resources>
</configuration>
</execution>
<!-- copy the css stylesheet to the html dir -->
<execution>
<id>docbook-copy-css</id>
<goals><goal>copy-resources</goal></goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/site/d/css</outputDirectory>
<resources>
<resource><directory>${project.build.directory}/docbook-shared/css</directory></resource>
</resources>
</configuration>
</execution>
<!-- move the pdf from the docbkx to the site/d/ -->
<execution>
<id>docbook-move-pdf</id>
<goals><goal>copy-resources</goal></goals> <!-- no "move" goal, use copy -->
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/site/d</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/docbkx/pdf</directory>
<excludes><exclude>**.fo</exclude></excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ************************************ -->
<!-- * Build Custom Binary Distribution * -->
<!-- ************************************ -->
<profile>
<id>build distribution</id>
<activation>
<file><exists>src/main/assembly/bin.xml</exists></file>
</activation>
<build>
<plugins>
<!-- assembly plugin
configuration to create bin and src distributions
from conventional places -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>uima-distr</id>
<goals><goal>single</goal></goals>
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg -->
<configuration>
<descriptors>
<descriptor>src/main/assembly/bin.xml</descriptor>
<!-- next is replaced with more standard source-release assembly -->
<!-- descriptor>src/main/assembly/src.xml</descriptor -->
</descriptors>
<finalName>${assemblyFinalName}</finalName>
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
</execution>
</executions>
</plugin>
<!-- https://issues.apache.org/jira/browse/UIMA-2008 -->
<!-- no maven deployment of this project's artifacts -->
<!-- binary build artifact deployed from apache mirror system after release -->
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate checksums for binary artifacts</id>
<goals><goal>run</goal></goals>
<phase>verify</phase>
<configuration>
<target>
<checksum algorithm="sha1" format="MD5SUM">
<fileset dir="${project.build.directory}">
<include name="*.zip" />
<include name="*.gz" />
</fileset>
</checksum>
<checksum algorithm="md5" format="MD5SUM">
<fileset dir="${project.build.directory}">
<include name="*.zip" />
<include name="*.gz" />
</fileset>
</checksum>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ************************************ -->
<!-- * Build Eclipse Plugin * -->
<!-- ************************************ -->
<profile>
<id>build eclipse plugins</id>
<activation>
<file>
<exists>marker-file-identifying-eclipse-plugin</exists>
</file>
</activation>
<build>
<!-- The final name is typically overridden in the individual project
to follow the Eclipse naming rules. Rather than just the artifactId,
Eclipse wants this name to be the same as the Bundle-SymbolicName,
which typically starts with org.apache.uima, and isn't the same as
the artifact name.
examples:
uimaj-ep-jcasgen - org.apache.uima.jcas.jcasgenp
uimaj-ep-configurator - org.apache.uima.desceditor -->
<finalName>${project.artifactId}_${parsedVersion.osgiVersion}</finalName>
<!-- resources are "merged" -->
<!-- needed to copy resources, icons, and the plugin.xml to the result -->
<resources>
<resource>
<directory>.</directory>
<includes>
<include>plugin.xml</include>
<!-- include subdir of icons too, [UIMA-1958] -->
<include>icons/**/*.*</include>
</includes>
</resource>
<!-- need the following, is not "merged" from the overall maven superPom -->
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<pluginManagement>
<!-- run the felix plugin in manifest mode
because that plugin doesn't resolve
all properties e.g., parsedVersion.osgiVersion -->
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>uima-bundle</id>
<goals><goal>manifest</goal></goals>
<phase>process-classes</phase>
<configuration>
<!-- we put the generate manifest in the spot where Eclipse
plugins think it will be -->
<manifestLocation>META-INF/</manifestLocation>
</configuration>
</execution>
<!-- turn off unneeded executions -->
<execution>
<id>default-deploy</id>
<phase />
</execution>
<execution>
<id>default-install</id>
<phase />
</execution>
<execution>
<id>default-bundle</id>
<phase />
</execution>
</executions>
</plugin>
<!-- pick up the manifest felix generates -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<!-- special eclipse:eclipse configuration for Eclipse plugins -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<!-- version set in parent-pom-top -->
<configuration>
<manifest>.ignore</manifest>
<pde>true</pde>
<!-- set next to false because refs to runtime project
as a project don't work (because it is a library project,
and has no sources of its own
A consequence of this: If you change code a plugin depends on,
run "mvn install" on the changed code to get your plugin to
pick up the changes
-->
<useProjectReferences>false</useProjectReferences>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<!-- https://issues.apache.org/jira/browse/UIMA-2967 -->
<execution>
<id>clear-META-INF</id>
<goals><goal>run</goal></goals>
<phase>compile</phase> <!-- before maven-bundle-plugin plugin -->
<configuration>
<target>
<delete file="META-INF/MANIFEST.MF" quiet="true" />
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ************************************ -->
<!-- * Build Eclipse Feature * -->
<!-- ************************************ -->
<profile>
<id>build eclipse features</id>
<activation>
<file>
<exists>marker-file-identifying-eclipse-feature</exists>
</file>
</activation>
<build>
<finalName>${project.artifactId}_${parsedVersion.osgiVersion}</finalName>
<!-- turn on filtering for these resources -->
<resources>
<resource>
<directory>${basedir}</directory>
<includes>
<include>feature.properties</include>
<include>feature.xml</include>
<include>uima-eclipse-user-agreement.html</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<!-- The feature.xml is filtered here, rather than in going from the
top level place to the Jar, because Eclipse feature manipulation
uses the top level value.
-->
<plugins>
<!-- filter the feature.xml to have the right version info
for Eclipse at the top level -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>filter feature.xml</id>
<!-- run before process-resources, which uses this result -->
<phase>generate-resources</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${basedir}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes><include>feature.xml</include></includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ************************************ -->
<!-- * Build Eclipse Update Subsite * -->
<!-- ************************************ -->
<profile>
<id>build-eclipse-update-subsite</id>
<activation>
<file>
<exists>marker-file-identifying-eclipse-update-site</exists>
</file>
</activation>
<properties>
<eusWork>${project.build.directory}/eus-work</eusWork>
<toBePacked>${project.build.directory}/toBePacked</toBePacked>
<distsvnroot>https://dist.apache.org/</distsvnroot>
<!-- <distsvnroot>file:///svn/t/</distsvnroot> -->
</properties>
<build>
<plugins>
<!-- ============================================================================ -->
<!-- U s e o f d i s t . a p a c h e . o r g S V N -->
<!-- -->
<!-- Goals: avoid copying to /release/, use svn commit to do -->
<!-- just the changed files -->
<!-- -->
<!-- Safety (abandonded) -->
<!-- for safety, work in the /dev/ area -->
<!-- For vote, user can do commit to /dev/ area -->
<!-- After vote, user does svn switch to /release/ area and commits -->
<!-- Above aproach abandoned, just be careful not to commit before vote -->
<!-- -->
<!-- svn (release) -> checkout -->
<!-- srcs -> toBePacked -> eus-work - - - - +-> subsite -> (manual) commit -->
<!-- SC SC -->
<!-- -->
<!-- SC = sign & checksum -->
<!-- the 2nd SC is for the updated artifacts and contents of the subsite -->
<!-- ============================================================================ -->
<!-- ============================================================================ -->
<!-- O v e r a l l F l o w -->
<!-- -->
<!-- PROCESS-SOURCES -->
<!-- New plugins to be compressed -> target/toBePacked -->
<!-- -->
<!-- New features to be included -> target/eus-work -->
<!-- (eus = Eclipse Update Site) -->
<!-- -->
<!-- filter category.xml to pick up version # -->
<!-- -->
<!-- PACKAGE -->
<!-- Pack step goes from target/toBePacked -> target/eus-work -->
<!-- -->
<!-- Release SVN checkout -> target/eclipse-update-site/[component] -->
<!-- (This is the current site - to be updated) -->
<!-- -->
<!-- Publish metadata goes from target/eus-work -> eclipse-update-site/[comp] -->
<!-- (publish run in "append" mode) -->
<!-- -->
<!-- Category update goes from target/eus-work -> eclipse-update-site/[comp] -->
<!-- -->
<!-- (if apache-release: -->
<!-- do checksums and sign in target/eus-work -->
<!-- delete prev checksums and signature for artifacts/content.jar -->
<!-- add new checksum/sign for these two jars -->
<!-- copy all checksums/signatures from eus-work -->
<!-- ) -->
<!-- -->
<!-- ============================================================================ -->
<!-- ============================================================================ -->
<!-- Alternate flow if apache-release is not defined - -->
<!-- skip getting previous update site from dist.apache.org -->
<!-- ============================================================================ -->
<!-- filter the category.xml to have the right version info
for Eclipse at the top level -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>filter-category.xml</id>
<!-- run before package, which uses this result -->
<phase>process-sources</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${basedir}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes><include>category.xml</include></includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>BuildUpdateSite-clearWorkAreas</id>
<phase>initialize</phase>
<goals><goal>run</goal></goals>
<configuration>
<target>
<delete dir="${toBePacked}" quiet="true" />
<delete dir="${eusWork}" />
</target>
</configuration>
</execution>
<execution>
<id>BuildUpdateSite-pack-svnget-buildMetadata-commit-to-dev</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<target>
<taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />
<!-- =================================== -->
<!-- Check we can access build tools -->
<!-- =================================== -->
<!-- if the property uima-maven-build-eclipse-home is set, use it, otherwise don't -->
<condition property="eclipse.home" value="${uima-maven-build-eclipse-home}">
<not>
<equals arg1="${uima-maven-build-eclipse-home}" arg2="$${uima-maven-build-eclipse-home}" />
</not>
</condition>
<property environment="envVar" />
<condition property="eclipse.home" value="${envVar.ECLIPSE_HOME}">
<isset property="envVar.ECLIPSE_HOME" />
</condition>
<fail unless="eclipse.home" message="********** Please set up and use an ant property eclipse.home set to an Eclipse installation at level 3.3 or later, e.g. c:/eclipses/3.3/eclipse" />
<fail unless="uima-eclipse-jar-processor" message="********** Please add to your settings.xml file the property uima-eclipse-jar-processor, point to this within an Eclipse installation at level 4.2 or later, e.g. \$\{uima-maven-build-eclipse-home\}/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.200.v20110808-1657.jar" />
<!-- =================================== -->
<!-- SVN checkout from release -->
<!-- and checkout to subsite -->
<!-- =================================== -->
<if>
<equals arg1="${isApacheRelease}" arg2="true" />
<then>
<echo>checking out eclipse update subsite ${eclipseUpdateSiteComponent} from dist ...release...</echo>
<delete dir="${eclipseUpdateSubSite}" quiet="true" />
<exec executable="svn">
<arg value="checkout" />
<arg value="${distsvnroot}repos/dist/release/uima/eclipse-update-site/${eclipseUpdateSiteComponent}" />
<arg value="${eclipseUpdateSubSite}" />
</exec>
<!-- abandon safety for now
<echo>switching this checkout to ...dev... for safety</echo>
<exec executable="svn">
<arg value="switch" />
<arg value="- -force" /> remove space between 2 dashes if uncommented
<arg value="- -accept" /> remove space between 2 dashes if uncommented
<arg value="mine-full" />
<arg value="${distsvnroot}repos/dist/dev/uima/eclipse-update-site/${eclipseUpdateSiteComponent}" />
<arg value="${eclipseUpdateSubSite}" />
</exec>
-->
</then>
<else>
<echo>skipping checkout of current svn dist release (because not apache-release)</echo>
<!-- https://issues.apache.org/jira/browse/UIMA-3501 -->
<delete dir="${eclipseUpdateSubSite}" quiet="true" />
</else>
</if>
<echo>Compress plugin Jars using pack200 - this may take a minute or 2</echo>
<java jar="${uima-eclipse-jar-processor}" fork="true" failonerror="true" maxmemory="256m">
<arg line="-processAll" />
<arg line="-repack" />
<arg line="-pack" />
<arg line="-verbose" />
<!-- only pack the plugins. The publisher won't copy packed "features",
they are tiny anyways -->
<arg line="-outputDir ${eusWork}/plugins" />
<arg line="${toBePacked}" />
</java>
<!-- copy also the original unpacked jars to the subsite in the plugins dir -->
<copy todir="${eusWork}/plugins">
<fileset dir="${toBePacked}" />
</copy>
<!--FAILED EXPERIMENT: COMMENTED OUT
manually publish - eusWork to subsite
rename to follow Eclipse conventions
<echo>Copy jar and jar.pack.gz artifacts to the target subsite</echo>
-->
<!-- mimic publish action of renaming artifacts from -SNAPSHOT to .SNAPSHOT -->
<!-- We do an ANT copy because the publishArtifacts won't copy if the target
has an indentically-named artifact (as is often the case during
testing, with the artifact ending in -SNAPSHOT) -->
<!--
<copy todir="${eclipseUpdateSubSite}">
<fileset dir="${eusWork}" />
<compositemapper>
<globmapper from="*-SNAPSHOT.jar" to="*.SNAPSHOT.jar" />
<globmapper from="*-SNAPSHOT.jar.pack.gz" to="*.SNAPSHOT.jar.pack.gz" />
<regexpmapper from="^(.(?!-SNAPSHOT))*\.jar(.*)$$" to="\0" />
</compositemapper>
</copy>
-->
<echo>Generate the p2 metadata and publish new artifacts</echo>
<!-- Append is needed because category info is incremental with each additional release -->
<!-- publishArtifacts is needed to generate p2 metadata for the pack.gz forms -->
<!-- - tried and failed: using ANT to copy artifacts to the target - doesn't update metadata
for pack.gz form ! if you don't publish artifacts
- doesn't update artifacts.jar
- deleting SNAPSHOT jars in the eclipse update subsite
- fails because the previous metadata has info about those jars
and that isn't deleted, and continues to be used
-->
<java jar="${eclipse-equinox-launcher}" fork="true" failonerror="true" maxmemory="256m">
<arg line="-application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher" />
<arg line="-metadataRepository file:///${eclipseUpdateSubSite}" />
<arg line="-artifactRepository file:///${eclipseUpdateSubSite}" />
<arg line="-source ${eusWork}" />
<arg line="-configs ANY.ANY.ANY" />
<arg line="-publishArtifacts" />
<arg line="-reusePack200Files" />
<arg line="-compress" />
<arg line="-append" />
</java>
<echo>Augment p2 metadata with category information</echo>
<java jar="${eclipse-equinox-launcher}" fork="true" failonerror="true" maxmemory="256m">
<arg line="-application org.eclipse.equinox.p2.publisher.CategoryPublisher" />
<arg line="-metadataRepository file:///${eclipseUpdateSubSite}" />
<arg line="-categoryDefinition file:///${basedir}/category.xml" />
<arg line="-categoryQualifier apache-uima" />
<arg line="-compress" />
</java>
<!-- ========================================== -->
<!-- If apache-release, do checksums and sign -->
<!-- ========================================== -->
<if>
<equals arg1="${isApacheRelease}" arg2="true" />
<then>
<echo message="Generating checksums for new features and plugins" />
<checksum algorithm="sha1" format="MD5SUM">
<fileset dir="${eusWork}">
<include name="**/*.gz" />
<include name="**/*.jar" />
</fileset>
</checksum>
<checksum algorithm="md5" format="MD5SUM">
<fileset dir="${eusWork}">
<include name="**/*.gz" />
<include name="**/*.jar" />
</fileset>
</checksum>
<echo message="Generating gpg signatures for new features and plugins" />
<apply executable="gpg" dir="${eusWork}">
<arg value="--detach-sign" />
<arg value="--armor" />
<!-- batch flag needed to avoid gpg hang up -->
<arg value="--batch" />
<fileset dir="${eusWork}">
<include name="**/*.jar" />
<include name="**/*.jar.pack.gz" />
</fileset>
</apply>
<echo message="Copying the checksums and signatures to the update subsite" />
<copy todir="${eclipseUpdateSubSite}">
<fileset dir="${eusWork}">
<include name="**/*.asc" />
<include name="**/*.md5" />
<include name="**/*.sha1" />
</fileset>
</copy>
<echo message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" />
<delete dir="${eclipseUpdateSubSite}">
<include name="*.sha1" />
<include name="*.md5" />
<include name="*.asc" />
</delete>
<echo message="Generating checksums for updated artifacts.jar and content.jar" />
<checksum algorithm="sha1" format="MD5SUM">
<fileset dir="${eclipseUpdateSubSite}">
<include name="*.jar" />
</fileset>
</checksum>
<checksum algorithm="md5" format="MD5SUM">
<fileset dir="${eclipseUpdateSubSite}">
<include name="*.jar" />
</fileset>
</checksum>
<echo message="Generating gpg signatures for artifacts.jar and content.jar" />
<apply executable="gpg" dir="${eclipseUpdateSubSite}">
<arg value="--detach-sign" />
<arg value="--armor" />
<!-- batch flag needed to avoid gpg hang up -->
<arg value="--batch" />
<fileset dir="${eclipseUpdateSubSite}">
<include name="*.jar" />
</fileset>
</apply>
</then>
</if>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- **************************************** -->
<!-- * Build Simple Project Binary Assembly * -->
<!-- **************************************** -->
<!-- this profile holds common, factored-out settings for all
projects that are packaged as single projects
(that is, not as multi-module projects), typically Sandbox projects.
It builds, in addition to the standard artifacts and attachments,
a binary artifact, which includes:
- The main generated artifact, in the lib/ dir
- dependent artifacts needed at runtime (not otherwise provided), in the lib/ dir
- Lic/Not/Readme/releaseNotes from root dir
- generated documentation in the docs/ dir
At release time the standard Apache parent builds the
- "source-release" artifact, and the
- "javadocs" artifact
Conventions:
License/Notice for Jar: uses the standard license/notice
License/Notice for bin: uses the custom files from project top level
dependencies on other artifacts:
Specified as scope runtime or compile causes these to be included in the lib dir
-->
<profile>
<id>build simple project binary assembly</id>
<activation>
<file>
<exists>marker-file-identifying-single-project</exists>
</file>
</activation>
<build>
<plugins>
<!-- ********************************************* -->
<!-- * Common Build -->
<!-- * *** FOR addons only *** -->
<!-- ********************************************* -->
<!-- * Base Jar is built, -->
<!-- * has no dependencies included -->
<!-- * has basic LICENSE/NOTICE files -->
<!-- * Base augmented dir built -->
<!-- * has Base Jar in lib/ -->
<!-- * has dependencies in lib/ -->
<!-- * has other things that go into PEAR -->
<!-- * except the pear install.xml -->
<!-- * has augmented LICENSE/NOTICE files -->
<!-- * -->
<!-- * This base is reused to make packages: -->
<!-- * PEAR - adds the install.xml -->
<!-- * - actually, the PEAR builder -->
<!-- * will redo the copies, itself -->
<!-- * OSGi - adds the OSGi manifest -->
<!-- * - removes the doc, javadocs -->
<!-- * individual zip/tar -->
<!-- * addons aggregate binary zip/tar -->
<!-- ********************************************* -->
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<!-- turn on javadoc build for each module -->
<phase>prepare-package</phase> <!-- before package, in case package needs the result -->
</execution>
</executions>
</plugin>
<!-- Build base -->
<!-- populate the lib dir with all needed dependencies
that will be distributed with this component
NOTE: TRANSITIVE DEPENDENIES ARE NOT INCLUDED
ANYTHING YOU WANT INCLUDED IN THE JAR
PLEASE LIST EXPLICITLY AND MODIFY THE LICENSE/NOTICE
APPROPRIATELY
Runs during process-resources -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Copy the dependencies to the target/base-bin/lib folder -->
<execution>
<id>copy dependencies to base-bin/lib</id>
<goals><goal>copy-dependencies</goal></goals>
<phase>process-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/base-bin/lib</outputDirectory>
<includeScope>runtime</includeScope>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<!-- add directories if they exist -->
<execution>
<id>copy standard dirs and files to base-bin</id>
<goals><goal>copy-resources</goal></goals>
<phase>process-resources</phase> <!-- required -->
<configuration>
<outputDirectory>${project.build.directory}/base-bin</outputDirectory>
<resources>
<resource>
<directory>.</directory>
<includes>
<include>desc/**</include>
<include>conf/**</include>
<include>data/**</include>
<include>doc/**</include>
<include>docs/**</include>
<include>resources/**</include>
<include>bin/**</include>
<include>LICENSE*</include>
<include>NOTICE*</include>
<include>README*</include>
<include>readme*</include>
<include>RELEASE_NOTES*</include>
<include>ReleaseNotes*</include>
<include>issuesFixed/**</include>
</includes>
</resource>
<resource>
<directory>src/main/readme</directory>
</resource>
</resources>
</configuration>
</execution>
<!-- copy generated Jar to base-bin/lib spot -->
<execution>
<id>copy standard target jar to base-bin/lib</id>
<goals><goal>copy-resources</goal></goals>
<phase>pre-integration-test</phase> <!-- a phase after jar -->
<configuration>
<outputDirectory>${project.build.directory}/base-bin/lib</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}</directory>
<includes><include>*.jar</include></includes>
<excludes>
<exclude>*-sources.jar</exclude>
<exclude>*-osgi.jar</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
<!-- copy generated docbook artifacts -->
<execution>
<id>copy generated docbook artifacts to base-bin/doc folder</id>
<goals><goal>copy-resources</goal></goals>
<phase>pre-integration-test</phase> <!-- a phase after docbkx (package) phase -->
<configuration>
<outputDirectory>${project.build.directory}/base-bin/doc</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/site/d</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>binary-release</id> <!-- is "classifier" - match maven convention -->
<goals><goal>single</goal></goals>
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg -->
<configuration>
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
<descriptorRefs>
<descriptorRef>
uima-single-project-bin2
</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uima-build-resources</artifactId>
<version>${uimaBuildResourcesVersion}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<!-- ********************************** -->
<!-- * Build OSGi bundle * -->
<!-- ********************************** -->
<profile>
<id>build OSGi bundle for annotator</id>
<activation>
<file>
<exists>marker-file-identifying-osgi-project</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<!-- copy the base-bin dir to the osgi dir -->
<execution>
<id>Copy base-bin to osgi</id>
<goals><goal>copy-resources</goal></goals>
<phase>integration-test</phase>
<configuration>
<outputDirectory>${project.build.directory}/osgi</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/base-bin</directory>
<includes><include>**</include></includes>
<excludes>
<exclude>doc/**</exclude>
<exclude>docs/**</exclude>
<exclude>**/*-javadoc.jar</exclude>
<exclude>issuesFixed/**</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- copy any uima dependencies needed to osgi/lib
beyond what is done for the common build.
NOTE: can't just add dependencies, because
a) local projects override scope to "provided" and
b) this would result in the jars being copied for
the common build -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>Copy uima dependencies to osgi/lib</id>
<goals><goal>copy</goal></goals>
<phase>process-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/osgi/lib</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-core</artifactId>
<version>${uimaDependencyVersion}</version>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>uima-bundle</id>
<phase>integration-test</phase>
<goals><goal>manifest</goal></goals>
<configuration>
<buildDirectory>${project.build.directory}/osgi</buildDirectory>
<manifestLocation>${project.build.directory}/osgi/META-INF</manifestLocation>
<instructions>
<Import-Package>org.apache.log.*;resolution:=optional</Import-Package>
<Embed-Dependency>*;scope=compile;</Embed-Dependency>
<Embed-Directory>lib</Embed-Directory>
<Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
<Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
<Bundle-ClassPath>.,lib/${project.build.finalName}.jar,{maven-dependencies},lib/uimaj-core-${uimaDependencyVersion}.jar</Bundle-ClassPath>
<Include-Resource>
{maven-resources}, {maven-dependencies},
lib/uimaj-core-${uimaDependencyVersion}.jar=${settings.localRepository}/org/apache/uima/uimaj-core/${uimaDependencyVersion}/uimaj-core-${uimaDependencyVersion}.jar
</Include-Resource>
<Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
<Bundle-SymbolicName>${project.groupId}.${project.artifactId};singleton:=true</Bundle-SymbolicName>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
<!-- Run JAR to create OSGi Jar -->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>Create OSGi Jar</id>
<goals><goal>jar</goal></goals>
<phase>integration-test</phase> <!-- after above build step -->
<configuration>
<finalName>${project.groupId}.${project.artifactId}_${parsedVersion.osgiVersion}</finalName>
<classifier>osgi</classifier>
<classesDirectory>${project.build.directory}/osgi</classesDirectory>
<archive>
<manifestFile>${project.build.directory}/osgi/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- ********************************** -->
<!-- * Build Standard PEAR * -->
<!-- ********************************** -->
<profile>
<id>build standard PEAR</id>
<activation>
<file>
<exists>marker-file-identifying-standard-pear</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<!-- add the contents of desc if it exists to the jar.
This puts the things like the WhitespaceTokenizer.xml file into the Jar
and makes it easier for users to run this, without installing a pear.
The Tagger project uses this technique, for instance -->
<execution>
<id>copy desc so its contents can be found in Jar</id>
<goals><goal>copy-resources</goal></goals>
<phase>process-resources</phase> <!-- required -->
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>desc</directory>
<includes><include>**</include></includes>
</resource>
</resources>
</configuration>
</execution>
<!-- copy the base-bin dir to the pearPackaging dir -->
<execution>
<id>Copy base-bin to pearPackaging</id>
<goals><goal>copy-resources</goal></goals>
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg -->
<configuration>
<outputDirectory>${project.build.directory}/pearPackaging</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/base-bin</directory>
<includes><include>**</include></includes>
<excludes>
<exclude>**/*-javadoc.jar</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<!-- turn on javadoc build for each module -->
<phase>package</phase>
</execution>
</executions>
</plugin>
<!-- build the PEAR -->
<plugin>
<groupId>org.apache.uima</groupId>
<artifactId>PearPackagingMavenPlugin</artifactId>
<version>2.4.0</version>
<extensions>true</extensions>
<executions>
<execution>
<id>build uima annnotator Pear</id>
<goals><goal>package</goal></goals>
<!-- needs to run after the jar is built
after docbooks are packaged and copied to pearPackaging/doc folder -->
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg -->
<configuration>
<datapath>$main_root/resources</datapath>
<componentId>${project.artifactId}</componentId>
<mainComponentDesc>${pearMainDescriptor}</mainComponentDesc>
</configuration>
</execution>
</executions>
</plugin>
<!-- Attach PEAR artifact after PEAR is built -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-pear-artifact</id>
<phase>post-integration-test</phase>
<goals><goal>attach-artifact</goal></goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.artifactId}.pear</file>
<type>pear</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>m2e</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<!-- ***************************** -->
<!-- IGNORE remote resources -->
<!-- ***************************** -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>
maven-remote-resources-plugin
</artifactId>
<versionRange>[1,)</versionRange>
<goals>
<goal>process</goal>
<goal>bundle</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<!-- ***************************** -->
<!-- EXECUTE parse-date-time -->
<!-- ***************************** -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.uima</groupId>
<artifactId>
uima-build-helper-maven-plugin
</artifactId>
<versionRange>[2,)</versionRange>
<goals>
<goal>parse-date-time</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
<!-- ******************************* -->
<!-- IGNORE dependency copy / unpack -->
<!-- ******************************* -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2,)</versionRange>
<goals>
<goal>unpack</goal>
<goal>copy-dependencies</goal>
<goal>unpack-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<!-- *********************************************** -->
<!-- IGNORE enforcer - to avoid warning message -->
<!-- https://issues.apache.org/jira/browse/UIMA-3053 -->
<!-- *********************************************** -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<versionRange>[1,)</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<!-- ******************************* -->
<!-- IGNORE clearing old Manifest.MF -->
<!-- at top level, needed by -->
<!-- maven bundle plugin -->
<!-- ******************************* -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.6,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<!-- *********************************************** -->
<!-- EXECUTE most javacc goals -->
<!-- *********************************************** -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javacc-maven-plugin</artifactId>
<versionRange>[2,)</versionRange>
<goals>
<goal>javacc</goal>
<goal>jjtree-javacc</goal>
<goal>jjtree</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>javacc-maven-plugin</artifactId>
<versionRange>[2,)</versionRange>
<goals>
<goal>jjdoc</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>