[maven-release-plugin] prepare release parent-pom-14
diff --git a/pom.xml b/pom.xml
index 48b56d8..5bc9016 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>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>
+<?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 -->
+ <!-- * 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