Merge pull request #10 from apache/UIMA-6327-UIMA-Parent-POM-14-release

[UIMA-6327] UIMA parent pom 14 release
diff --git a/pom.xml b/pom.xml
index 2cb3d70..a635178 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,2970 +1,2924 @@
-<?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.6 as the base

-      Javadoc at 1.6 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

-  <modelVersion>4.0.0</modelVersion>

-

-  <parent>

-    <artifactId>apache</artifactId>

-    <groupId>org.apache</groupId>

-    <version>23</version>

-    <relativePath />

-  </parent>

-

-  <groupId>org.apache.uima</groupId>

-  <artifactId>parent-pom</artifactId>

-  <version>14-SNAPSHOT</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>https://lists.apache.org/list.html?dev@uima.apache.org</archive>

-      <otherArchives>

-        <otherArchive>https://mail-archives.apache.org/mod_mbox/uima-dev</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>https://lists.apache.org/list.html?user@uima.apache.org</archive>

-      <otherArchives>

-        <otherArchive>https://mail-archives.apache.org/mod_mbox/uima-user</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>https://lists.apache.org/list.html?commits@uima.apache.org</archive>

-      <otherArchives>

-        <otherArchive>https://mail-archives.apache.org/mod_mbox/uima-commits</otherArchive>

-      </otherArchives>

-    </mailingList>

-  </mailingLists>

-

-  <scm>

-    <connection>scm:git:https://github.com/apache/uima-parent-pom</connection>

-    <developerConnection>scm:git:https://github.com/apache/uima-parent-pom</developerConnection>

-    <url>https://github.com/apache/uima-parent-pom</url>

-  </scm>

-

-  <issueManagement>

-    <system>Jira</system>

-    <!-- the form of the url is from https://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://ci-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

-    -->

-    <!-- for parent-pom-14. Change for each release -->

-    <jiraVersion>parent-pom-14</jiraVersion>  

-    <!--  *********************************************************************************************************** -->

-    <!--                                 U  G  H   change manually for release (to remove -SNAPSHOT                 * -->

-    <!--  *********************************************************************************************************** -->

-    <!--  *********************************************************************************************************** -->

-    <!--  *********************************************************************************************************** -->

-    <parentPomPatchVersion>13</parentPomPatchVersion>  <!-- UGH need to change this manually for release !!! -->

-    <uimaBuildResourcesVersion>6</uimaBuildResourcesVersion>

-    <uimaWebsiteUrl>https://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--> 

-

-  <!-- ============================================= -->

-  <!-- *  V E R S I O N S                            -->

-  <!-- *  most inherited from apache-wide parent pom -->

-  <!-- ============================================= -->

-    <maven.version>3.0.5</maven.version>

-    <felix.bundle.version>3.3.0</felix.bundle.version>

-

-    <maven.surefire.heap>512m</maven.surefire.heap>

-  </properties>

-

-  <repositories>

-    <!-- modify central repository access:

-         Turn on checksum checking-->

-    <repository>

-      <id>central</id>

-      <name>Maven Repository Switchboard</name>

-      <layout>default</layout>

-      <url>https://repo1.maven.org/maven2</url>

-

-      <releases>

-        <enabled>true</enabled>

-        <checksumPolicy>fail</checksumPolicy>

-        <updatePolicy>never</updatePolicy>

-      </releases>

-

-      <snapshots>

-        <enabled>false</enabled>

-      </snapshots>

-    </repository>

-  </repositories>

-

-  <build>

-    <pluginManagement>

-      <plugins>

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-remote-resources-plugin</artifactId>

-          <version>1.7.0</version>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-dependency-plugin</artifactId>

-          <version>3.1.1</version>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-resources-plugin</artifactId>

-          <version>3.1.0</version>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-deploy-plugin</artifactId>

-          <version>2.8.2</version>

-          <configuration> 

-            <!-- https://issues.apache.org/jira/browse/UIMA-5367 -->

-            <retryFailedDeploymentCount>10</retryFailedDeploymentCount>

-          </configuration>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-source-plugin</artifactId>

-          <version>3.2.1</version>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-surefire-plugin</artifactId>

-          <version>2.22.2</version>

-        </plugin>

-

-        <plugin>

-          <groupId>net.nicoulaj.maven.plugins</groupId>

-          <artifactId>checksum-maven-plugin</artifactId>

-          <version>1.8</version>

-        </plugin>

-

-        <!-- assembly plugin 

-             Disable running assembly:assembly with

-             warning message to use install instead -->

-        <plugin>

-          <artifactId>maven-assembly-plugin</artifactId>

-          <version>3.2.0</version>

-          <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>3.0.0</version>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-plugin-plugin</artifactId>

-          <version>3.6.0</version>

-          <executions>

-            <execution>

-              <!-- force to use process-classes phase so runs after Java Annotations are available -->

-              <!-- https://jira.codehaus.org/browse/MPLUGIN-267 -->

-              <id>default-descriptor</id>

-              <phase>process-classes</phase>

-            </execution>

-            <execution>

-              <id>generate-helpmojo</id>

-              <goals>

-                <goal>helpmojo</goal>

-              </goals>

-            </execution>

-          </executions>

-          <configuration>

-            <extractors>

-              <extractor>java-annotations</extractor>

-            </extractors>

-          </configuration>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-compiler-plugin</artifactId>

-          <version>3.8.1</version>

-        </plugin>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-javadoc-plugin</artifactId>

-          <version>3.1.1</version>

-          <configuration>

-            <source>${maven.compiler.source}</source>

-            <!-- https://issues.apache.org/jira/browse/UIMA-5369 -->

-            <javadocVersion>${maven.compiler.source}</javadocVersion>

-            <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>3.2.0</version>

-          <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>https://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.8</version>

-          <dependencies>

-            <dependency> <!-- for ant extension supporting "if" -->

-              <groupId>ant-contrib</groupId>

-              <artifactId>ant-contrib</artifactId>

-              <version>20020829</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.10.1</version>

-            </dependency>

-            <dependency>

-              <groupId>jakarta-regexp</groupId>

-              <artifactId>jakarta-regexp</artifactId>

-              <version>1.4</version>

-            </dependency>

-          </dependencies>

-        </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>3.3.0</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.13</version>

-          <executions>

-            <execution>

-              <id>default-cli</id>

-              <goals>

-                <goal>check</goal>

-              </goals>

-              <phase>verify</phase>

-              <!-- default configuration -->

-              <configuration>

-                <consoleOutput>true</consoleOutput>

-                <excludes>

-                  <exclude>.github/*</exclude> <!-- GitHub config/template files -->

-                  <exclude>release.properties</exclude> <!-- generated file -->

-                  <exclude>README*</exclude>

-                  <exclude>RELEASE_NOTES*</exclude>

-                  <exclude>issuesFixed/**</exclude> <!-- generated file -->

-                  <!-- Maven profile trigger files -->

-                  <exclude>**/marker-file-identifying-*</exclude>

-                  <exclude>DEPENDENCIES</exclude>  <!-- generated file -->

-                  <exclude>**/MANIFEST.MF</exclude> <!-- MANIFEST.MF files cannot have comments -->

-                  <exclude>**/*.ppt</exclude> <!--  power point sources -->

-                  <exclude>**/*.sha512</exclude>

-                  <exclude>**/*.patch.txt</exclude>

-                  <exclude>**/.factorypath</exclude> <!-- Eclipse APT generated file -->

-                  <exclude>**/.idea/**</exclude> <!-- IDEA config files -->

-                  <exclude>**/.settings/**</exclude> <!-- Eclipse config files -->

-                  <exclude>**/.project</exclude> <!-- Eclipse config files -->

-                  <exclude>**/.classpath</exclude> <!-- Eclipse config files -->

-                </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.12.1</version>

-          <dependencies> <!-- needed for java 11 -->

-            <dependency>

-              <groupId>javax.annotation</groupId>

-              <artifactId>javax.annotation-api</artifactId>

-              <version>1.3.2</version>

-            </dependency>

-          </dependencies>

-          <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>

-

-        <plugin>

-          <groupId>org.apache.maven.plugins</groupId>

-          <artifactId>maven-enforcer-plugin</artifactId>

-          <version>3.0.0-M3</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>${maven.version}</version>

-                </requireMavenVersion>

-                <requireJavaVersion>

-                  <version>${maven.compiler.target}</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>

-      </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>

-            <plugin>

-              <groupId>net.nicoulaj.maven.plugins</groupId>

-              <artifactId>checksum-maven-plugin</artifactId>

-            </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 several phases 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>

-                    <!-- copy to target so checksum-maven-plugin can sha512 checkum it -->

-                    <property name="pom-file-tgt"

-                      location="${project.build.directory}/${project.build.finalName}.pom" />

-                    <property name="pom-file-src"

-                      location="${project.build.directory}/../pom.xml" />

-                    <copy file="${pom-file-src}" tofile="${pom-file-tgt}" />

-                    

-                    <!-- patch gpg and checksum jars in local .m2 -->

-                    <echo

-                      message="patch maven-gpg-plugin and checksum-maven-plugin. if get copy failure message, rerun this build" />

-                    <copy verbose="true" overwrite="true" failonerror="false"

-                      file="${settings.localRepository}/org/apache/uima/parent-pom/${parentPomPatchVersion}/parent-pom-${parentPomPatchVersion}-gpg-plugin-patch.jar"

-                      tofile="${settings.localRepository}/org/apache/maven/plugins/maven-gpg-plugin/1.6/maven-gpg-plugin-1.6.jar" />

-                    <copy verbose="true" overwrite="true" failonerror="false"

-                      file="${settings.localRepository}/org/apache/uima/parent-pom/${parentPomPatchVersion}/parent-pom-${parentPomPatchVersion}-checksum-plugin-patch.jar"

-                      tofile="${settings.localRepository}/net/nicoulaj/maven/plugins/checksum-maven-plugin/1.8/checksum-maven-plugin-1.8.jar" />

-                  </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" forceoverwrite="yes" algorithm="SHA-512"

-                          fileext=".sha512" file="${source-release}" />

-                        <!-- <checksum format="MD5SUM" forceoverwrite="yes" algorithm="sha1" file="${source-release}" /> -->

-                        <!-- <checksum format="MD5SUM" forceoverwrite="yes" algorithm="md5" file="${source-release}" />  -->

-                        <echo message="Generating gpg signatures for source-release.zip" />

-                        <exec executable="gpg" failonerror="true">

-                          <arg value="--detach-sign" />

-                          <arg value="--armor" />

-                          <arg value="--batch" />

-                          <arg value="${source-release}" />

-                        </exec>

-                      </then>

-                    </if>

-                  </target>

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-

-          <plugin>

-            <groupId>org.apache.maven.plugins</groupId>

-            <artifactId>maven-gpg-plugin</artifactId>

-            <executions>

-              <execution>

-                <id>load-plugin</id>

-                <phase>validate</phase>

-                <goals>

-                  <goal>sign</goal>

-                </goals>

-                <configuration>

-                  <skip>true</skip>

-                </configuration>

-              </execution>

-              <execution>

-                <id>sign-release-artifacts</id>

-                <configuration>

-                  <excludes>

-                    <!--  <exclude>**/*.sha512</exclude>  https://issues.apache.org/jira/browse/UIMA-5897 -->

-                    <exclude>**/*.asc</exclude>

-                  </excludes>

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-

-          <plugin>

-            <groupId>net.nicoulaj.maven.plugins</groupId>

-            <artifactId>checksum-maven-plugin</artifactId>

-            <executions>

-              <execution>

-                <id>artifacts-checksum</id>

-                <!-- run before gpg signing, so gpg can sign (ugh) the .sha512 needed for workaround -->

-                <phase>post-integration-test</phase>

-                <goals>

-                  <goal>artifacts</goal>

-                </goals>

-                <configuration>

-                  <attachChecksums>true</attachChecksums>

-                  <appendFilename>true</appendFilename>

-                  <algorithms>

-                    <algorithm>SHA-512</algorithm>

-                  </algorithms>

-                </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>

-

-

-    <!-- *********************************************** -->

-    <!-- *  Run actions only for uima-wide parent pom  * -->

-    <!-- *    ** not inherited by sub projects **      * -->

-    <!-- *   Produce Jira report                       * -->

-    <!-- *   attach patches for gpg and chksum plugins * -->

-    <!-- *********************************************** -->

-    <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>

-          <plugin>

-            <artifactId>maven-remote-resources-plugin</artifactId>

-          </plugin>

-

-          <plugin>

-            <artifactId>maven-changes-plugin</artifactId>

-          </plugin>

-

-          <!-- copy patch jars to project-build-dir with name change

-                 otherwise the checksum plugin wont work on them -->

-          <plugin>

-            <artifactId>maven-antrun-plugin</artifactId>

-            <executions>

-              <execution>

-                <id>setup-patch-jars</id>

-                <phase>process-resources</phase>

-                <goals>

-                  <goal>run</goal>

-                </goals>

-                <configuration>

-                  <target>

-                    <property name="checksum-tgt"

-                      location="${project.build.directory}/${project.artifactId}-${project.version}-checksum-plugin-patch.jar" />

-                    <property name="checksum-src"

-                      location="${project.build.directory}/../src/resources/checksum-maven-plugin-1.8.jar" />

-                    <copy file="${checksum-src}" tofile="${checksum-tgt}" verbose="true" />

-                    <property name="gpg-tgt"

-                      location="${project.build.directory}/${project.artifactId}-${project.version}-gpg-plugin-patch.jar" />

-                    <property name="gpg-src"

-                      location="${project.build.directory}/../src/resources/maven-gpg-plugin-1.6.jar" />

-                    <copy file="${gpg-src}" tofile="${gpg-tgt}" verbose="true" />

-                  </target>

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-

-          <plugin>

-            <groupId>org.codehaus.mojo</groupId>

-            <artifactId>build-helper-maven-plugin</artifactId>

-            <executions>

-              <execution>

-                <id>attach-gpg-checksum-patch-jars</id>

-                <goals>

-                  <goal>attach-artifact</goal>

-                </goals>

-                <phase>process-resources</phase>  <!-- before signing and checksum -->

-                <configuration>

-                  <artifacts>

-                    <artifact>

-                      <file>${project.build.directory}/${project.artifactId}-${project.version}-checksum-plugin-patch.jar</file>

-                      <type>jar</type>

-                      <classifier>checksum-plugin-patch</classifier>

-                    </artifact>

-                    <artifact>

-                      <file>${project.build.directory}/${project.artifactId}-${project.version}-gpg-plugin-patch.jar</file>

-                      <type>jar</type>

-                      <classifier>gpg-plugin-patch</classifier>

-                    </artifact>

-                  </artifacts>

-                </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>

-      

-      <build>

-        <plugins>

-          <!-- 

-            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>

-                  <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 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="SHA-512" fileext=".sha512" format="MD5SUM"

-                      forceoverwrite="yes">

-                      <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>

-        <distsvnroot>https://dist.apache.org/</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 -> 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 features to be included -> target/eus-work                           --> 

-          <!--         (eus = Eclipse Update Site)                                          --> 

-          <!--                                                                              --> 

-          <!--     filter category.xml to pick up version #                                 --> 

-          <!--                                                                              --> 

-          <!--  PACKAGE                                                                     --> 

-          <!--     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="${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" />

-

-                    <!-- =================================== -->

-                    <!-- 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" failonerror="true">

-                          <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>Save conditioned Jars prior to signing, in case of redo</echo>

-                    <echo>-------------------------------------------------------</echo>

-                    <copy todir="${project.build.directory}/saved/features" failonerror="true">

-                      <fileset dir="${eusWork}/features" includes="*.jar" />

-                    </copy>

-                    <copy todir="${project.build.directory}/saved/plugins" failonerror="true">

-                      <fileset dir="${eusWork}/plugins" includes="*.jar" />

-                    </copy>

-                                            

-                    <echo>Generate the p2 metadata and publish new artifacts</echo>

-                    <!-- Append is needed because category info is incremental with each additional release -->

-                    <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="-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="SHA-512" fileext=".sha512" format="MD5SUM"

-                          forceoverwrite="yes">

-                          <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}" failonerror="true">

-                          <arg value="--detach-sign" />

-                          <arg value="--armor" />

-                          <!-- batch flag needed to avoid gpg hang up -->

-                          <arg value="--batch" />

-                          <fileset dir="${eusWork}">

-                            <include name="**/*.jar" />

-                          </fileset>

-                        </apply>

-

-                        <echo

-                          message="Copying the checksums and signatures to the update subsite" />

-                        <copy todir="${eclipseUpdateSubSite}" failonerror="true">

-                          <fileset dir="${eusWork}">

-                            <include name="**/*.asc" />

-                            <include name="**/*.sha512" />

-                          </fileset>

-                        </copy>

-

-                        <echo

-                          message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" />

-                        <delete dir="${eclipseUpdateSubSite}">

-                          <include name="*.asc" />

-                          <include name="**/*.sha512" />

-                        </delete>

-

-                        <echo

-                          message="Generating checksums for updated artifacts.jar and content.jar" />

-                        <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM"

-                          forceoverwrite="yes">

-                          <fileset dir="${eclipseUpdateSubSite}">

-                            <include name="*.jar" />

-                          </fileset>

-                        </checksum>

-    

-                        <echo

-                          message="Generating gpg signatures for artifacts.jar and content.jar" />

-                        <apply executable="gpg" dir="${eclipseUpdateSubSite}"

-                          failonerror="true">

-                          <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>

-

-              <!-- ================================================= -->

-              <!--                                                   -->

-              <!--       P O S T   JAR   S I G N I N G by Digicert   -->

-              <!--                                                   -->

-              <!--   Rerun publish and sign after jar-signing   -->

-              <!--   Has NO GOAL or PHASE, so doesn't run normally   -->

-              <!--   run using mvn                                   -->   

-              <!--      antrun:run@make-subsite-after-signing        -->

-              <!-- ================================================= -->

-              <execution>

-                <id>make-subsite-after-signing</id>

-                <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>

-

-                    <echo>

-                    </echo>

-                    <echo>Resetting the content and artifacts for the site</echo>

-                    <echo>------------------------------------------------</echo>

-                    

-                    <!-- This is needed because the previous pre-build step already

-                         updated the content and artifacts jar with the new versions -->

-                    <delete verbose="true">

-                      <fileset dir="${eclipseUpdateSubSite}"

-                        includes="content.jar,artifacts.jar" />

-                    </delete>

-                    <copy todir="${eclipseUpdateSubSite}" failonerror="false">

-                      <fileset dir="${project.build.directory}/saved"

-                        includes="content.jar,artifacts.jar" />

-                    </copy>

-

-                    <echo>

-                    </echo>

-                    <echo>Generate the p2 metadata and publish new artifacts</echo>

-                    <echo>--------------------------------------------------</echo>

-                    <!-- Append is needed because category info is incremental with each additional release -->

-                    <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="-compress" />

-                      <arg line="-append" />

-                    </java>

-

-                    <echo>Augment p2 metadata with category information</echo>

-                    <echo>---------------------------------------------</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>

-

-                    <echo>

-                    </echo>

-                    <echo>Clearing previous checksums and signatures for eusWork plugins</echo>

-                    <delete dir="${eusWork}">

-                      <include name="**/*.asc" />

-                      <include name="**/*.sha512" />

-                      <!-- include name="**/*.md5" /-->

-                      <!-- <include name="**/*.sha1" /> -->

-                    </delete>

-

-                    <echo message="Generating checksums for signed plugins" />

-

-                    <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM"

-                      forceoverwrite="yes">

-                      <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}" failonerror="true">

-                      <arg value="--detach-sign" />

-                      <arg value="--armor" />

-                      <!-- batch flag needed to avoid gpg hang up -->

-                      <arg value="--batch" />

-                      <fileset dir="${eusWork}">

-                        <include name="**/*.jar" />

-                      </fileset>

-                    </apply>

-

-                    <echo message="Copying the checksums and signatures to the update subsite" />

-                    <copy todir="${eclipseUpdateSubSite}" failonerror="true">

-                      <fileset dir="${eusWork}">

-                        <include name="**/*.asc" />

-                        <include name="**/*.sha512" />

-                        <!-- include name="**/*.md5" /-->

-                        <!-- <include name="**/*.sha1" /> -->

-                      </fileset>

-                    </copy>

-

-                    <echo>

-                    </echo>

-                    <echo

-                      message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" />

-                    <delete dir="${eclipseUpdateSubSite}">

-                      <include name="*.asc" />

-                      <include name="*.sha512" />

-                      <!-- <include name="*.md5" /> -->

-                      <!-- <include name="*.sha1" /> -->

-                    </delete>

-

-                    <echo

-                      message="Generating checksums for updated artifacts.jar and content.jar" />

-                    <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM"

-                      forceoverwrite="yes">

-                      <fileset dir="${eclipseUpdateSubSite}">

-                        <include name="*.jar" />

-                      </fileset>

-                    </checksum> 

-

-                    <echo message="Generating gpg signatures for artifacts.jar and content.jar" />

-                    <apply executable="gpg" dir="${eclipseUpdateSubSite}" failonerror="true">

-                      <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>

-                  </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.6</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.10.5</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>

-    

-

-    <!-- *********************************** -->

-    <!-- * Eclipse: m2e lifecycle bindings * -->

-    <!-- *********************************** -->

-    <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>

-                    

-                    <!-- *********************************************** -->

-                    <!-- The Maven Dev Connector for Eclipse m2e is no   -->

-                    <!-- longer maintained. We copy the relevant part    --> 

-                    <!-- of the lifecycle mapping for the                -->

-                    <!-- maven-plugin-plugin here.                       -->

-                    <!--                                                 -->

-                    <!-- See https://github.com/ifedorenko/com.ifedorenko.m2e.mavendev/blob/master/com.ifedorenko.m2e.mavendev/lifecycle-mapping-metadata.xml -->

-                    <!-- *********************************************** -->

-                    <pluginExecution>

-                      <pluginExecutionFilter>

-                        <groupId>org.apache.maven.plugins</groupId>

-                        <artifactId>maven-plugin-plugin</artifactId>

-                        <versionRange>[3.5.2,)</versionRange>

-                        <goals>

-                          <goal>descriptor</goal>

-                        </goals>

-                      </pluginExecutionFilter>

-                      <action>

-                        <execute>

-                          <runOnIncremental>false</runOnIncremental>

-                        </execute>

-                      </action>

-                    </pluginExecution>

-                    <pluginExecution>

-                      <pluginExecutionFilter>

-                        <groupId>org.apache.maven.plugins</groupId>

-                        <artifactId>maven-plugin-plugin</artifactId>

-                        <versionRange>[3.5.2,)</versionRange>

-                        <goals>

-                          <goal>helpmojo</goal>

-                        </goals>

-                      </pluginExecutionFilter>

-                      <action>

-                        <ignore />

-                      </action>

-                    </pluginExecution>

-                  </pluginExecutions>

-                </lifecycleMappingMetadata>

-              </configuration>

-            </plugin>

-          </plugins>

-        </pluginManagement>

-      </build>

-    </profile>

-

-

-    <!-- ********************************** -->

-    <!-- * Code quality: spotbugs         * -->

-    <!-- ********************************** -->

-    <profile>

-      <id>spotbugs</id>

-      <build>

-        <plugins>

-          <plugin>

-            <groupId>com.github.spotbugs</groupId>

-            <artifactId>spotbugs-maven-plugin</artifactId>

-            <version>3.1.12.2</version>

-            <executions>

-              <execution>

-                <id>default</id>

-                <phase>verify</phase>

-                <goals>

-                  <goal>check</goal>

-                </goals>

-                <configuration>

-                  <failOnError>false</failOnError>

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-        </plugins>

-      </build>

-    </profile>

-

-

-    <!-- ********************************** -->

-    <!-- * Code quality: JaCoCo           * -->

-    <!-- ********************************** -->

-    <profile>

-      <id>jacoco</id>

-      <properties>

-        <jacoco.argLine />

-        <maven.surefire.argLine />

-        <maven.surefire.java9 />

-      </properties>

-      <build>

-        <plugins>

-          <plugin>

-            <groupId>org.apache.maven.plugins</groupId>

-            <artifactId>maven-surefire-plugin</artifactId>

-            <configuration>

-              <argLine>@{jacoco.argLine} -Xmx@{maven.surefire.heap} -Xms@{maven.surefire.heap} @{maven.surefire.argLine} @{maven.surefire.java9}</argLine>

-            </configuration>

-          </plugin>

-          <plugin>

-            <groupId>org.jacoco</groupId>

-            <artifactId>jacoco-maven-plugin</artifactId>

-            <version>0.8.5</version>

-            <executions>

-              <execution>

-                <id>default-prepare-agent</id>

-                <goals>

-                  <goal>prepare-agent</goal>

-                </goals>

-                <configuration>

-                  <propertyName>jacoco.argLine</propertyName>

-                </configuration>

-              </execution>

-              <execution>

-                <id>default-report</id>

-                <phase>prepare-package</phase>

-                <goals>

-                  <goal>report</goal>

-                </goals>

-              </execution>

-              <execution>

-                <id>default-check</id>

-                <goals>

-                  <goal>check</goal>

-                </goals>

-                <configuration>

-                  <rules />

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-        </plugins>

-      </build>

-    </profile>

-

-

-    <!-- ********************************** -->

-    <!-- * Code quality: PMD              * -->

-    <!-- ********************************** -->

-    <profile>

-      <id>pmd</id>

-      <build>

-        <plugins>

-          <plugin>

-            <groupId>org.apache.maven.plugins</groupId>

-            <artifactId>maven-pmd-plugin</artifactId>

-            <version>3.12.0</version>

-            <executions>

-              <execution>

-                <phase>package</phase>

-                <goals>

-                  <goal>cpd</goal>

-                  <goal>pmd</goal>

-                </goals>

-              </execution>

-            </executions>

-            <configuration>

-              <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>

-              <targetJdk>${maven.compiler.target}</targetJdk>

-              <linkXRef>false</linkXRef>

-            </configuration>

-          </plugin>

-        </plugins>

-      </build>

-    </profile>

-    

-

-    <!-- ********************************** -->

-    <!-- * Backwards compatibility report * -->

-    <!-- ********************************** -->

-    <profile>

-      <id>enforce-compatibility</id>

-      <activation>

-        <file>

-          <exists>marker-file-identifying-api-compatibility-check</exists>

-        </file>

-      </activation>

-

-      <properties>

-        <japicmp.postAnalysisScript>${project.build.directory}/japicmp-resources/japicmp/api-report.groovy</japicmp.postAnalysisScript>

-      </properties>

-

-      <build>

-        <pluginManagement>

-          <plugins>

-            <plugin>

-              <groupId>org.apache.rat</groupId>

-              <artifactId>apache-rat-plugin</artifactId>

-              <executions>

-                <execution>

-                  <id>default-cli</id>

-                  <configuration>

-                    <excludes combine.children="append">

-                      <exclude>**/api-change-report/**/*.*</exclude>

-                    </excludes>

-                  </configuration>

-                </execution>

-              </executions>

-            </plugin>

-          </plugins>

-        </pluginManagement>

-

-        <plugins>

-          <plugin>

-            <groupId>org.apache.maven.plugins</groupId>

-            <artifactId>maven-dependency-plugin</artifactId>

-            <executions>

-              <execution>

-                <id>provide-japicmp-postAnalysisScript</id>

-                <phase>prepare-package</phase>

-                <goals>

-                  <goal>unpack</goal>

-                </goals>

-                <configuration>

-                  <artifactItems>

-                    <artifactItem>

-                      <groupId>org.apache.uima</groupId>

-                      <artifactId>uima-build-resources</artifactId>

-                      <version>${uimaBuildResourcesVersion}</version>

-                      <type>jar</type>

-                      <overWrite>true</overWrite>

-                      <outputDirectory>${project.build.directory}/japicmp-resources/</outputDirectory>

-                      <includes>japicmp/api-report.groovy</includes>

-                    </artifactItem>

-                  </artifactItems>

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-        

-          <!-- https://siom79.github.io/japicmp/MavenPlugin.html -->

-          <plugin>

-            <groupId>com.github.siom79.japicmp</groupId>

-            <artifactId>japicmp-maven-plugin</artifactId>

-            <version>0.14.4</version>

-            <configuration>

-              <oldVersion>

-                <dependency>

-                  <groupId>${project.groupId}</groupId>

-                  <artifactId>${project.artifactId}</artifactId>

-                  <version>${api_check_oldVersion}</version>

-                </dependency>

-              </oldVersion>

-              <parameter>

-                <onlyModified>true</onlyModified>

-                <!-- filter out classes with impl in their package or class name -->

-                <postAnalysisScript>${japicmp.postAnalysisScript}</postAnalysisScript>

-              </parameter>

-            </configuration>

-            <executions>

-              <execution>

-                <phase>verify</phase>

-                <goals>

-                  <goal>cmp</goal>

-                </goals>

-              </execution>

-            </executions>

-          </plugin>

-          

-          <!-- This copy is to have the api change report included in the source distribution -->

-          <plugin>

-            <artifactId>maven-antrun-plugin</artifactId>

-            <executions>

-              <execution>

-                <id>copy-API-change-report</id>

-                <phase>install</phase>  <!-- must follow verify -->

-                <goals>

-                  <goal>run</goal>

-                </goals>

-                <configuration>

-                  <target>

-                    <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />

-                    <if>

-                      <available file="${project.build.directory}/japicmp/" />

-                      <then>

-                        <copy toDir="${basedir}/api-change-report">

-                          <fileset dir="${project.build.directory}/japicmp" />

-                        </copy>

-                      </then>

-                    </if>

-                  </target>

-                </configuration>

-              </execution>

-            </executions>

-          </plugin>

-        </plugins>

-      </build>

-    </profile>

-

-

-    <!-- ********************************** -->

-    <!-- * Java 11 enablement             * -->

-    <!-- ********************************** -->

-    <profile>

-      <id>java11</id>

-      <activation>

-        <jdk>11</jdk>

-      </activation>

-      <properties>

-        <jaxb.version>2.3.1</jaxb.version>

-        <jaxb.version01>2.3.0.1</jaxb.version01>

-        <java.version>8</java.version>

-        <maven.compiler.source>${java.version}</maven.compiler.source> <!-- can't do 11 with target 8  -->

-        <maven.compiler.target>${java.version}</maven.compiler.target> <!-- still want to run in Java 8 -->

-      </properties>

-      <dependencies>

-        <!--

-          - java.xml.bind and javax.annotation-api have been removed in Java 11 from the JDK, need to add it 

-          as dependency

-        -->

-        <dependency>

-          <groupId>javax.xml.bind</groupId>

-          <artifactId>jaxb-api</artifactId>

-          <version>${jaxb.version}</version>

-          <scope>runtime</scope>

-        </dependency>

-        <dependency>

-          <groupId>com.sun.xml.bind</groupId>

-          <artifactId>jaxb-core</artifactId>

-          <version>${jaxb.version01}</version>

-          <scope>runtime</scope>

-        </dependency>

-        <dependency>

-          <groupId>com.sun.xml.bind</groupId>

-          <artifactId>jaxb-impl</artifactId>

-          <version>${jaxb.version}</version>

-          <scope>runtime</scope>

-        </dependency>

-        <dependency>

-          <groupId>javax.annotation</groupId>

-          <artifactId>javax.annotation-api</artifactId>

-          <version>1.3.2</version>

-        </dependency>

-      </dependencies>

-

-      <build>

-        <pluginManagement>

-          <plugins>

-            <plugin>

-              <groupId>org.apache.maven.plugins</groupId>

-              <artifactId>maven-surefire-plugin</artifactId>

-              <configuration>

-                <argLine>--illegal-access=permit</argLine>

-              </configuration>

-            </plugin>

-            <plugin>

-              <groupId>org.apache.maven.plugins</groupId>

-              <artifactId>maven-failsafe-plugin</artifactId>

-              <configuration>

-                <argLine>--illegal-access=permit</argLine>

-              </configuration>

-            </plugin>

-          </plugins>

-        </pluginManagement>

-      </build>

-    </profile>

-  </profiles>

+<?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.6 as the base
+      Javadoc at 1.6 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <artifactId>apache</artifactId>
+    <groupId>org.apache</groupId>
+    <version>23</version>
+    <relativePath />
+  </parent>
+
+  <groupId>org.apache.uima</groupId>
+  <artifactId>parent-pom</artifactId>
+  <version>15-SNAPSHOT</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>https://lists.apache.org/list.html?dev@uima.apache.org</archive>
+      <otherArchives>
+        <otherArchive>https://mail-archives.apache.org/mod_mbox/uima-dev</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>https://lists.apache.org/list.html?user@uima.apache.org</archive>
+      <otherArchives>
+        <otherArchive>https://mail-archives.apache.org/mod_mbox/uima-user</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>https://lists.apache.org/list.html?commits@uima.apache.org</archive>
+      <otherArchives>
+        <otherArchive>https://mail-archives.apache.org/mod_mbox/uima-commits</otherArchive>
+      </otherArchives>
+    </mailingList>
+  </mailingLists>
+
+  <scm>
+    <connection>scm:git:https://github.com/apache/uima-parent-pom</connection>
+    <developerConnection>scm:git:https://github.com/apache/uima-parent-pom</developerConnection>
+    <url>https://github.com/apache/uima-parent-pom</url>
+    <tag>HEAD</tag>
+  </scm>
+
+  <issueManagement>
+    <system>Jira</system>
+    <!-- the form of the url is from https://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://ci-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
+    -->
+    <!-- for parent-pom-14. Change for each release -->
+    <jiraVersion>parent-pom-14</jiraVersion>  
+    <!--  *********************************************************************************************************** -->
+    <!--                                 U  G  H   change manually for release (to remove -SNAPSHOT                 * -->
+    <!--  *********************************************************************************************************** -->
+    <!--  *********************************************************************************************************** -->
+    <!--  *********************************************************************************************************** -->
+    <parentPomPatchVersion>14</parentPomPatchVersion>  <!-- UGH need to change this manually for release !!! -->
+    <uimaBuildResourcesVersion>6</uimaBuildResourcesVersion>
+    <uimaWebsiteUrl>https://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--> 
+
+  <!-- ============================================= -->
+  <!-- *  V E R S I O N S                            -->
+  <!-- *  most inherited from apache-wide parent pom -->
+  <!-- ============================================= -->
+    <maven.version>3.0.5</maven.version>
+    <felix.bundle.version>3.3.0</felix.bundle.version>
+
+    <maven.surefire.heap>512m</maven.surefire.heap>
+  </properties>
+
+  <repositories>
+    <!-- modify central repository access:
+         Turn on checksum checking-->
+    <repository>
+      <id>central</id>
+      <name>Maven Repository Switchboard</name>
+      <layout>default</layout>
+      <url>https://repo1.maven.org/maven2</url>
+
+      <releases>
+        <enabled>true</enabled>
+        <checksumPolicy>fail</checksumPolicy>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-remote-resources-plugin</artifactId>
+          <version>1.7.0</version>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <version>3.1.1</version>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.1.0</version>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.8.2</version>
+          <configuration> 
+            <!-- https://issues.apache.org/jira/browse/UIMA-5367 -->
+            <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
+          </configuration>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>3.2.1</version>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.22.2</version>
+        </plugin>
+
+        <plugin>
+          <groupId>net.nicoulaj.maven.plugins</groupId>
+          <artifactId>checksum-maven-plugin</artifactId>
+          <version>1.8</version>
+        </plugin>
+
+        <!-- assembly plugin 
+             Disable running assembly:assembly with
+             warning message to use install instead -->
+        <plugin>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>3.2.0</version>
+          <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>3.0.0</version>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-plugin-plugin</artifactId>
+          <version>3.6.0</version>
+          <executions>
+            <execution>
+              <!-- force to use process-classes phase so runs after Java Annotations are available -->
+              <!-- https://jira.codehaus.org/browse/MPLUGIN-267 -->
+              <id>default-descriptor</id>
+              <phase>process-classes</phase>
+            </execution>
+            <execution>
+              <id>generate-helpmojo</id>
+              <goals>
+                <goal>helpmojo</goal>
+              </goals>
+            </execution>
+          </executions>
+          <configuration>
+            <extractors>
+              <extractor>java-annotations</extractor>
+            </extractors>
+          </configuration>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.8.1</version>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.1.1</version>
+          <configuration>
+            <source>${maven.compiler.source}</source>
+            <!-- https://issues.apache.org/jira/browse/UIMA-5369 -->
+            <javadocVersion>${maven.compiler.source}</javadocVersion>
+            <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>3.2.0</version>
+          <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>https://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.8</version>
+          <dependencies>
+            <dependency> <!-- for ant extension supporting "if" -->
+              <groupId>ant-contrib</groupId>
+              <artifactId>ant-contrib</artifactId>
+              <version>20020829</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.10.1</version>
+            </dependency>
+            <dependency>
+              <groupId>jakarta-regexp</groupId>
+              <artifactId>jakarta-regexp</artifactId>
+              <version>1.4</version>
+            </dependency>
+          </dependencies>
+        </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>3.3.0</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.13</version>
+          <executions>
+            <execution>
+              <id>default-cli</id>
+              <goals>
+                <goal>check</goal>
+              </goals>
+              <phase>verify</phase>
+              <!-- default configuration -->
+              <configuration>
+                <consoleOutput>true</consoleOutput>
+                <excludes>
+                  <exclude>.github/*</exclude> <!-- GitHub config/template files -->
+                  <exclude>release.properties</exclude> <!-- generated file -->
+                  <exclude>README*</exclude>
+                  <exclude>RELEASE_NOTES*</exclude>
+                  <exclude>issuesFixed/**</exclude> <!-- generated file -->
+                  <!-- Maven profile trigger files -->
+                  <exclude>**/marker-file-identifying-*</exclude>
+                  <exclude>DEPENDENCIES</exclude>  <!-- generated file -->
+                  <exclude>**/MANIFEST.MF</exclude> <!-- MANIFEST.MF files cannot have comments -->
+                  <exclude>**/*.ppt</exclude> <!--  power point sources -->
+                  <exclude>**/*.sha512</exclude>
+                  <exclude>**/*.patch.txt</exclude>
+                  <exclude>**/.factorypath</exclude> <!-- Eclipse APT generated file -->
+                  <exclude>**/.idea/**</exclude> <!-- IDEA config files -->
+                  <exclude>**/.settings/**</exclude> <!-- Eclipse config files -->
+                  <exclude>**/.project</exclude> <!-- Eclipse config files -->
+                  <exclude>**/.classpath</exclude> <!-- Eclipse config files -->
+                </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.12.1</version>
+          <dependencies> <!-- needed for java 11 -->
+            <dependency>
+              <groupId>javax.annotation</groupId>
+              <artifactId>javax.annotation-api</artifactId>
+              <version>1.3.2</version>
+            </dependency>
+          </dependencies>
+          <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>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-enforcer-plugin</artifactId>
+          <version>3.0.0-M3</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>${maven.version}</version>
+                </requireMavenVersion>
+                <requireJavaVersion>
+                  <version>${maven.compiler.target}</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>
+      </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>
+            <plugin>
+              <groupId>net.nicoulaj.maven.plugins</groupId>
+              <artifactId>checksum-maven-plugin</artifactId>
+            </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 several phases 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>
+                    <!-- copy to target so checksum-maven-plugin can sha512 checkum it -->
+                    <property name="pom-file-tgt" location="${project.build.directory}/${project.build.finalName}.pom" />
+                    <property name="pom-file-src" location="${project.build.directory}/../pom.xml" />
+                    <copy file="${pom-file-src}" tofile="${pom-file-tgt}" />
+                    
+                    <!-- patch gpg and checksum jars in local .m2 -->
+                    <echo message="patch maven-gpg-plugin and checksum-maven-plugin. if get copy failure message, rerun this build" />
+                    <copy verbose="true" overwrite="true" failonerror="false" file="${settings.localRepository}/org/apache/uima/parent-pom/${parentPomPatchVersion}/parent-pom-${parentPomPatchVersion}-gpg-plugin-patch.jar" tofile="${settings.localRepository}/org/apache/maven/plugins/maven-gpg-plugin/1.6/maven-gpg-plugin-1.6.jar" />
+                    <copy verbose="true" overwrite="true" failonerror="false" file="${settings.localRepository}/org/apache/uima/parent-pom/${parentPomPatchVersion}/parent-pom-${parentPomPatchVersion}-checksum-plugin-patch.jar" tofile="${settings.localRepository}/net/nicoulaj/maven/plugins/checksum-maven-plugin/1.8/checksum-maven-plugin-1.8.jar" />
+                  </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" forceoverwrite="yes" algorithm="SHA-512" fileext=".sha512" file="${source-release}" />
+                        <!-- <checksum format="MD5SUM" forceoverwrite="yes" algorithm="sha1" file="${source-release}" /> -->
+                        <!-- <checksum format="MD5SUM" forceoverwrite="yes" algorithm="md5" file="${source-release}" />  -->
+                        <echo message="Generating gpg signatures for source-release.zip" />
+                        <exec executable="gpg" failonerror="true">
+                          <arg value="--detach-sign" />
+                          <arg value="--armor" />
+                          <arg value="--batch" />
+                          <arg value="${source-release}" />
+                        </exec>
+                      </then>
+                    </if>
+                  </target>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>load-plugin</id>
+                <phase>validate</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+                <configuration>
+                  <skip>true</skip>
+                </configuration>
+              </execution>
+              <execution>
+                <id>sign-release-artifacts</id>
+                <configuration>
+                  <excludes>
+                    <!--  <exclude>**/*.sha512</exclude>  https://issues.apache.org/jira/browse/UIMA-5897 -->
+                    <exclude>**/*.asc</exclude>
+                  </excludes>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+
+          <plugin>
+            <groupId>net.nicoulaj.maven.plugins</groupId>
+            <artifactId>checksum-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>artifacts-checksum</id>
+                <!-- run before gpg signing, so gpg can sign (ugh) the .sha512 needed for workaround -->
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>artifacts</goal>
+                </goals>
+                <configuration>
+                  <attachChecksums>true</attachChecksums>
+                  <appendFilename>true</appendFilename>
+                  <algorithms>
+                    <algorithm>SHA-512</algorithm>
+                  </algorithms>
+                </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>
+
+
+    <!-- *********************************************** -->
+    <!-- *  Run actions only for uima-wide parent pom  * -->
+    <!-- *    ** not inherited by sub projects **      * -->
+    <!-- *   Produce Jira report                       * -->
+    <!-- *   attach patches for gpg and chksum plugins * -->
+    <!-- *********************************************** -->
+    <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>
+          <plugin>
+            <artifactId>maven-remote-resources-plugin</artifactId>
+          </plugin>
+
+          <plugin>
+            <artifactId>maven-changes-plugin</artifactId>
+          </plugin>
+
+          <!-- copy patch jars to project-build-dir with name change
+                 otherwise the checksum plugin wont work on them -->
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>setup-patch-jars</id>
+                <phase>process-resources</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <target>
+                    <property name="checksum-tgt" location="${project.build.directory}/${project.artifactId}-${project.version}-checksum-plugin-patch.jar" />
+                    <property name="checksum-src" location="${project.build.directory}/../src/resources/checksum-maven-plugin-1.8.jar" />
+                    <copy file="${checksum-src}" tofile="${checksum-tgt}" verbose="true" />
+                    <property name="gpg-tgt" location="${project.build.directory}/${project.artifactId}-${project.version}-gpg-plugin-patch.jar" />
+                    <property name="gpg-src" location="${project.build.directory}/../src/resources/maven-gpg-plugin-1.6.jar" />
+                    <copy file="${gpg-src}" tofile="${gpg-tgt}" verbose="true" />
+                  </target>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-gpg-checksum-patch-jars</id>
+                <goals>
+                  <goal>attach-artifact</goal>
+                </goals>
+                <phase>process-resources</phase>  <!-- before signing and checksum -->
+                <configuration>
+                  <artifacts>
+                    <artifact>
+                      <file>${project.build.directory}/${project.artifactId}-${project.version}-checksum-plugin-patch.jar</file>
+                      <type>jar</type>
+                      <classifier>checksum-plugin-patch</classifier>
+                    </artifact>
+                    <artifact>
+                      <file>${project.build.directory}/${project.artifactId}-${project.version}-gpg-plugin-patch.jar</file>
+                      <type>jar</type>
+                      <classifier>gpg-plugin-patch</classifier>
+                    </artifact>
+                  </artifacts>
+                </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>
+      
+      <build>
+        <plugins>
+          <!-- 
+            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>
+                  <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 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="SHA-512" fileext=".sha512" format="MD5SUM" forceoverwrite="yes">
+                      <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>
+        <distsvnroot>https://dist.apache.org/</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 -> 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 features to be included -> target/eus-work                           --> 
+          <!--         (eus = Eclipse Update Site)                                          --> 
+          <!--                                                                              --> 
+          <!--     filter category.xml to pick up version #                                 --> 
+          <!--                                                                              --> 
+          <!--  PACKAGE                                                                     --> 
+          <!--     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="${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" />
+
+                    <!-- =================================== -->
+                    <!-- 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" failonerror="true">
+                          <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>Save conditioned Jars prior to signing, in case of redo</echo>
+                    <echo>-------------------------------------------------------</echo>
+                    <copy todir="${project.build.directory}/saved/features" failonerror="true">
+                      <fileset dir="${eusWork}/features" includes="*.jar" />
+                    </copy>
+                    <copy todir="${project.build.directory}/saved/plugins" failonerror="true">
+                      <fileset dir="${eusWork}/plugins" includes="*.jar" />
+                    </copy>
+                                            
+                    <echo>Generate the p2 metadata and publish new artifacts</echo>
+                    <!-- Append is needed because category info is incremental with each additional release -->
+                    <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="-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="SHA-512" fileext=".sha512" format="MD5SUM" forceoverwrite="yes">
+                          <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}" failonerror="true">
+                          <arg value="--detach-sign" />
+                          <arg value="--armor" />
+                          <!-- batch flag needed to avoid gpg hang up -->
+                          <arg value="--batch" />
+                          <fileset dir="${eusWork}">
+                            <include name="**/*.jar" />
+                          </fileset>
+                        </apply>
+
+                        <echo message="Copying the checksums and signatures to the update subsite" />
+                        <copy todir="${eclipseUpdateSubSite}" failonerror="true">
+                          <fileset dir="${eusWork}">
+                            <include name="**/*.asc" />
+                            <include name="**/*.sha512" />
+                          </fileset>
+                        </copy>
+
+                        <echo message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" />
+                        <delete dir="${eclipseUpdateSubSite}">
+                          <include name="*.asc" />
+                          <include name="**/*.sha512" />
+                        </delete>
+
+                        <echo message="Generating checksums for updated artifacts.jar and content.jar" />
+                        <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM" forceoverwrite="yes">
+                          <fileset dir="${eclipseUpdateSubSite}">
+                            <include name="*.jar" />
+                          </fileset>
+                        </checksum>
+    
+                        <echo message="Generating gpg signatures for artifacts.jar and content.jar" />
+                        <apply executable="gpg" dir="${eclipseUpdateSubSite}" failonerror="true">
+                          <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>
+
+              <!-- ================================================= -->
+              <!--                                                   -->
+              <!--       P O S T   JAR   S I G N I N G by Digicert   -->
+              <!--                                                   -->
+              <!--   Rerun publish and sign after jar-signing   -->
+              <!--   Has NO GOAL or PHASE, so doesn't run normally   -->
+              <!--   run using mvn                                   -->   
+              <!--      antrun:run@make-subsite-after-signing        -->
+              <!-- ================================================= -->
+              <execution>
+                <id>make-subsite-after-signing</id>
+                <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>
+
+                    <echo>
+                    </echo>
+                    <echo>Resetting the content and artifacts for the site</echo>
+                    <echo>------------------------------------------------</echo>
+                    
+                    <!-- This is needed because the previous pre-build step already
+                         updated the content and artifacts jar with the new versions -->
+                    <delete verbose="true">
+                      <fileset dir="${eclipseUpdateSubSite}" includes="content.jar,artifacts.jar" />
+                    </delete>
+                    <copy todir="${eclipseUpdateSubSite}" failonerror="false">
+                      <fileset dir="${project.build.directory}/saved" includes="content.jar,artifacts.jar" />
+                    </copy>
+
+                    <echo>
+                    </echo>
+                    <echo>Generate the p2 metadata and publish new artifacts</echo>
+                    <echo>--------------------------------------------------</echo>
+                    <!-- Append is needed because category info is incremental with each additional release -->
+                    <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="-compress" />
+                      <arg line="-append" />
+                    </java>
+
+                    <echo>Augment p2 metadata with category information</echo>
+                    <echo>---------------------------------------------</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>
+
+                    <echo>
+                    </echo>
+                    <echo>Clearing previous checksums and signatures for eusWork plugins</echo>
+                    <delete dir="${eusWork}">
+                      <include name="**/*.asc" />
+                      <include name="**/*.sha512" />
+                      <!-- include name="**/*.md5" /-->
+                      <!-- <include name="**/*.sha1" /> -->
+                    </delete>
+
+                    <echo message="Generating checksums for signed plugins" />
+
+                    <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM" forceoverwrite="yes">
+                      <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}" failonerror="true">
+                      <arg value="--detach-sign" />
+                      <arg value="--armor" />
+                      <!-- batch flag needed to avoid gpg hang up -->
+                      <arg value="--batch" />
+                      <fileset dir="${eusWork}">
+                        <include name="**/*.jar" />
+                      </fileset>
+                    </apply>
+
+                    <echo message="Copying the checksums and signatures to the update subsite" />
+                    <copy todir="${eclipseUpdateSubSite}" failonerror="true">
+                      <fileset dir="${eusWork}">
+                        <include name="**/*.asc" />
+                        <include name="**/*.sha512" />
+                        <!-- include name="**/*.md5" /-->
+                        <!-- <include name="**/*.sha1" /> -->
+                      </fileset>
+                    </copy>
+
+                    <echo>
+                    </echo>
+                    <echo message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" />
+                    <delete dir="${eclipseUpdateSubSite}">
+                      <include name="*.asc" />
+                      <include name="*.sha512" />
+                      <!-- <include name="*.md5" /> -->
+                      <!-- <include name="*.sha1" /> -->
+                    </delete>
+
+                    <echo message="Generating checksums for updated artifacts.jar and content.jar" />
+                    <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM" forceoverwrite="yes">
+                      <fileset dir="${eclipseUpdateSubSite}">
+                        <include name="*.jar" />
+                      </fileset>
+                    </checksum> 
+
+                    <echo message="Generating gpg signatures for artifacts.jar and content.jar" />
+                    <apply executable="gpg" dir="${eclipseUpdateSubSite}" failonerror="true">
+                      <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>
+                  </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.6</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.10.5</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>
+    
+
+    <!-- *********************************** -->
+    <!-- * Eclipse: m2e lifecycle bindings * -->
+    <!-- *********************************** -->
+    <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>
+                    
+                    <!-- *********************************************** -->
+                    <!-- The Maven Dev Connector for Eclipse m2e is no   -->
+                    <!-- longer maintained. We copy the relevant part    --> 
+                    <!-- of the lifecycle mapping for the                -->
+                    <!-- maven-plugin-plugin here.                       -->
+                    <!--                                                 -->
+                    <!-- See https://github.com/ifedorenko/com.ifedorenko.m2e.mavendev/blob/master/com.ifedorenko.m2e.mavendev/lifecycle-mapping-metadata.xml -->
+                    <!-- *********************************************** -->
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-plugin-plugin</artifactId>
+                        <versionRange>[3.5.2,)</versionRange>
+                        <goals>
+                          <goal>descriptor</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <execute>
+                          <runOnIncremental>false</runOnIncremental>
+                        </execute>
+                      </action>
+                    </pluginExecution>
+                    <pluginExecution>
+                      <pluginExecutionFilter>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-plugin-plugin</artifactId>
+                        <versionRange>[3.5.2,)</versionRange>
+                        <goals>
+                          <goal>helpmojo</goal>
+                        </goals>
+                      </pluginExecutionFilter>
+                      <action>
+                        <ignore />
+                      </action>
+                    </pluginExecution>
+                  </pluginExecutions>
+                </lifecycleMappingMetadata>
+              </configuration>
+            </plugin>
+          </plugins>
+        </pluginManagement>
+      </build>
+    </profile>
+
+
+    <!-- ********************************** -->
+    <!-- * Code quality: spotbugs         * -->
+    <!-- ********************************** -->
+    <profile>
+      <id>spotbugs</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-maven-plugin</artifactId>
+            <version>3.1.12.2</version>
+            <executions>
+              <execution>
+                <id>default</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+                <configuration>
+                  <failOnError>false</failOnError>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+
+    <!-- ********************************** -->
+    <!-- * Code quality: JaCoCo           * -->
+    <!-- ********************************** -->
+    <profile>
+      <id>jacoco</id>
+      <properties>
+        <jacoco.argLine />
+        <maven.surefire.argLine />
+        <maven.surefire.java9 />
+      </properties>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <argLine>@{jacoco.argLine} -Xmx@{maven.surefire.heap} -Xms@{maven.surefire.heap} @{maven.surefire.argLine} @{maven.surefire.java9}</argLine>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <version>0.8.5</version>
+            <executions>
+              <execution>
+                <id>default-prepare-agent</id>
+                <goals>
+                  <goal>prepare-agent</goal>
+                </goals>
+                <configuration>
+                  <propertyName>jacoco.argLine</propertyName>
+                </configuration>
+              </execution>
+              <execution>
+                <id>default-report</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>report</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>default-check</id>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+                <configuration>
+                  <rules />
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+
+    <!-- ********************************** -->
+    <!-- * Code quality: PMD              * -->
+    <!-- ********************************** -->
+    <profile>
+      <id>pmd</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-pmd-plugin</artifactId>
+            <version>3.12.0</version>
+            <executions>
+              <execution>
+                <phase>package</phase>
+                <goals>
+                  <goal>cpd</goal>
+                  <goal>pmd</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
+              <targetJdk>${maven.compiler.target}</targetJdk>
+              <linkXRef>false</linkXRef>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    
+
+    <!-- ********************************** -->
+    <!-- * Backwards compatibility report * -->
+    <!-- ********************************** -->
+    <profile>
+      <id>enforce-compatibility</id>
+      <activation>
+        <file>
+          <exists>marker-file-identifying-api-compatibility-check</exists>
+        </file>
+      </activation>
+
+      <properties>
+        <japicmp.postAnalysisScript>${project.build.directory}/japicmp-resources/japicmp/api-report.groovy</japicmp.postAnalysisScript>
+      </properties>
+
+      <build>
+        <pluginManagement>
+          <plugins>
+            <plugin>
+              <groupId>org.apache.rat</groupId>
+              <artifactId>apache-rat-plugin</artifactId>
+              <executions>
+                <execution>
+                  <id>default-cli</id>
+                  <configuration>
+                    <excludes combine.children="append">
+                      <exclude>**/api-change-report/**/*.*</exclude>
+                    </excludes>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
+          </plugins>
+        </pluginManagement>
+
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-dependency-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>provide-japicmp-postAnalysisScript</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>unpack</goal>
+                </goals>
+                <configuration>
+                  <artifactItems>
+                    <artifactItem>
+                      <groupId>org.apache.uima</groupId>
+                      <artifactId>uima-build-resources</artifactId>
+                      <version>${uimaBuildResourcesVersion}</version>
+                      <type>jar</type>
+                      <overWrite>true</overWrite>
+                      <outputDirectory>${project.build.directory}/japicmp-resources/</outputDirectory>
+                      <includes>japicmp/api-report.groovy</includes>
+                    </artifactItem>
+                  </artifactItems>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        
+          <!-- https://siom79.github.io/japicmp/MavenPlugin.html -->
+          <plugin>
+            <groupId>com.github.siom79.japicmp</groupId>
+            <artifactId>japicmp-maven-plugin</artifactId>
+            <version>0.14.4</version>
+            <configuration>
+              <oldVersion>
+                <dependency>
+                  <groupId>${project.groupId}</groupId>
+                  <artifactId>${project.artifactId}</artifactId>
+                  <version>${api_check_oldVersion}</version>
+                </dependency>
+              </oldVersion>
+              <parameter>
+                <onlyModified>true</onlyModified>
+                <!-- filter out classes with impl in their package or class name -->
+                <postAnalysisScript>${japicmp.postAnalysisScript}</postAnalysisScript>
+              </parameter>
+            </configuration>
+            <executions>
+              <execution>
+                <phase>verify</phase>
+                <goals>
+                  <goal>cmp</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <!-- This copy is to have the api change report included in the source distribution -->
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>copy-API-change-report</id>
+                <phase>install</phase>  <!-- must follow verify -->
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <target>
+                    <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />
+                    <if>
+                      <available file="${project.build.directory}/japicmp/" />
+                      <then>
+                        <copy toDir="${basedir}/api-change-report">
+                          <fileset dir="${project.build.directory}/japicmp" />
+                        </copy>
+                      </then>
+                    </if>
+                  </target>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+
+    <!-- ********************************** -->
+    <!-- * Java 11 enablement             * -->
+    <!-- ********************************** -->
+    <profile>
+      <id>java11</id>
+      <activation>
+        <jdk>11</jdk>
+      </activation>
+      <properties>
+        <jaxb.version>2.3.1</jaxb.version>
+        <jaxb.version01>2.3.0.1</jaxb.version01>
+        <java.version>8</java.version>
+        <maven.compiler.source>${java.version}</maven.compiler.source> <!-- can't do 11 with target 8  -->
+        <maven.compiler.target>${java.version}</maven.compiler.target> <!-- still want to run in Java 8 -->
+      </properties>
+      <dependencies>
+        <!--
+          - java.xml.bind and javax.annotation-api have been removed in Java 11 from the JDK, need to add it 
+          as dependency
+        -->
+        <dependency>
+          <groupId>javax.xml.bind</groupId>
+          <artifactId>jaxb-api</artifactId>
+          <version>${jaxb.version}</version>
+          <scope>runtime</scope>
+        </dependency>
+        <dependency>
+          <groupId>com.sun.xml.bind</groupId>
+          <artifactId>jaxb-core</artifactId>
+          <version>${jaxb.version01}</version>
+          <scope>runtime</scope>
+        </dependency>
+        <dependency>
+          <groupId>com.sun.xml.bind</groupId>
+          <artifactId>jaxb-impl</artifactId>
+          <version>${jaxb.version}</version>
+          <scope>runtime</scope>
+        </dependency>
+        <dependency>
+          <groupId>javax.annotation</groupId>
+          <artifactId>javax.annotation-api</artifactId>
+          <version>1.3.2</version>
+        </dependency>
+      </dependencies>
+
+      <build>
+        <pluginManagement>
+          <plugins>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-surefire-plugin</artifactId>
+              <configuration>
+                <argLine>--illegal-access=permit</argLine>
+              </configuration>
+            </plugin>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-failsafe-plugin</artifactId>
+              <configuration>
+                <argLine>--illegal-access=permit</argLine>
+              </configuration>
+            </plugin>
+          </plugins>
+        </pluginManagement>
+      </build>
+    </profile>
+  </profiles>
 </project>
\ No newline at end of file