| <?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. |
| --> |
| <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> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>29</version> |
| <relativePath /> |
| </parent> |
| |
| <groupId>org.apache.uima</groupId> |
| <artifactId>parent-pom</artifactId> |
| <version>18-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. |
| |
| This is the common UIMA parent pom. It contains the project-wide defaults. |
| </description> |
| |
| <url>https://uima.apache.org</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> |
| </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> |
| </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> |
| </mailingList> |
| </mailingLists> |
| |
| <scm> |
| <connection>scm:git:https://github.com/apache/uima-parent-pom</connection> |
| <developerConnection>scm:git:https://github.com/apache/uima-parent-pom</developerConnection> |
| <url>https://github.com/apache/uima-parent-pom</url> |
| <tag>HEAD</tag> |
| </scm> |
| |
| <issueManagement> |
| <system>Github</system> |
| <url>https://github.com/apache/uima-parent-pom/issues</url> |
| </issueManagement> |
| |
| <ciManagement> |
| <system>Jenkins</system> |
| <url>https://ci-builds.apache.org/</url> |
| <notifiers /> |
| </ciManagement> |
| |
| <properties> |
| <!-- BEGIN PROFILE SETTINGS: generate-release-notes--> |
| <github-repository>uima-parent-pom</github-repository> |
| <git-branch>main</git-branch> |
| <previous-release-version>16</previous-release-version> |
| <!-- END PROFILE SETTINGS: generate-release-notes--> |
| |
| <!-- *********************************************************************************************************** --> |
| <!-- U G H change manually for release (to remove -SNAPSHOT * --> |
| <!-- *********************************************************************************************************** --> |
| <!-- *********************************************************************************************************** --> |
| <!-- *********************************************************************************************************** --> |
| <uimaBuildResourcesVersion>6</uimaBuildResourcesVersion> |
| <uimaWebsiteUrl>https://uima.apache.org</uimaWebsiteUrl> |
| <maven.build.timestamp.format>yyMMdd_HHmm</maven.build.timestamp.format> |
| <buildDateTime>${maven.build.timestamp}</buildDateTime> |
| |
| <!-- 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> |
| |
| <!-- ============================================= --> |
| <!-- * V E R S I O N S --> |
| <!-- * most inherited from apache-wide parent pom --> |
| <!-- ============================================= --> |
| <maven.version>3.9.3</maven.version> |
| <javaVersionMinBuild>17</javaVersionMinBuild> |
| <felix.bundle.version>3.3.0</felix.bundle.version> |
| |
| <maven.surefire.heap>512m</maven.surefire.heap> |
| |
| <maven.groovy.version>4.0.15</maven.groovy.version> |
| <maven.ant.version>1.10.14</maven.ant.version> |
| |
| <gpg.skip>false</gpg.skip> |
| |
| <!-- Disable release staging when not performing release build --> |
| <!-- Better solution would be a skip parameter - https://issues.apache.org/jira/browse/SCM-1013 --> |
| <releaseStagingCheckoutPhase>none</releaseStagingCheckoutPhase> |
| <releaseStagingCommitPhase>none</releaseStagingCommitPhase> |
| </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-invoker-plugin</artifactId> |
| <version>3.6.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>3.3.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.agilejava.docbkx</groupId> |
| <artifactId>docbkx-maven-plugin</artifactId> |
| <version>2.0.17</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.10</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.21.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <version>0.18.1</version> |
| <dependencies> |
| <dependency> |
| <!-- See: https://issues.apache.org/jira/browse/UIMA-6349 --> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-jsr223</artifactId> |
| <version>3.0.19</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.7.3.5</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.6.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>2.0.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>3.3.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>3.1.1</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.3.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>3.1.2</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>3.1.2</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.nicoulaj.maven.plugins</groupId> |
| <artifactId>checksum-maven-plugin</artifactId> |
| <version>1.11</version> |
| </plugin> |
| |
| <!-- assembly plugin |
| Disable running assembly:assembly with |
| warning message to use install instead --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.6.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.4.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>3.9.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-toolchains-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.11.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.5.0</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.3.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>3.1.0</version> |
| <dependencies> |
| <dependency> |
| <!-- for ant extension supporting "if" --> |
| <groupId>ant-contrib</groupId> |
| <artifactId>ant-contrib</artifactId> |
| <version>20020829</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ant</groupId> |
| <artifactId>ant</artifactId> |
| <version>${maven.ant.version}</version> |
| </dependency> |
| <dependency> |
| <!-- <containsregexp> form for filesets --> |
| <groupId>org.apache.ant</groupId> |
| <artifactId>ant-apache-regexp</artifactId> |
| <version>${maven.ant.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy-all</artifactId> |
| <version>${maven.groovy.version}</version> |
| <type>pom</type> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>5.1.9</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.15</version> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>verify</phase> |
| <!-- default configuration --> |
| <configuration> |
| <consoleOutput>true</consoleOutput> |
| <excludes> |
| <exclude>**/.gitattributes</exclude> |
| <exclude>**/.tycho-consumer-pom.xml</exclude> |
| <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>**/marker-file-enabling-*</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> |
| </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.3.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <version>2.1.1</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy-all</artifactId> |
| <version>${maven.groovy.version}</version> |
| <type>pom</type> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-maven-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>${maven.version}</version> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>enforce-java-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>${javaVersionMinBuild}</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>fix-text-file-line-endings</id> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <phase>compile</phase> |
| <configuration> |
| <target> |
| <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" /> |
| <if> |
| <available file="${project.build.outputDirectory}" /> |
| <then> |
| <fixcrlf srcdir="${project.build.outputDirectory}"> |
| <include name="**/META-INF/DEPENDENCIES" /> |
| <include name="**/META-INF/LICENSE" /> |
| <include name="**/META-INF/NOTICE" /> |
| </fixcrlf> |
| </then> |
| </if> |
| </target> |
| </configuration> |
| </execution> |
| <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> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| </configuration> |
| </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> |
| <releaseStagingCheckoutPhase>initialize</releaseStagingCheckoutPhase> |
| <releaseStagingCommitPhase>deploy</releaseStagingCommitPhase> |
| </properties> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <!-- turn back on javadoc build for each module by default |
| https://issues.apache.org/jira/browse/UIMA-3251 --> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <!-- to support multi-module source-release builds --> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uima-build-resources</artifactId> |
| <version>${uimaBuildResourcesVersion}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>source-release-assembly</id> |
| <!-- note: this is configured above to run only at execution root --> |
| <configuration> |
| <!-- by not attaching, we prevent the source release from going to Maven repos --> |
| <!-- https://issues.apache.org/jira/browse/UIMA-3247 --> |
| <attach>false</attach> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- to run source plugin without forking --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources-nf</id> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>attach-sources</id> |
| <phase /> <!-- turn off the plain jar one --> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- 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> |
| </target> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-pom-to-target</id> |
| <phase>pre-integration-test</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <!-- copy to target so checksum-maven-plugin can sha512 checkum it --> |
| <target> |
| <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" /> |
| <if> |
| <!-- |
| - In some Tycho modules (e.g. feature modules), Tycho generates a "consumer |
| - pom" which may contain additional information injected by Tycho based on |
| - the Eclipse metadata files. If such a consumer pom is present, we need |
| - to use it as a basis for calculating the SHA512 hash and the GPG signature |
| --> |
| <available file="${project.basedir}/.tycho-consumer-pom.xml" /> |
| <then> |
| <property name="pom-file-src" location="${project.basedir}/.tycho-consumer-pom.xml" /> |
| </then> |
| <else> |
| <property name="pom-file-src" location="${project.basedir}/pom.xml" /> |
| </else> |
| </if> |
| <property name="pom-file-tgt" location="${project.build.directory}/${project.artifactId}-${project.version}.pom" /> |
| <copy file="${pom-file-src}" tofile="${pom-file-tgt}" /> |
| </target> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- |
| - The POM checksum needs a separate treatment because it is not included in the |
| - attached artifacts. |
| - Cannot use checksum-maven-plugin:files here because of |
| - https://github.com/nicoulaj/checksum-maven-plugin/issues/136 |
| --> |
| <id>pom-checksum</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <target> |
| <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM" forceoverwrite="yes"> |
| <fileset dir="${project.build.directory}"> |
| <include name="${project.artifactId}-${project.version}.pom" /> |
| </fileset> |
| </checksum> |
| </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> |
| <skip>${gpg.skip}</skip> |
| <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}" /> |
| <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> |
| <exclude>**/*.asc</exclude> |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.nicoulaj.maven.plugins</groupId> |
| <artifactId>checksum-maven-plugin</artifactId> |
| <executions> |
| <!-- POM checksum is calculated separately above using antrun - see comment there --> |
| <execution> |
| <id>artifacts-checksum</id> |
| <goals> |
| <goal>artifacts</goal> |
| </goals> |
| <configuration> |
| <attachChecksums>true</attachChecksums> |
| <appendFilename>true</appendFilename> |
| <algorithms> |
| <algorithm>SHA-512</algorithm> |
| </algorithms> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- |
| - The POM checksum needs a separate treatment because it is not included in the |
| - attached artifacts. |
| --> |
| <id>attach-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>attach-artifact</goal> |
| </goals> |
| <configuration> |
| <artifacts> |
| <artifact> |
| <file>${project.build.directory}/${project.artifactId}-${project.version}.pom.sha512</file> |
| <type>pom.sha512</type> |
| </artifact> |
| </artifacts> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- *************************************************** --> |
| <!-- * Run Rat report * --> |
| <!-- *************************************************** --> |
| <profile> |
| <id>run-rat-report</id> |
| <activation> |
| <property> |
| <name>!disable-rat</name> |
| </property> |
| </activation> |
| |
| <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> |
| |
| <!-- *********************************************** --> |
| <!-- * Generate release notes * --> |
| <!-- *********************************************** --> |
| <profile> |
| <id>generate-release-notes</id> |
| <activation> |
| <file> |
| <exists>marker-file-enabling-release-notes</exists> |
| </file> |
| <property> |
| <name>!disable-generate-release-notes</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>gh-generate-release-notes</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <exportAntProperties>true</exportAntProperties> |
| <target> |
| <sequential xmlns:if="ant:if" if:set="isApacheRelease"> |
| <echo level="info">Generating release notes using GitHub API via the gh CLI tool</echo> |
| <echo level="info">Repository : ${github-repository}</echo> |
| <echo level="info">New tag : ${project.artifactId}-${project.version}</echo> |
| <echo level="info">Old tag : rel/${project.artifactId}-${previous-release-version}</echo> |
| <echo level="info">Branch : ${git-branch}</echo> |
| <mkdir dir="issuesFixed" /> |
| <exec executable="gh" failonerror="true" outputproperty="gh-release-notes"> |
| <arg value="api" /> |
| <arg value="--method" /> |
| <arg value="POST" /> |
| <arg value="-H" /> |
| <arg value="Accept: application/vnd.github+json" /> |
| <arg value="-H" /> |
| <arg value="X-GitHub-Api-Version: 2022-11-28" /> |
| <arg value="/repos/apache/${github-repository}/releases/generate-notes" /> |
| <arg value="-f" /> |
| <arg value="tag_name=${project.artifactId}-${project.version}" /> |
| <arg value="-f" /> |
| <arg value="target_commitish=${git-branch}" /> |
| <arg value="-f" /> |
| <arg value="previous_tag_name=rel/${project.artifactId}-${previous-release-version}" /> |
| </exec> |
| <script language="groovy"> |
| <![CDATA[ |
| import groovy.json.JsonSlurper |
| def jsonSlurper = new JsonSlurper() |
| def json = jsonSlurper.parseText(project.properties['gh-release-notes']) |
| new File('issuesFixed/github-report.md').withWriter("UTF-8") { out -> out.write(json.body) } |
| ]]> |
| </script> |
| </sequential> |
| <sequential xmlns:unless="ant:unless" unless:set="iisApacheRelease"> |
| <echo level="info">Not generating release notes - this is not a release build</echo> |
| </sequential> |
| </target> |
| </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> |
| <!-- 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> |
| <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 OSGi bundle * --> |
| <!-- ********************************** --> |
| <profile> |
| <id>osgi-bundle</id> |
| <activation> |
| <file> |
| <exists>marker-file-identifying-osgi-bundle</exists> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment> |
| <_dsannotations>*</_dsannotations> |
| <_metatypeannotations>*</_metatypeannotations> |
| </instructions> |
| </configuration> |
| <executions> |
| <execution> |
| <id>bundle-manifest</id> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>manifest</goal> |
| </goals> |
| <configuration> |
| <niceManifest>true</niceManifest> |
| <exportScr>true</exportScr> |
| <scrLocation>${project.basedir}/OSGI-INF/..</scrLocation> |
| <manifestLocation>${project.basedir}/META-INF</manifestLocation> |
| <!-- |
| - Enabling this currently seems to cause spurious exceptions in Eclipse |
| <supportIncrementalBuild>true</supportIncrementalBuild> |
| --> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>clean</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <id>clean-manifest-and-osgiinf</id> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${project.basedir}/META-INF</directory> |
| <includes> |
| <include>**</include> |
| </includes> |
| </fileset> |
| <fileset> |
| <directory>${project.basedir}/OSGI-INF</directory> |
| <includes> |
| <include>**</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </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> |
| <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> |
| <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> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>cpd</goal> |
| <goal>pmd</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <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> |
| <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> |
| |
| <!-- *********************************************** --> |
| <!-- * Enable Tycho * --> |
| <!-- *********************************************** --> |
| <profile> |
| <id>tycho</id> |
| <activation> |
| <property> |
| <name>!disable-tycho</name> |
| </property> |
| </activation> |
| |
| <properties> |
| <tycho-version>4.0.1</tycho-version> |
| </properties> |
| </profile> |
| |
| <!-- *********************************************** --> |
| <!-- * Enable Tycho during release builds * --> |
| <!-- *********************************************** --> |
| <profile> |
| <id>tycho-release</id> |
| <activation> |
| <property> |
| <name>!disable-tycho</name> |
| </property> |
| <file> |
| <exists>marker-file-enabling-tycho-release</exists> |
| </file> |
| </activation> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <!-- |
| - Tycho-managed Eclipse files during release |
| - |
| - We do not need the 'org.apache.maven.plugins:maven-scm-plugin:1.9.5:checkin' goal |
| - here because the release plugin automatically commits twice during the 'prepare' phase |
| --> |
| <preparationGoals> |
| org.eclipse.tycho:tycho-versions-plugin:${tycho-version}:update-eclipse-metadata |
| org.apache.maven.plugins:maven-scm-plugin:1.9.5:add |
| </preparationGoals> |
| <completionGoals> |
| org.eclipse.tycho:tycho-versions-plugin:${tycho-version}:update-eclipse-metadata |
| org.apache.maven.plugins:maven-scm-plugin:1.9.5:add |
| </completionGoals> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- |
| - Tycho-managed Eclipse files during release |
| --> |
| <id>default-cli</id> |
| <goals> |
| <goal>add</goal> |
| <goal>checkin</goal> |
| </goals> |
| <configuration> |
| <includes> |
| *-eclipse-*/META-INF/MANIFEST.MF, |
| *-eclipse-*/feature.xml, |
| *-eclipse-*/*.product, |
| *-eclipse-*/category.xml |
| </includes> |
| <excludes>**/target/**</excludes> |
| <message>Changing the Eclipse files versions</message> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- *********************************************** --> |
| <!-- * Enable Tycho in a module * --> |
| <!-- *********************************************** --> |
| <profile> |
| <id>tycho-module</id> |
| <activation> |
| <file> |
| <exists>marker-file-identifying-tycho-module</exists> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-maven-plugin</artifactId> |
| <version>${tycho-version}</version> |
| <extensions>true</extensions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>target-platform-configuration</artifactId> |
| <version>${tycho-version}</version> |
| <configuration> |
| <pomDependencies>consider</pomDependencies> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- *********************************************** --> |
| <!-- * Enable auto-staging of release artifacts * --> |
| <!-- * * --> |
| <!-- * Modules need to place their artifacts into * --> |
| <!-- * ${staging-local-root} * --> |
| <!-- *********************************************** --> |
| <profile> |
| <id>apache-release-rc-auto-staging-config</id> |
| <activation> |
| <property> |
| <name>!disable-rc-auto-staging</name> |
| </property> |
| </activation> |
| |
| <properties> |
| <releaseCandidateNum /> |
| <staging-scm-root>scm:svn:https://dist.apache.org/repos/dist/dev/uima/</staging-scm-root> |
| <staging-local-root>${project.build.directory}/staging</staging-local-root> |
| <staging-folder>${project.artifactId}-${project.version}-RC-${staging-timestamp}-${candidate-id}</staging-folder> |
| </properties> |
| </profile> |
| |
| <profile> |
| <id>apache-release-rc-auto-staging</id> |
| <activation> |
| <property> |
| <name>!disable-rc-auto-staging</name> |
| </property> |
| <file> |
| <exists>marker-file-enabling-auto-staging</exists> |
| </file> |
| </activation> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-candidate-id</id> |
| <phase>initialize</phase> |
| <goals> |
| <goal>create</goal> |
| </goals> |
| <configuration> |
| <buildNumberPropertyName>candidate-id</buildNumberPropertyName> |
| <timestampPropertyName>staging-timestamp</timestampPropertyName> |
| <shortRevisionLength>7</shortRevisionLength> |
| <timestampFormat>yyyyMMddHHmm</timestampFormat> |
| <timezone>Z</timezone> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>checkout-staging</id> |
| <phase>${releaseStagingCheckoutPhase}</phase> |
| <goals> |
| <goal>checkout</goal> |
| </goals> |
| <configuration> |
| <connectionType>developerConnection</connectionType> |
| <developerConnectionUrl>${staging-scm-root}</developerConnectionUrl> |
| <checkoutDirectory>${staging-local-root}</checkoutDirectory> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-staging-files</id> |
| <phase>${releaseStagingCommitPhase}</phase> |
| <goals> |
| <goal>add</goal> |
| </goals> |
| <configuration> |
| <connectionType>developerConnection</connectionType> |
| <developerConnectionUrl>${staging-scm-root}</developerConnectionUrl> |
| <basedir>${staging-local-root}</basedir> |
| <includes>${staging-folder}/**/*</includes> |
| </configuration> |
| </execution> |
| <execution> |
| <id>commit-staging-files</id> |
| <phase>${releaseStagingCommitPhase}</phase> |
| <goals> |
| <goal>checkin</goal> |
| </goals> |
| <configuration> |
| <connectionType>developerConnection</connectionType> |
| <developerConnectionUrl>${staging-scm-root}</developerConnectionUrl> |
| <basedir>${staging-local-root}</basedir> |
| <message>Staging release artifacts for ${project.artifactId}-${project.version}-RC-${staging-timestamp}-${candidate-id}</message> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>dependency-check</id> |
| <activation> |
| <property> |
| <name>!disable-dependency-check</name> |
| </property> |
| <file> |
| <exists>marker-file-enabling-dependency-check</exists> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>analyze-only</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <failOnWarning>true</failOnWarning> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |