<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one | |
or more contributor license agreements. See the NOTICE file | |
distributed with this work for additional information | |
regarding copyright ownership. The ASF licenses this file | |
to you under the Apache License, Version 2.0 (the | |
"License"); you may not use this file except in compliance | |
with the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, | |
software distributed under the License is distributed on an | |
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
KIND, either express or implied. See the License for the | |
specific language governing permissions and limitations | |
under the License. | |
--> | |
<!-- | |
This is the common UIMA parent pom. | |
It contains the project-wide defaults: | |
The parent of this POM is the official common Apache POM | |
Defines repositories for | |
Snapshots - at Apache - used during development, and for docbook olinks | |
Eclipse - where the good poms are | |
Central - adds default check-the checksums | |
PluginManagement defaults: | |
Java 1.5 as the base | |
Javadoc at 1.5 too | |
Jar Manifest entries, including the build-time | |
AntRun to pick a later version of ant with support for ant extensions like "if" | |
Specify plugin levels for non-standard plugins: | |
RAT | |
eclipse | |
--> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<parent> | |
<artifactId>apache</artifactId> | |
<groupId>org.apache</groupId> | |
<version>14</version> | |
<relativePath /> | |
</parent> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>parent-pom</artifactId> | |
<version>9</version> | |
<packaging>pom</packaging> | |
<name>Apache UIMA ${project.artifactId}</name> | |
<description>UIMA (Unstructured Information Management Architecture). | |
UIMA promotes community development and reuse of annotators | |
that extract metadata from unstructured information (text, audio, video, etc.); | |
it provides for externalized declaration of type systems, | |
component configuration, aggregation, and more, | |
supports scalablity, and provides tooling.</description> | |
<url>${uimaWebsiteUrl}</url> | |
<inceptionYear>2006</inceptionYear> | |
<mailingLists> | |
<mailingList> | |
<name>Apache UIMA Development List</name> | |
<subscribe>dev-subscribe@uima.apache.org</subscribe> | |
<unsubscribe>dev-unsubscribe@uima.apache.org</unsubscribe> | |
<post>mailto:dev@uima.apache.org</post> | |
<archive> | |
http://mail-archives.apache.org/mod_mbox/uima-dev | |
</archive> | |
<otherArchives> | |
<otherArchive> | |
http://dir.gmane.org/gmane.comp.apache.uima.devel | |
</otherArchive> | |
<otherArchive> | |
http://uima.markmail.org | |
</otherArchive> | |
</otherArchives> | |
</mailingList> | |
<mailingList> | |
<name>Apache UIMA Users List</name> | |
<subscribe>user-subscribe@uima.apache.org</subscribe> | |
<unsubscribe>user-unsubscribe@uima.apache.org</unsubscribe> | |
<post>mailto:user@uima.apache.org</post> | |
<archive> | |
http://mail-archives.apache.org/mod_mbox/uima-user | |
</archive> | |
<otherArchives> | |
<otherArchive> | |
http://dir.gmane.org/gmane.comp.apache.uima.general | |
</otherArchive> | |
<otherArchive> | |
http://uima.markmail.org | |
</otherArchive> | |
</otherArchives> | |
</mailingList> | |
<mailingList> | |
<name>Apache UIMA Commits List</name> | |
<subscribe>commits-subscribe@uima.apache.org</subscribe> | |
<unsubscribe>commits-unsubscribe@uima.apache.org</unsubscribe> | |
<post>mailto:commits@uima.apache.org</post> | |
<archive> | |
http://mail-archives.apache.org/mod_mbox/uima-commits | |
</archive> | |
</mailingList> | |
</mailingLists> | |
<prerequisites> | |
<!-- 2.2.0 is broken when deploying - checksums invalid --> | |
<!-- 2.2.1 doesn't work --> | |
<maven>3.0</maven> | |
</prerequisites> | |
<scm> | |
<connection> | |
scm:svn:http://svn.apache.org/repos/asf/uima/build/tags/parent-pom-9 | |
</connection> | |
<developerConnection> | |
scm:svn:https://svn.apache.org/repos/asf/uima/build/tags/parent-pom-9 | |
</developerConnection> | |
<url> | |
http://svn.apache.org/viewvc/uima/build/tags/parent-pom-9 | |
</url> | |
</scm> | |
<issueManagement> | |
<system>Jira</system> | |
<!-- the form of the url is from http://maven.apache.org/plugins/maven-changes-plugin/usage.html --> | |
<!--url>https://issues.apache.org/jira/BrowseProject.jspa?projectId=12310570</url--> | |
<url>https://issues.apache.org/jira/browse/UIMA</url> | |
</issueManagement> | |
<ciManagement> | |
<system>Jenkins</system> | |
<url>https://builds.apache.org/</url> | |
<notifiers /> | |
</ciManagement> | |
<!-- distribution management - is inherited from Apache pom | |
and specifies | |
https://repository.apache.org/service/local/staging/deploy/maven2 | |
and for snapshots: | |
https://repository.apache.org/content/repositories/snapshots --> | |
<!-- for children POMs maven automatically adds their artifactId to the URL below | |
unless overridden --> | |
<distributionManagement> | |
<site> | |
<id>uima.apache.org</id> <!-- following maven convention --> | |
<name>Apache UIMA Website</name> | |
<url>${uimaWebsiteDistributionUrl}</url> <!-- on people.apache.org: /www/uima.apache.org --> | |
</site> | |
</distributionManagement> | |
<properties> | |
<!-- this property is overridden in child projects that are released, to correspond to the | |
Jira release category(ies) | |
We specify something here, because if accidentally left blank, it | |
generates a giant request for all changes --> | |
<jiraVersion>12325859</jiraVersion> <!-- for parent-pom-9. Change for each release --> | |
<uimaBuildResourcesVersion>5</uimaBuildResourcesVersion> | |
<uimaWebsiteUrl>http://uima.apache.org</uimaWebsiteUrl> | |
<uimaWebsiteDistributionUrl>scp://people.apache.org/www/uima.apache.org/</uimaWebsiteDistributionUrl> | |
<maven.build.timestamp.format>yyMMdd_HHmm</maven.build.timestamp.format> | |
<buildDateTime>${maven.build.timestamp}</buildDateTime> | |
<!-- these properties are for docbook processing. --> | |
<!-- olink databases --> | |
<dolArtifactId>uima-docbook-olink</dolArtifactId> | |
<dolClassifier>olink</dolClassifier> | |
<dolRepo>${settings.localRepository}/org/apache/uima/${dolArtifactId}/1-SNAPSHOT</dolRepo> | |
<dolZip>${dolArtifactId}-1-SNAPSHOT-${dolClassifier}.zip</dolZip> | |
<dolUnzipped>${dolRepo}/docbook-olink</dolUnzipped> | |
<dolBuiltFile>${project.build.directory}/</dolBuiltFile> | |
<dolBuiltArtifactFile>${project.build.directory}/${dolZip}</dolBuiltArtifactFile> | |
<pdfPaperType>USletter</pdfPaperType> | |
<!-- This next dir *must match* the one the PearPackagingMavenPlugin uses --> | |
<pearPackagingDir>${project.build.directory}/pearPackaging</pearPackagingDir> | |
<!-- poms wanting this need to set the postNoticeText to this value --> | |
<ibmNoticeText> | |
Portions of Apache UIMA were originally developed by | |
International Business Machines Corporation and are | |
licensed to the Apache Software Foundation under the | |
"Software Grant License Agreement", informally known as the | |
"IBM UIMA License Agreement". | |
Copyright (c) 2003, 2006 IBM Corporation. | |
</ibmNoticeText> | |
<!-- next line commented out - to let standard source-release assembly descriptor as specified | |
in standard Apache parent pom be used --> | |
<!-- SourceReleaseAssemblyDescriptor>multimodule-source-release</sourceReleaseAssemblyDescriptor--> | |
</properties> | |
<dependencyManagement> | |
<dependencies> | |
<dependency> | |
<groupId>junit</groupId> | |
<artifactId>junit</artifactId> | |
<version>3.8.1</version> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
</dependencyManagement> | |
<!-- can't put this dependency at the top level - | |
causes them to be included in children --> | |
<!--dependencies> | |
<dependency> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-resources</artifactId> | |
<version>1-SNAPSHOT</version> | |
</dependency> | |
</dependencies--> | |
<repositories> | |
<!-- note: inheritance does *NOT* merge subparts, | |
so, redeclare them --> | |
<!-- define repositories for getting Eclipse parts | |
because the one in "central" gives broken parts --> | |
<repository> | |
<id>eclipsePlugins</id> | |
<name>Eclipse components</name> | |
<layout>default</layout> | |
<url>http://repo1.maven.org/eclipse</url> | |
<releases> | |
<updatePolicy>never</updatePolicy> | |
<checksumPolicy>fail</checksumPolicy> | |
</releases> | |
<snapshots> | |
<enabled>false</enabled> | |
</snapshots> | |
</repository> | |
<!-- modify central repository access: | |
Turn on checksum checking--> | |
<repository> | |
<id>central</id> | |
<name>Maven Repository Switchboard</name> | |
<layout>default</layout> | |
<url>http://repo1.maven.org/maven2</url> | |
<releases> | |
<enabled>true</enabled> | |
<checksumPolicy>fail</checksumPolicy> | |
<updatePolicy>never</updatePolicy> | |
</releases> | |
<snapshots> | |
<enabled>false</enabled> | |
</snapshots> | |
</repository> | |
<repository> | |
<id>apache.snapshots</id> | |
<name>Apache Snapshot Repository</name> | |
<url>http://repository.apache.org/snapshots</url> | |
<releases> | |
<enabled>false</enabled> | |
</releases> | |
</repository> | |
</repositories> | |
<pluginRepositories> | |
<pluginRepository> | |
<id>apache.snapshots.plugins</id> | |
<name>Apache Snapshot Repository - Maven plugins</name> | |
<url>http://repository.apache.org/snapshots</url> | |
<layout>default</layout> | |
<releases> | |
<enabled>false</enabled> | |
</releases> | |
<snapshots> | |
<enabled>true</enabled> | |
<checksumPolicy>fail</checksumPolicy> | |
<updatePolicy>never</updatePolicy> | |
</snapshots> | |
</pluginRepository> | |
</pluginRepositories> | |
<build> | |
<pluginManagement> | |
<plugins> | |
<!-- assembly plugin | |
Disable running assembly:assembly with | |
warning message to use install instead --> | |
<plugin> | |
<artifactId>maven-assembly-plugin</artifactId> | |
<!-- <version>2.4</version> https://issues.apache.org/jira/browse/UIMA-3332 from superpom--> | |
<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>1.8</version> | |
</plugin> | |
<!-- | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-enforcer-plugin</artifactId> | |
<version>1.3</version> | |
</plugin> | |
--> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-plugin-plugin</artifactId> | |
<configuration> | |
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> | |
</configuration> | |
<executions> | |
<execution> | |
<!-- force to use process-classes phase so runs after Java Annotations are available --> | |
<!-- https://issues.apache.org/jira/browse/UIMA-3072 --> | |
<id>default-descriptor</id> | |
<phase>process-classes</phase> | |
<goals><goal>descriptor</goal></goals> | |
</execution> | |
<execution> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- set Java 1.5 as the source and target of compilation --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-compiler-plugin</artifactId> | |
<configuration> | |
<source>1.5</source> | |
<target>1.5</target> | |
<!--encoding>UTF-8</encoding this inherited from apache pom 7 --> | |
</configuration> | |
</plugin> | |
<!-- <plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-dependency-plugin</artifactId> | |
<version>2.8</version> see https://issues.apache.org/jira/browse/UIMA-2963 from superpom | |
</plugin> --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-javadoc-plugin</artifactId> | |
<!-- remove version after moving to apache parent pom 14 or later --> | |
<!-- <version>2.9.1</version> pick up fix for javadoc security issue, June 2013 from superpom --> | |
<configuration> | |
<source>5</source> <!-- needed to do Enums --> | |
<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>2.3.2</version> <!-- version 2.4 gives error org.codehaus.plexus.archiver.jar.Manifest.merge(org.codehaus.plexus.archiver.jar.Manifest) | |
see http://comments.gmane.org/gmane.comp.ide.eclipse.plugins.m2eclipse.user/9189 --> | |
<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>http://www.apache.org/licenses/LICENSE-2.0.txt</Implementation-License> | |
<Build-Date>${buildDateTime}</Build-Date> | |
</manifestEntries> | |
<manifest> | |
<addDefaultSpecificationEntries>false</addDefaultSpecificationEntries> | |
</manifest> | |
</archive> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-antrun-plugin</artifactId> | |
<!-- version>1.7</version> from superpom --> | |
<dependencies> | |
<!-- 1.8.2 is used by v 1.7 of this plugin | |
<dependency> | |
<groupId>org.apache.ant</groupId> | |
<artifactId>ant</artifactId> | |
version 1.8.0 seems to be incompatible with some part of maven or m2eclipse | |
<version>1.7.1</version> | |
</dependency> | |
--> | |
<dependency> <!-- for ant extension supporting "if" --> | |
<groupId>ant-contrib</groupId> | |
<artifactId>ant-contrib</artifactId> | |
<version>1.0b3</version> | |
<scope>runtime</scope> | |
<exclusions> | |
<exclusion> <!-- is dragging in ant 1.5 --> | |
<groupId>ant</groupId> | |
<artifactId>ant</artifactId> | |
</exclusion> | |
</exclusions> | |
</dependency> | |
<!-- next two enable <containsregexp> form for filesets --> | |
<dependency> | |
<groupId>org.apache.ant</groupId> | |
<artifactId>ant-apache-regexp</artifactId> | |
<version>1.9.2</version> | |
</dependency> | |
<dependency> | |
<groupId>jakarta-regexp</groupId> | |
<artifactId>jakarta-regexp</artifactId> | |
<version>1.4</version> | |
</dependency> | |
</dependencies> | |
</plugin> | |
<!-- deprecated - move to m2eclipse, but keeping for now --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-eclipse-plugin</artifactId> | |
<version>2.8</version> | |
<configuration> | |
<downloadSources>true</downloadSources> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.felix</groupId> | |
<artifactId>maven-bundle-plugin</artifactId> | |
<!-- version 2.0.0 fails --> | |
<!-- version 2.3.4 eliminates spurious warning messages --> | |
<!-- version 2.5 has accidental dependency on Java 6 --> | |
<version>2.3.7</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.10</version> from superPom --> | |
<executions> | |
<execution> | |
<id>default-cli</id> | |
<goals><goal>check</goal></goals> | |
<phase>verify</phase> | |
<!-- default configuration --> | |
<configuration> | |
<excludes> | |
<exclude>release.properties</exclude> <!-- generated file --> | |
<exclude>README*</exclude> | |
<exclude>RELEASE_NOTES*</exclude> | |
<exclude>issuesFixed/**</exclude> <!-- generated file --> | |
<exclude>src/main/resources/docbook-shared/titlepage/*.xsl</exclude> | |
<exclude>marker-file-identifying-*</exclude> <!-- empty file --> | |
<exclude>DEPENDENCIES</exclude> <!-- generated file --> | |
<exclude>**/MANIFEST.MF</exclude> <!-- MANIFEST.MF files cannot have comments --> | |
<exclude>**/*.ppt</exclude> <!-- power point sources --> | |
</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.9</version> <!-- Apache-wide pom has no entry for this plugin --> | |
<executions> | |
<execution> | |
<id>default-cli</id> | |
<goals><goal>jira-report</goal></goals> | |
<!-- don't use generate-sources - because javadoc plugin re-exec's that --> | |
<phase>generate-resources</phase> | |
<configuration> | |
<useJql>true</useJql> | |
<fixVersionIds>${jiraVersion}</fixVersionIds> | |
<columnNames>Type,Key,Status,Summary</columnNames> | |
<resolutionIds>Fixed</resolutionIds> | |
<statusIds>Closed,Resolved</statusIds> | |
<sortColumnNames>Type, Key</sortColumnNames> | |
<!-- changed sortColumnNames for Jira 5 | |
was: <sortColumnNames>Status, Key, Type</sortColumnNames> | |
--> | |
<outputDirectory>${basedir}/issuesFixed/</outputDirectory> | |
<maxEntries>1000</maxEntries> <!-- hopefully, bigger than ever needed --> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-helper-maven-plugin</artifactId> | |
<version>7</version> | |
</plugin> | |
</plugins> | |
</pluginManagement> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-enforcer-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>enforce-versions</id> | |
<goals> | |
<goal>enforce</goal> | |
</goals> | |
<configuration> | |
<rules> | |
<requireMavenVersion> | |
<version>3.0</version> | |
</requireMavenVersion> | |
<requireJavaVersion> | |
<version>1.5</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> | |
<!--dependencies> maybe for m2e | |
<dependency> | |
<groupId>org.slf4j</groupId> | |
<artifactId>slf4j-simple</artifactId> | |
<version>1.6.1</version> | |
</dependency> | |
</dependencies--> | |
</plugin> | |
<plugin> <!-- https://issues.apache.org/jira/browse/UIMA-2966 --> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-antrun-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>dup-meta-jar-cleanup</id> | |
<goals><goal>run</goal></goals> | |
<phase>prepare-package</phase> <!-- before Jar plugin --> | |
<configuration> | |
<target> | |
<delete file="${project.build.directory}/classes/META-INF/maven/${project.groupId}/${project.artifactId}/pom.xml" quiet="true" /> | |
<delete file="${project.build.directory}/classes/META-INF/maven/${project.groupId}/${project.artifactId}/pom.properties" quiet="true" /> | |
</target> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
<!--reporting--> | |
<profiles> | |
<!-- ************************************************** --> | |
<!-- * apache-release * --> | |
<!-- * NOTE: This profile is activated while * --> | |
<!-- * running the Maven build pipeline, usually * --> | |
<!-- * clean verify (for mvn release:prepare) or * --> | |
<!-- * deploy (for mvn release;perform), * --> | |
<!-- * but is not activated for the * --> | |
<!-- * outer execution for mvn release... * --> | |
<!-- * on the pom being released * --> | |
<!-- ************************************************** --> | |
<!-- fix apache common pom --> | |
<profile> | |
<id>apache-release</id> | |
<properties> | |
<isApacheRelease>true</isApacheRelease> | |
</properties> | |
<build> | |
<pluginManagement> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-javadoc-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>attach-javadocs</id> | |
<goals><goal>jar</goal></goals> | |
<!-- turn back on javadoc build for each module by default | |
https://issues.apache.org/jira/browse/UIMA-3251 --> | |
<phase>package</phase> | |
</execution> | |
</executions> | |
</plugin> | |
</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 phase 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>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" algorithm="sha1" file="${source-release}" /> | |
<checksum format="MD5SUM" algorithm="md5" file="${source-release}" /> | |
<echo message="Generating gpg signatures for source-release.zip" /> | |
<exec executable="gpg" failonerror="true"> | |
<arg value="--detach-sign" /> | |
<arg value="--armor" /> | |
<arg value="--batch" /> | |
<arg value="${source-release}" /> | |
</exec> | |
</then> | |
</if> | |
</target> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- *************************************************** --> | |
<!-- * Run Rat report - for Jenkins * --> | |
<!-- * https://issues.apache.org/jira/browse/UIMA-2590 * --> | |
<!-- *************************************************** --> | |
<profile> | |
<id>run-rat-report</id> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.rat</groupId> | |
<artifactId>apache-rat-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>default-cli</id> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- **************************************** --> | |
<!-- * Produce Jira report * --> | |
<!-- **************************************** --> | |
<profile> | |
<id>mavenJirareport</id> | |
<activation> | |
<!-- NOTE: if you try to make this work more generally, by | |
using a marker file in all top-level release projects, | |
this approach fails because for other top-level | |
release projects, it substitutes the value of | |
the jiraVersion property from the top level pom, not | |
the pom being released. So other release projects include | |
this kind of profile within themselves, in a profile | |
for "apache-release" triggered by name. --> | |
<!-- It would be nice to have this only run when releasing, | |
but the activation clauses are currently only | |
"ored" together, not "anded". --> | |
<file><exists>marker-file-identifying-parent-pom</exists></file> | |
</activation> | |
<build> | |
<plugins> | |
<!-- overrides to enable release --> | |
<!-- to release 5-SNAPSHOT which includes uima-build-resources, hard code that version to 4 --> | |
<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> | |
<artifactId>maven-assembly-plugin</artifactId> | |
<dependencies> | |
<dependency> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-resources</artifactId> | |
<version>${uimaBuildResourcesVersion}</version> | |
</dependency> | |
</dependencies> | |
</plugin> | |
<plugin> | |
<artifactId>maven-changes-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>default-cli</id> | |
<configuration> | |
<fixVersionIds>${jiraVersion}</fixVersionIds> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- **************************************** --> | |
<!-- * Override - don't produce Jira report * --> | |
<!-- **************************************** --> | |
<!-- NOTE: if you use this, you MUST check in | |
the generated Jira report into SVN, otherwise | |
it won't appear in the release assemblies. --> | |
<profile> | |
<id>mavenJirareportSkip</id> | |
<activation> | |
<property> | |
<name>maven.jiraReport.skip</name> | |
</property> | |
</activation> | |
<build> | |
<plugins> | |
<!-- Skip jira report --> | |
<plugin> | |
<artifactId>maven-changes-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>default-cli</id> | |
<phase /> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- ********************************** --> | |
<!-- * Docbook Processing * --> | |
<!-- ********************************** --> | |
<!-- Skip docbook processing unless | |
the leaf child project has a docbook directory --> | |
<profile> | |
<id>process-docbook</id> | |
<activation> | |
<file><exists>src/docbook</exists></file> | |
</activation> | |
<!--dependencies--> | |
<!-- can't have a dependency in the parent pom - unless you want it | |
inherited by all child poms --> | |
<!-- dependency> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-resources</artifactId> | |
<version>1-SNAPSHOT</version> | |
</dependency --> | |
<!-- having a dependency specified on 1-SNAPSHOT blocks release --> | |
<!--dependency> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>${dolArtifactId}</artifactId> | |
<type>zip</type> | |
<classifier>${dolClassifier}</classifier> | |
<version>1-SNAPSHOT</version> | |
</dependency--> | |
<!--/dependencies--> | |
<build> | |
<plugins> | |
<!-- something to set some properties for dates used in copyright notices --> | |
<!-- Works, but is slow due to loading groovy --> | |
<!--plugin> | |
<groupId>org.codehaus.groovy.maven</groupId> | |
<artifactId>gmaven-plugin</artifactId> | |
<version>1.0</version> | |
<executions> | |
<execution> | |
<phase>prepare-package</phase> | |
<goals> | |
<goal>execute</goal> | |
</goals> | |
<configuration> | |
<source> | |
import java.util.Date | |
import java.text.MessageFormat | |
def varYear = MessageFormat.format("{0,date,yyyy}", new Date()) | |
def varMonth = MessageFormat.format("{0,date,MMMMMMMMM}", new Date()) | |
project.properties['buildYear'] = varYear | |
project.properties['buildMonth'] = varMonth | |
</source> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin--> | |
<!-- use the dependency:unpack goal to get the shared resource | |
that has the docbook-shared directory | |
Unpack into spot relative to project - because | |
these are referred to in docbook sources using | |
relative references | |
also unpack next to docbook-olink in | |
repository location for olink info, because | |
the site.xml files use relative location to | |
get at the uima entities --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-dependency-plugin</artifactId> | |
<executions> | |
<execution> | |
<!-- use the dependency:unpack goal to get the shared resource | |
that has the docbook-shared directory | |
Unpack into spot relative to project - because | |
these are referred to in docbook sources using | |
relative references --> | |
<id>copyDocbookInfo</id> | |
<phase>prepare-package</phase> | |
<goals><goal>unpack</goal></goals> | |
<configuration> | |
<overWriteIfNewer>true</overWriteIfNewer> | |
<artifactItems> | |
<artifactItem> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-resources</artifactId> | |
<version>${uimaBuildResourcesVersion}</version> | |
<includes>docbook-shared/**</includes> | |
<outputDirectory>${project.build.directory}</outputDirectory> | |
</artifactItem> | |
</artifactItems> | |
</configuration> | |
</execution> | |
<execution> | |
<!-- also unpack next to docbook-olink in | |
repository location for olink info, because | |
the site.xml files use relative location to | |
get at the uima entities --> | |
<id>copyDocbookInfoNextToOlink</id> | |
<phase>prepare-package</phase> | |
<goals><goal>unpack</goal></goals> | |
<configuration> | |
<overWriteIfNewer>true</overWriteIfNewer> | |
<markersDirectory>${dolRepo}/dependency-maven-plugin-markers</markersDirectory> | |
<artifactItems> | |
<artifactItem> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-resources</artifactId> | |
<version>${uimaBuildResourcesVersion}</version> | |
<includes>docbook-shared/**</includes> | |
<outputDirectory>${dolRepo}</outputDirectory> | |
</artifactItem> | |
</artifactItems> | |
</configuration> | |
</execution> | |
<!-- use the dependency:unpack goal to get the | |
olink databases --> | |
<execution> | |
<id>getOlink</id> | |
<phase>prepare-package</phase> | |
<goals><goal>unpack</goal></goals> | |
<configuration> | |
<overWriteIfNewer>true</overWriteIfNewer> | |
<markersDirectory>${dolRepo}/dependency-maven-plugin-markers</markersDirectory> | |
<artifactItems> | |
<artifactItem> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>${dolArtifactId}</artifactId> | |
<version>1-SNAPSHOT</version> | |
<type>zip</type> | |
<classifier>${dolClassifier}</classifier> | |
<outputDirectory>${dolUnzipped}</outputDirectory> | |
</artifactItem> | |
</artifactItems> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>com.agilejava.docbkx</groupId> | |
<artifactId>docbkx-maven-plugin</artifactId> | |
<version>2.0.14</version> | |
<configuration> <!-- general configuration for both html and pdf --> | |
<sourceDirectory>${basedir}/src/docbook</sourceDirectory> | |
<includes>${bookNameRoot}.xml</includes> | |
<highlightSource>1</highlightSource> | |
<xincludeSupported>true</xincludeSupported> | |
<!-- olink common to pdf and html --> | |
<collectXrefTargets>yes</collectXrefTargets> | |
</configuration> | |
<executions> | |
<execution> | |
<id>html</id> | |
<goals> | |
<goal>generate-html</goal> | |
</goals> | |
<phase>package</phase> | |
<configuration> | |
<targetDirectory>${project.build.directory}/site/d</targetDirectory> | |
<htmlCustomization>${project.build.directory}/docbook-shared/top/html-single.xsl</htmlCustomization> | |
<!-- olink --> | |
<targetDatabaseDocument>file:///${dolUnzipped}/htmlsingle/site.xml</targetDatabaseDocument> | |
<targetsFilename>${dolUnzipped}/htmlsingle/${bookNameRoot}.db</targetsFilename> | |
</configuration> | |
</execution> | |
<execution> | |
<id>pdf</id> | |
<goals><goal>generate-pdf</goal></goals> | |
<phase>package</phase> | |
<configuration> | |
<!-- pdf: generate first in docbkx, then move. | |
because pdf generates an extra temp file xxx.fo | |
which we want to keep a bit in target in case of debug need --> | |
<foCustomization>${project.build.directory}/docbook-shared/top/pdf.xsl</foCustomization> | |
<!-- olink --> | |
<targetDatabaseDocument>file:///${dolUnzipped}/pdf/site.xml</targetDatabaseDocument> | |
<targetsFilename>${dolUnzipped}/pdf/${bookNameRoot}.db</targetsFilename> | |
<fop1Extensions>true</fop1Extensions> | |
<fontSelectionStrategy>character-by-character</fontSelectionStrategy> | |
<fonts> | |
<!-- embedded fonts --> | |
<!-- | |
This information must exactly match the font specified | |
in the fo file. Otherwise it will use a default font. | |
For example, | |
<fo:inline font-family="Arial" font-weight="bold" font-style="normal"> | |
Arial-normal-normal font | |
</fo:inline> | |
for the font triplet specified by: | |
<font-triplet name="Arial" style="normal" weight="bold" /> | |
If you do not want to embed the font in the pdf document | |
then do not include the "embed-url" attribute. | |
The font will be needed where the document is viewed | |
for it to be displayed properly. | |
possible styles: normal | italic | oblique | backslant | |
possible weights: normal | bold | 100 | 200 | 300 | 400 | |
| 500 | 600 | 700 | 800 | 900 | |
(normal = 400, bold = 700) | |
--> | |
<!-- | |
<font metrics-url="arial.xml" kerning="yes" embed-url="arial.ttf"> | |
<font-triplet name="Arial" style="normal" weight="normal" /> | |
<font-triplet name="ArialMT" style="normal" weight="normal" /> | |
</font> | |
<font metrics-url="arialb.xml" kerning="yes" embed-url="arialb.ttf"> | |
<font-triplet name="Arial" style="normal" weight="bold" /> | |
<font-triplet name="ArialMT" style="normal" weight="bold" /> | |
</font> | |
--> | |
<!-- per UIMA-1051 - change to use standard Times Roman default PDF font --> | |
<!--font> | |
<name>Palatino</name> | |
<style>normal</style> | |
<weight>normal</weight> | |
<kerning>yes</kerning> | |
<embedFile>c:/Windows/Fonts/pala.TTF</embedFile> | |
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino.xml</metricsFile> | |
</font> | |
<font> | |
<name>Palatino</name> | |
<style>normal</style> | |
<weight>bold</weight> | |
<kerning>yes</kerning> | |
<embedFile>c:/Windows/Fonts/palab.TTF</embedFile> | |
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino-bold.xml</metricsFile> | |
</font> | |
<font> | |
<name>Palatino</name> | |
<style>italic</style> | |
<weight>normal</weight> | |
<kerning>yes</kerning> | |
<embedFile>c:/Windows/Fonts/palai.TTF</embedFile> | |
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino-italic.xml</metricsFile> | |
</font> | |
<font> | |
<name>Palatino</name> | |
<style>italic</style> | |
<weight>bold</weight> | |
<kerning>yes</kerning> | |
<embedFile>c:/Windows/Fonts/palabi.TTF</embedFile> | |
<metricsFile>${project.build.directory}/docbook-shared/fonts/palatino-bold-italic.xml</metricsFile> | |
</font--> | |
</fonts> | |
<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 plugin | |
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="sha1" format="MD5SUM"> | |
<fileset dir="${project.build.directory}"> | |
<include name="*.zip" /> | |
<include name="*.gz" /> | |
</fileset> | |
</checksum> | |
<checksum algorithm="md5" format="MD5SUM"> | |
<fileset dir="${project.build.directory}"> | |
<include name="*.zip" /> | |
<include name="*.gz" /> | |
</fileset> | |
</checksum> | |
</target> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- ************************************ --> | |
<!-- * Build Eclipse Plugin * --> | |
<!-- ************************************ --> | |
<profile> | |
<id>build eclipse plugins</id> | |
<activation> | |
<file> | |
<exists>marker-file-identifying-eclipse-plugin</exists> | |
</file> | |
</activation> | |
<build> | |
<!-- The final name is typically overridden in the individual project | |
to follow the Eclipse naming rules. Rather than just the artifactId, | |
Eclipse wants this name to be the same as the Bundle-SymbolicName, | |
which typically starts with org.apache.uima, and isn't the same as | |
the artifact name. | |
examples: | |
uimaj-ep-jcasgen - org.apache.uima.jcas.jcasgenp | |
uimaj-ep-configurator - org.apache.uima.desceditor --> | |
<finalName>${project.artifactId}_${parsedVersion.osgiVersion}</finalName> | |
<!-- resources are "merged" --> | |
<!-- needed to copy resources, icons, and the plugin.xml to the result --> | |
<resources> | |
<resource> | |
<directory>.</directory> | |
<includes> | |
<include>plugin.xml</include> | |
<!-- include subdir of icons too, [UIMA-1958] --> | |
<include>icons/**/*.*</include> | |
</includes> | |
</resource> | |
<!-- need the following, is not "merged" from the overall maven superPom --> | |
<resource> | |
<directory>src/main/resources</directory> | |
</resource> | |
</resources> | |
<pluginManagement> | |
<!-- run the felix plugin in manifest mode | |
because that plugin doesn't resolve | |
all properties e.g., parsedVersion.osgiVersion --> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.felix</groupId> | |
<artifactId>maven-bundle-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>uima-bundle</id> | |
<goals><goal>manifest</goal></goals> | |
<phase>process-classes</phase> | |
<configuration> | |
<!-- we put the generate manifest in the spot where Eclipse | |
plugins think it will be --> | |
<manifestLocation>META-INF/</manifestLocation> | |
</configuration> | |
</execution> | |
<!-- turn off unneeded executions --> | |
<execution> | |
<id>default-deploy</id> | |
<phase /> | |
</execution> | |
<execution> | |
<id>default-install</id> | |
<phase /> | |
</execution> | |
<execution> | |
<id>default-bundle</id> | |
<phase /> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- pick up the manifest felix generates --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-jar-plugin</artifactId> | |
<configuration> | |
<archive> | |
<manifestFile>META-INF/MANIFEST.MF</manifestFile> | |
</archive> | |
</configuration> | |
</plugin> | |
<!-- special eclipse:eclipse configuration for Eclipse plugins --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-eclipse-plugin</artifactId> | |
<!-- version set in parent-pom-top --> | |
<configuration> | |
<manifest>.ignore</manifest> | |
<pde>true</pde> | |
<!-- set next to false because refs to runtime project | |
as a project don't work (because it is a library project, | |
and has no sources of its own | |
A consequence of this: If you change code a plugin depends on, | |
run "mvn install" on the changed code to get your plugin to | |
pick up the changes | |
--> | |
<useProjectReferences>false</useProjectReferences> | |
</configuration> | |
</plugin> | |
</plugins> | |
</pluginManagement> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-antrun-plugin</artifactId> | |
<executions> | |
<!-- https://issues.apache.org/jira/browse/UIMA-2967 --> | |
<execution> | |
<id>clear-META-INF</id> | |
<goals><goal>run</goal></goals> | |
<phase>compile</phase> <!-- before maven-bundle-plugin plugin --> | |
<configuration> | |
<target> | |
<delete file="META-INF/MANIFEST.MF" quiet="true" /> | |
</target> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- ************************************ --> | |
<!-- * Build Eclipse Feature * --> | |
<!-- ************************************ --> | |
<profile> | |
<id>build eclipse features</id> | |
<activation> | |
<file> | |
<exists>marker-file-identifying-eclipse-feature</exists> | |
</file> | |
</activation> | |
<build> | |
<finalName>${project.artifactId}_${parsedVersion.osgiVersion}</finalName> | |
<!-- turn on filtering for these resources --> | |
<resources> | |
<resource> | |
<directory>${basedir}</directory> | |
<includes> | |
<include>feature.properties</include> | |
<include>feature.xml</include> | |
<include>uima-eclipse-user-agreement.html</include> | |
</includes> | |
<filtering>true</filtering> | |
</resource> | |
</resources> | |
<!-- The feature.xml is filtered here, rather than in going from the | |
top level place to the Jar, because Eclipse feature manipulation | |
uses the top level value. | |
--> | |
<plugins> | |
<!-- filter the feature.xml to have the right version info | |
for Eclipse at the top level --> | |
<plugin> | |
<artifactId>maven-resources-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>filter feature.xml</id> | |
<!-- run before process-resources, which uses this result --> | |
<phase>generate-resources</phase> | |
<goals><goal>copy-resources</goal></goals> | |
<configuration> | |
<outputDirectory>${basedir}</outputDirectory> | |
<resources> | |
<resource> | |
<directory>src/main/resources</directory> | |
<includes><include>feature.xml</include></includes> | |
<filtering>true</filtering> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- ************************************ --> | |
<!-- * Build Eclipse Update Subsite * --> | |
<!-- ************************************ --> | |
<profile> | |
<id>build-eclipse-update-subsite</id> | |
<activation> | |
<file> | |
<exists>marker-file-identifying-eclipse-update-site</exists> | |
</file> | |
</activation> | |
<properties> | |
<eusWork>${project.build.directory}/eus-work</eusWork> | |
<toBePacked>${project.build.directory}/toBePacked</toBePacked> | |
<distsvnroot>https://dist.apache.org/</distsvnroot> | |
<!-- <distsvnroot>file:///svn/t/</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 -> toBePacked -> 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 plugins to be compressed -> target/toBePacked --> | |
<!-- --> | |
<!-- New features to be included -> target/eus-work --> | |
<!-- (eus = Eclipse Update Site) --> | |
<!-- --> | |
<!-- filter category.xml to pick up version # --> | |
<!-- --> | |
<!-- PACKAGE --> | |
<!-- Pack step goes from target/toBePacked -> target/eus-work --> | |
<!-- --> | |
<!-- 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="${toBePacked}" quiet="true" /> | |
<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" /> | |
<fail unless="uima-eclipse-jar-processor" message="********** Please add to your settings.xml file the property uima-eclipse-jar-processor, point to this within an Eclipse installation at level 4.2 or later, e.g. \$\{uima-maven-build-eclipse-home\}/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.200.v20110808-1657.jar" /> | |
<!-- =================================== --> | |
<!-- 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>Compress plugin Jars using pack200 - this may take a minute or 2</echo> | |
<java jar="${uima-eclipse-jar-processor}" fork="true" failonerror="true" maxmemory="256m"> | |
<arg line="-processAll" /> | |
<arg line="-repack" /> | |
<arg line="-pack" /> | |
<arg line="-verbose" /> | |
<!-- only pack the plugins. The publisher won't copy packed "features", | |
they are tiny anyways --> | |
<arg line="-outputDir ${eusWork}/plugins" /> | |
<arg line="${toBePacked}" /> | |
</java> | |
<!-- copy also the original unpacked jars to the subsite in the plugins dir --> | |
<copy todir="${eusWork}/plugins" failonerror="true"> | |
<fileset dir="${toBePacked}" /> | |
</copy> | |
<!--FAILED EXPERIMENT: COMMENTED OUT | |
manually publish - eusWork to subsite | |
rename to follow Eclipse conventions | |
<echo>Copy jar and jar.pack.gz artifacts to the target subsite</echo> | |
--> | |
<!-- mimic publish action of renaming artifacts from -SNAPSHOT to .SNAPSHOT --> | |
<!-- We do an ANT copy because the publishArtifacts won't copy if the target | |
has an indentically-named artifact (as is often the case during | |
testing, with the artifact ending in -SNAPSHOT) --> | |
<!-- | |
<copy todir="${eclipseUpdateSubSite}"> | |
<fileset dir="${eusWork}" /> | |
<compositemapper> | |
<globmapper from="*-SNAPSHOT.jar" to="*.SNAPSHOT.jar" /> | |
<globmapper from="*-SNAPSHOT.jar.pack.gz" to="*.SNAPSHOT.jar.pack.gz" /> | |
<regexpmapper from="^(.(?!-SNAPSHOT))*\.jar(.*)$$" to="\0" /> | |
</compositemapper> | |
</copy> | |
--> | |
<echo>Generate the p2 metadata and publish new artifacts</echo> | |
<!-- Append is needed because category info is incremental with each additional release --> | |
<!-- publishArtifacts is needed to generate p2 metadata for the pack.gz forms --> | |
<!-- - tried and failed: using ANT to copy artifacts to the target - doesn't update metadata | |
for pack.gz form ! if you don't publish artifacts | |
- doesn't update artifacts.jar | |
- deleting SNAPSHOT jars in the eclipse update subsite | |
- fails because the previous metadata has info about those jars | |
and that isn't deleted, and continues to be used | |
--> | |
<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="-reusePack200Files" /> | |
<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="sha1" format="MD5SUM"> | |
<fileset dir="${eusWork}"> | |
<include name="**/*.gz" /> | |
<include name="**/*.jar" /> | |
</fileset> | |
</checksum> | |
<checksum algorithm="md5" format="MD5SUM"> | |
<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" /> | |
<include name="**/*.jar.pack.gz" /> | |
</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="**/*.md5" /> | |
<include name="**/*.sha1" /> | |
</fileset> | |
</copy> | |
<echo message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" /> | |
<delete dir="${eclipseUpdateSubSite}"> | |
<include name="*.sha1" /> | |
<include name="*.md5" /> | |
<include name="*.asc" /> | |
</delete> | |
<echo message="Generating checksums for updated artifacts.jar and content.jar" /> | |
<checksum algorithm="sha1" format="MD5SUM"> | |
<fileset dir="${eclipseUpdateSubSite}"> | |
<include name="*.jar" /> | |
</fileset> | |
</checksum> | |
<checksum algorithm="md5" format="MD5SUM"> | |
<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> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- **************************************** --> | |
<!-- * Build Simple Project Binary Assembly * --> | |
<!-- **************************************** --> | |
<!-- this profile holds common, factored-out settings for all | |
projects that are packaged as single projects | |
(that is, not as multi-module projects), typically Sandbox projects. | |
It builds, in addition to the standard artifacts and attachments, | |
a binary artifact, which includes: | |
- The main generated artifact, in the lib/ dir | |
- dependent artifacts needed at runtime (not otherwise provided), in the lib/ dir | |
- Lic/Not/Readme/releaseNotes from root dir | |
- generated documentation in the docs/ dir | |
At release time the standard Apache parent builds the | |
- "source-release" artifact, and the | |
- "javadocs" artifact | |
Conventions: | |
License/Notice for Jar: uses the standard license/notice | |
License/Notice for bin: uses the custom files from project top level | |
dependencies on other artifacts: | |
Specified as scope runtime or compile causes these to be included in the lib dir | |
--> | |
<profile> | |
<id>build simple project binary assembly</id> | |
<activation> | |
<file> | |
<exists>marker-file-identifying-single-project</exists> | |
</file> | |
</activation> | |
<build> | |
<plugins> | |
<!-- ********************************************* --> | |
<!-- * Common Build --> | |
<!-- * *** FOR addons only *** --> | |
<!-- ********************************************* --> | |
<!-- * Base Jar is built, --> | |
<!-- * has no dependencies included --> | |
<!-- * has basic LICENSE/NOTICE files --> | |
<!-- * Base augmented dir built --> | |
<!-- * has Base Jar in lib/ --> | |
<!-- * has dependencies in lib/ --> | |
<!-- * has other things that go into PEAR --> | |
<!-- * except the pear install.xml --> | |
<!-- * has augmented LICENSE/NOTICE files --> | |
<!-- * --> | |
<!-- * This base is reused to make packages: --> | |
<!-- * PEAR - adds the install.xml --> | |
<!-- * - actually, the PEAR builder --> | |
<!-- * will redo the copies, itself --> | |
<!-- * OSGi - adds the OSGi manifest --> | |
<!-- * - removes the doc, javadocs --> | |
<!-- * individual zip/tar --> | |
<!-- * addons aggregate binary zip/tar --> | |
<!-- ********************************************* --> | |
<plugin> | |
<artifactId>maven-javadoc-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>attach-javadocs</id> | |
<!-- turn on javadoc build for each module --> | |
<phase>prepare-package</phase> <!-- before package, in case package needs the result --> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- Build base --> | |
<!-- populate the lib dir with all needed dependencies | |
that will be distributed with this component | |
NOTE: TRANSITIVE DEPENDENIES ARE NOT INCLUDED | |
ANYTHING YOU WANT INCLUDED IN THE JAR | |
PLEASE LIST EXPLICITLY AND MODIFY THE LICENSE/NOTICE | |
APPROPRIATELY | |
Runs during process-resources --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-dependency-plugin</artifactId> | |
<executions> | |
<!-- Copy the dependencies to the target/base-bin/lib folder --> | |
<execution> | |
<id>copy dependencies to base-bin/lib</id> | |
<goals><goal>copy-dependencies</goal></goals> | |
<phase>process-resources</phase> | |
<configuration> | |
<outputDirectory>${project.build.directory}/base-bin/lib</outputDirectory> | |
<includeScope>runtime</includeScope> | |
<excludeTransitive>true</excludeTransitive> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-resources-plugin</artifactId> | |
<executions> | |
<!-- add directories if they exist --> | |
<execution> | |
<id>copy standard dirs and files to base-bin</id> | |
<goals><goal>copy-resources</goal></goals> | |
<phase>process-resources</phase> <!-- required --> | |
<configuration> | |
<outputDirectory>${project.build.directory}/base-bin</outputDirectory> | |
<resources> | |
<resource> | |
<directory>.</directory> | |
<includes> | |
<include>desc/**</include> | |
<include>conf/**</include> | |
<include>data/**</include> | |
<include>doc/**</include> | |
<include>docs/**</include> | |
<include>resources/**</include> | |
<include>bin/**</include> | |
<include>LICENSE*</include> | |
<include>NOTICE*</include> | |
<include>README*</include> | |
<include>readme*</include> | |
<include>RELEASE_NOTES*</include> | |
<include>ReleaseNotes*</include> | |
<include>issuesFixed/**</include> | |
</includes> | |
</resource> | |
<resource> | |
<directory>src/main/readme</directory> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
<!-- copy generated Jar to base-bin/lib spot --> | |
<execution> | |
<id>copy standard target jar to base-bin/lib</id> | |
<goals><goal>copy-resources</goal></goals> | |
<phase>pre-integration-test</phase> <!-- a phase after jar --> | |
<configuration> | |
<outputDirectory>${project.build.directory}/base-bin/lib</outputDirectory> | |
<resources> | |
<resource> | |
<directory>${project.build.directory}</directory> | |
<includes><include>*.jar</include></includes> | |
<excludes> | |
<exclude>*-sources.jar</exclude> | |
<exclude>*-osgi.jar</exclude> | |
</excludes> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
<!-- copy generated docbook artifacts --> | |
<execution> | |
<id>copy generated docbook artifacts to base-bin/doc folder</id> | |
<goals><goal>copy-resources</goal></goals> | |
<phase>pre-integration-test</phase> <!-- a phase after docbkx (package) phase --> | |
<configuration> | |
<outputDirectory>${project.build.directory}/base-bin/doc</outputDirectory> | |
<resources> | |
<resource> | |
<directory>${project.build.directory}/site/d</directory> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-assembly-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>binary-release</id> <!-- is "classifier" - match maven convention --> | |
<goals><goal>single</goal></goals> | |
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg --> | |
<configuration> | |
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> | |
<descriptorRefs> | |
<descriptorRef> | |
uima-single-project-bin2 | |
</descriptorRef> | |
</descriptorRefs> | |
</configuration> | |
</execution> | |
</executions> | |
<dependencies> | |
<dependency> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uima-build-resources</artifactId> | |
<version>${uimaBuildResourcesVersion}</version> | |
</dependency> | |
</dependencies> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- ********************************** --> | |
<!-- * Build OSGi bundle * --> | |
<!-- ********************************** --> | |
<profile> | |
<id>build OSGi bundle for annotator</id> | |
<activation> | |
<file> | |
<exists>marker-file-identifying-osgi-project</exists> | |
</file> | |
</activation> | |
<build> | |
<plugins> | |
<plugin> | |
<artifactId>maven-resources-plugin</artifactId> | |
<executions> | |
<!-- copy the base-bin dir to the osgi dir --> | |
<execution> | |
<id>Copy base-bin to osgi</id> | |
<goals><goal>copy-resources</goal></goals> | |
<phase>integration-test</phase> | |
<configuration> | |
<outputDirectory>${project.build.directory}/osgi</outputDirectory> | |
<resources> | |
<resource> | |
<directory>${project.build.directory}/base-bin</directory> | |
<includes><include>**</include></includes> | |
<excludes> | |
<exclude>doc/**</exclude> | |
<exclude>docs/**</exclude> | |
<exclude>**/*-javadoc.jar</exclude> | |
<exclude>issuesFixed/**</exclude> | |
</excludes> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- copy any uima dependencies needed to osgi/lib | |
beyond what is done for the common build. | |
NOTE: can't just add dependencies, because | |
a) local projects override scope to "provided" and | |
b) this would result in the jars being copied for | |
the common build --> | |
<plugin> | |
<artifactId>maven-dependency-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>Copy uima dependencies to osgi/lib</id> | |
<goals><goal>copy</goal></goals> | |
<phase>process-resources</phase> | |
<configuration> | |
<outputDirectory>${project.build.directory}/osgi/lib</outputDirectory> | |
<artifactItems> | |
<artifactItem> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>uimaj-core</artifactId> | |
<version>${uimaDependencyVersion}</version> | |
</artifactItem> | |
</artifactItems> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.felix</groupId> | |
<artifactId>maven-bundle-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>uima-bundle</id> | |
<phase>integration-test</phase> | |
<goals><goal>manifest</goal></goals> | |
<configuration> | |
<buildDirectory>${project.build.directory}/osgi</buildDirectory> | |
<manifestLocation>${project.build.directory}/osgi/META-INF</manifestLocation> | |
<instructions> | |
<Import-Package>org.apache.log.*;resolution:=optional</Import-Package> | |
<Embed-Dependency>*;scope=compile;</Embed-Dependency> | |
<Embed-Directory>lib</Embed-Directory> | |
<Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment> | |
<Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI> | |
<Bundle-ClassPath>.,lib/${project.build.finalName}.jar,{maven-dependencies},lib/uimaj-core-${uimaDependencyVersion}.jar</Bundle-ClassPath> | |
<Include-Resource> | |
{maven-resources}, {maven-dependencies}, | |
lib/uimaj-core-${uimaDependencyVersion}.jar=${settings.localRepository}/org/apache/uima/uimaj-core/${uimaDependencyVersion}/uimaj-core-${uimaDependencyVersion}.jar | |
</Include-Resource> | |
<Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version> | |
<Bundle-SymbolicName>${project.groupId}.${project.artifactId};singleton:=true</Bundle-SymbolicName> | |
</instructions> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- Run JAR to create OSGi Jar --> | |
<plugin> | |
<artifactId>maven-jar-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>Create OSGi Jar</id> | |
<goals><goal>jar</goal></goals> | |
<phase>integration-test</phase> <!-- after above build step --> | |
<configuration> | |
<finalName>${project.groupId}.${project.artifactId}_${parsedVersion.osgiVersion}</finalName> | |
<classifier>osgi</classifier> | |
<classesDirectory>${project.build.directory}/osgi</classesDirectory> | |
<archive> | |
<manifestFile>${project.build.directory}/osgi/META-INF/MANIFEST.MF</manifestFile> | |
</archive> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<!-- ********************************** --> | |
<!-- * Build Standard PEAR * --> | |
<!-- ********************************** --> | |
<profile> | |
<id>build standard PEAR</id> | |
<activation> | |
<file> | |
<exists>marker-file-identifying-standard-pear</exists> | |
</file> | |
</activation> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-resources-plugin</artifactId> | |
<executions> | |
<!-- add the contents of desc if it exists to the jar. | |
This puts the things like the WhitespaceTokenizer.xml file into the Jar | |
and makes it easier for users to run this, without installing a pear. | |
The Tagger project uses this technique, for instance --> | |
<execution> | |
<id>copy desc so its contents can be found in Jar</id> | |
<goals><goal>copy-resources</goal></goals> | |
<phase>process-resources</phase> <!-- required --> | |
<configuration> | |
<outputDirectory>${project.build.outputDirectory}</outputDirectory> | |
<resources> | |
<resource> | |
<directory>desc</directory> | |
<includes><include>**</include></includes> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
<!-- copy the base-bin dir to the pearPackaging dir --> | |
<execution> | |
<id>Copy base-bin to pearPackaging</id> | |
<goals><goal>copy-resources</goal></goals> | |
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg --> | |
<configuration> | |
<outputDirectory>${project.build.directory}/pearPackaging</outputDirectory> | |
<resources> | |
<resource> | |
<directory>${project.build.directory}/base-bin</directory> | |
<includes><include>**</include></includes> | |
<excludes> | |
<exclude>**/*-javadoc.jar</exclude> | |
</excludes> | |
</resource> | |
</resources> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<artifactId>maven-javadoc-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>attach-javadocs</id> | |
<!-- turn on javadoc build for each module --> | |
<phase>package</phase> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- build the PEAR --> | |
<plugin> | |
<groupId>org.apache.uima</groupId> | |
<artifactId>PearPackagingMavenPlugin</artifactId> | |
<version>2.5.0</version> | |
<extensions>true</extensions> | |
<executions> | |
<execution> | |
<id>build uima annnotator Pear</id> | |
<goals><goal>package</goal></goals> | |
<!-- needs to run after the jar is built | |
after docbooks are packaged and copied to pearPackaging/doc folder --> | |
<phase>integration-test</phase> <!-- after first copies from jar/docbk pkg --> | |
<configuration> | |
<datapath>$main_root/resources</datapath> | |
<componentId>${project.artifactId}</componentId> | |
<mainComponentDesc>${pearMainDescriptor}</mainComponentDesc> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- Attach PEAR artifact after PEAR is built --> | |
<plugin> | |
<groupId>org.codehaus.mojo</groupId> | |
<artifactId>build-helper-maven-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>attach-pear-artifact</id> | |
<phase>post-integration-test</phase> | |
<goals><goal>attach-artifact</goal></goals> | |
<configuration> | |
<artifacts> | |
<artifact> | |
<file>${project.build.directory}/${project.artifactId}.pear</file> | |
<type>pear</type> | |
</artifact> | |
</artifacts> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</profile> | |
<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> | |
</pluginExecutions> | |
</lifecycleMappingMetadata> | |
</configuration> | |
</plugin> | |
</plugins> | |
</pluginManagement> | |
</build> | |
</profile> | |
</profiles> | |
</project> |