You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2021/03/05 10:18:39 UTC
svn commit: r46477 [2/3] - /dev/uima/uima-parent-pom-14-rc1/
Added: dev/uima/uima-parent-pom-14-rc1/parent-pom-14.pom
==============================================================================
--- dev/uima/uima-parent-pom-14-rc1/parent-pom-14.pom (added)
+++ dev/uima/uima-parent-pom-14-rc1/parent-pom-14.pom Fri Mar 5 10:18:39 2021
@@ -0,0 +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</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>parent-pom-14</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 -->
[... 919 lines stripped ...]