<?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 http://maven.apache.org/maven-v4_0_0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<parent> | |
<artifactId>parent-pom</artifactId> | |
<groupId>org.apache.uima</groupId> | |
<version>5-SNAPSHOT</version> | |
<relativePath>../parent-pom</relativePath> | |
</parent> | |
<artifactId>uima-docbook-olink</artifactId> | |
<version>1-SNAPSHOT</version> | |
<packaging>pom</packaging> | |
<name>Apache UIMA Docbooks olink databases</name> | |
<description>This project creates and updates the 1-SNAPSHOT version | |
of the docbook olink database collection. | |
Docbook processing needs this data to resolve olinks. | |
See http://www.sagehill.net/docbookxsl/Olinking.html#LinkBetweenDocs | |
Docbook processing keeps one continuously updated set of olink | |
databases for all uima books that cross reference each other, | |
as an attached artifact of this project. When needed, it gets | |
possibly updated values for the databases from the shared build | |
repository. Docbook processing updates the corresponding olink | |
data in this set. | |
Committers, after updating a docbook, can choose to share that | |
update by deploying this project (as 1-SNAPSHOT). This snapshot | |
version is continuously updated as new docs are created and/or updated. | |
The deploy goal will first copy any "newer" versions from the snapshot repo, | |
and then make and deploy a new snapshot. | |
Update the uima-bookshelf by updating the "site.xml" files | |
contained under src/main/resources. | |
</description> | |
<url>${uimaWebsiteUrl}</url> | |
<!-- Special inheritance note | |
even though the <scm> element that follows is exactly the | |
same as those in super poms, it cannot be inherited because | |
there is some special code that computes the connection elements | |
from the chain of parent poms, if this is omitted. | |
Keeping this a bit factored allows cutting/pasting the <scm> | |
element, and just changing the following two properties --> | |
<scm> | |
<connection> | |
scm:svn:http://svn.apache.org/repos/asf/uima/${uimaScmRoot}/trunk/${uimaScmProject} | |
</connection> | |
<developerConnection> | |
scm:svn:https://svn.apache.org/repos/asf/uima/${uimaScmRoot}/trunk/${uimaScmProject} | |
</developerConnection> | |
<url> | |
http://svn.apache.org/viewvc/uima/${uimaScmRoot}/trunk/${uimaScmProject} | |
</url> | |
</scm> | |
<properties> | |
<uimaScmRoot>build</uimaScmRoot> | |
<uimaScmProject>${project.artifactId}</uimaScmProject> | |
<!-- olink databases are defined in a common superpom of this and the parent-pom-docbook | |
to avoid circular references --> | |
</properties> | |
<build> | |
<!-- FLOW: | |
The build step builds the new olink in the local repo, and | |
at the very end, zips the result into the target, where | |
it is attached | |
--> | |
<plugins> | |
<!-- Copy the site.xml files from | |
src/main/resources --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-resources-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>update site-info from src/main/resources</id> | |
<phase>package</phase> | |
<goals> | |
<goal>copy-resources</goal> | |
</goals> | |
<configuration> | |
<outputDirectory>${dolUnzipped}</outputDirectory> | |
<resources> | |
<resource><directory>src/main/docbook-olink</directory></resource> | |
<!-- next puts in the standard license notice files into the zip --> | |
<resource><directory>${project.build.directory}/maven-shared-archive-resources</directory></resource> | |
</resources> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- use dependency:resolve plus antrun unzip | |
to update any repo-newer items without overwriting | |
existing unzipped-newer items --> | |
<!-- this next just downloads (if not already there) the olink-dbs | |
zip file from a remote repo into the local one --> | |
<!-- downloads all versions (but we should only have 1-SNAPSHOT) --> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-dependency-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>getOlinkDbsIntoLocalRepo</id> | |
<phase>prepare-package</phase> | |
<goals><goal>resolve</goal></goals> | |
<configuration> | |
<includeGroupIds>org.apache.uima</includeGroupIds> | |
<includeArtifactIds>${dolArtifactId}</includeArtifactIds> | |
<includeTypes>zip</includeTypes> | |
<classifier>${dolClassifier}</classifier> | |
<type>zip</type> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-antrun-plugin</artifactId> | |
<executions> | |
<!-- unzip and overwrite olink dbs only if newer in the archive --> | |
<execution> | |
<id>unzipOlinkDbs</id> | |
<goals><goal>run</goal></goals> | |
<phase>prepare-package</phase> | |
<configuration> | |
<target> | |
<unzip src="${dolRepo}/${dolZip}" | |
dest="${dolRepo}/docbook-olink" | |
overwrite="false"/> | |
</target> | |
</configuration> | |
</execution> | |
<!-- clean out previous time-stamped snapshots --> | |
<execution> | |
<id>clean-out-old-snapshots</id> | |
<goals><goal>run</goal></goals> | |
<phase>install</phase> <!-- before deploy --> | |
<configuration> | |
<target> | |
<delete> | |
<fileset dir="${dolRepo}" | |
includes="${project.artifactId}*.pom ${project.artifactId}*.zip" | |
excludes="${project.artifactId}-1-SNAPSHOT.pom ${project.artifactId}-1-SNAPSHOT-${dolClassifier}.zip"> | |
<!-- next line doesn't work with ant 1.7.1 --> | |
<!--filename regex="[0-9]{8}\.[0-9]{6}-[0-9]+"/--> | |
</fileset> | |
</delete> | |
</target> | |
</configuration> | |
</execution> | |
<!-- zip up dolUnzipped | |
assembly doesn't work here - won't substitute settings properties in the descriptor file | |
so we use antrun --> | |
<execution> | |
<id>zip-docbook-olink-dbs</id> | |
<goals><goal>run</goal></goals> | |
<phase>package</phase> | |
<configuration> | |
<target> | |
<zip destfile="${project.build.directory}/${dolZip}" | |
basedir="${dolUnzipped}"/> | |
</target> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<!-- tell maven this new artifact is "attached" --> | |
<plugin> | |
<groupId>org.codehaus.mojo</groupId> | |
<artifactId>build-helper-maven-plugin</artifactId> | |
<version>1.5</version> | |
<executions> | |
<execution> | |
<goals><goal>attach-artifact</goal></goals> | |
<phase>package</phase> | |
<configuration> | |
<artifacts> | |
<artifact> | |
<file>${project.build.directory}/${dolZip}</file> | |
<type>zip</type> | |
<classifier>${dolClassifier}</classifier> | |
</artifact> | |
</artifacts> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.rat</groupId> | |
<artifactId>apache-rat-plugin</artifactId> | |
<executions> | |
<execution> | |
<id>default-cli</id> | |
<configuration> | |
<excludes> | |
<exclude>src/main/docbook-olink/**/*.db</exclude> <!-- generated data --> | |
</excludes> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |