| <?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>16</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>${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> |
| </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>parent-pom-16</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> |
| |
| <!-- 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> |
| <!-- *********************************************************************************************************** --> |
| <!-- U G H change manually for release (to remove -SNAPSHOT * --> |
| <!-- *********************************************************************************************************** --> |
| <!-- *********************************************************************************************************** --> |
| <!-- *********************************************************************************************************** --> |
| <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> |
| |
| <!-- ============================================= --> |
| <!-- * V E R S I O N S --> |
| <!-- * most inherited from apache-wide parent pom --> |
| <!-- ============================================= --> |
| <maven.version>3.6.3</maven.version> |
| <!-- Tycho 2.x requires at least Java 11 --> |
| <!-- Tycho 3.x requires at least Java 17 --> |
| <javaVersionMinBuild>11</javaVersionMinBuild> |
| <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>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.8</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.19.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>PearPackagingMavenPlugin</artifactId> |
| <version>3.3.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <version>0.17.1</version> |
| <dependencies> |
| <dependency> |
| <!-- See: https://issues.apache.org/jira/browse/UIMA-6349 --> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-jsr223</artifactId> |
| <version>2.5.20</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.7.3.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.0.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <!-- https://issues.apache.org/jira/browse/MPOM-344?focusedCommentId=17656127&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17656127 --> |
| <version>1.7.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.4.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>1.13.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>3.3.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>3.0.0</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.11</version> |
| </plugin> |
| |
| <!-- assembly plugin |
| Disable running assembly:assembly with |
| warning message to use install instead --> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.4.2</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.3.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>3.7.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.10.1</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.4.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.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> |
| <groupId>org.apache.ant</groupId> |
| <artifactId>ant</artifactId> |
| <version>1.10.12</version> |
| </dependency> |
| <dependency> <!-- for ant extension supporting "if" --> |
| <groupId>ant-contrib</groupId> |
| <artifactId>ant-contrib</artifactId> |
| <version>20020829</version> |
| </dependency> |
| <!-- <containsregexp> form for filesets --> |
| <dependency> |
| <groupId>org.apache.ant</groupId> |
| <artifactId>ant-apache-regexp</artifactId> |
| <version>1.10.12</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>5.1.8</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.1.0</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-eclipse-plugin</artifactId> |
| <version>2.10</version> |
| </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> |
| </properties> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <!-- turn back on javadoc build for each module by default |
| https://issues.apache.org/jira/browse/UIMA-3251 --> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <!-- to support multi-module source-release builds --> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.uima</groupId> |
| <artifactId>uima-build-resources</artifactId> |
| <version>${uimaBuildResourcesVersion}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>source-release-assembly</id> |
| <!-- note: this is configured above to run only at execution root --> |
| <configuration> |
| <!-- by not attaching, we prevent the source release from going to Maven repos --> |
| <!-- https://issues.apache.org/jira/browse/UIMA-3247 --> |
| <attach>false</attach> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- to run source plugin without forking --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources-nf</id> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>attach-sources</id> |
| <phase /> <!-- turn off the plain jar one --> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- to fix up any generated Javadocs to have consistent line ends in html files --> |
| <!-- runs in 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> |
| <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> |
| |
| <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 changes report * --> |
| <!-- *********************************************** --> |
| <profile> |
| <id>generate-changes-report</id> |
| <activation> |
| <file> |
| <exists>marker-file-enabling-changes-report</exists> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>clean-changes-report</id> |
| <phase>clean</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${basedir}/issuesFixed</directory> |
| </fileset> |
| </filesets> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <artifactId>maven-changes-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>github-report</goal> |
| </goals> |
| <configuration> |
| <columnNames>Type,Id,Status,Summary</columnNames> |
| <onlyCurrentVersion>true</onlyCurrentVersion> |
| <githubAPIScheme>https</githubAPIScheme> |
| <githubAPIPort>443</githubAPIPort> |
| <outputDirectory>${basedir}/issuesFixed/</outputDirectory> |
| </configuration> |
| </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> |
| <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> |
| <!-- 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 Eclipse Feature * --> |
| <!-- ************************************ --> |
| <profile> |
| <id>build eclipse features</id> |
| <activation> |
| <file> |
| <exists>marker-file-identifying-eclipse-feature</exists> |
| </file> |
| </activation> |
| <build> |
| <!-- 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" /> |
| </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" /> |
| </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" /> |
| </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>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> |
| <version>5.1.6</version> |
| <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> |
| <version>3.2.0</version> |
| <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> |
| |
| <!-- ********************************** --> |
| <!-- * Build OSGi bundle (old) * --> |
| <!-- ********************************** --> |
| <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> |
| <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> |
| <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> |
| <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> |
| <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>2.7.5</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>initialize</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>deploy</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>deploy</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> |
| </profiles> |
| </project> |