| <?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"> |
| <!-- |
| To build the distribution files from project root: |
| |
| mvn clean compile package -Dtest=false |
| |
| To build and deploy a full digned release with docs, run: |
| |
| mvn clean deploy -Pjavadoc-profile,docbook-profile,sign-release |
| |
| Note that to sign the release, you need to have "gpg" installed and |
| create a key. See http://apache.org/dev/release-signing.html |
| --> |
| <modelVersion>4.0.0</modelVersion> |
| <artifactId>apache-openjpa</artifactId> |
| <packaging>pom</packaging> |
| <name>OpenJPA Distribution</name> |
| <parent> |
| <groupId>org.apache.openjpa</groupId> |
| <artifactId>openjpa-parent</artifactId> |
| <version>1.1.0</version> |
| </parent> |
| |
| <properties> |
| <openjpa.release.keyAlias> |
| ${user.name}@apache.org |
| </openjpa.release.keyAlias> |
| |
| <openjpa.assembly.finalName> |
| ${artifactId}-${version}</openjpa.assembly.finalName> |
| <openjpa.assembly.outputDirectory> |
| ${project.basedir}/../target/site/downloads |
| </openjpa.assembly.outputDirectory> |
| |
| <openjpa.assembly.binarySuffix>binary</openjpa.assembly.binarySuffix> |
| <openjpa.assembly.binaryBase> |
| ${openjpa.assembly.outputDirectory}/${openjpa.assembly.finalName}-${openjpa.assembly.binarySuffix} |
| </openjpa.assembly.binaryBase> |
| <openjpa.assembly.binaryFile> |
| ${openjpa.assembly.binaryBase}.zip |
| </openjpa.assembly.binaryFile> |
| |
| <openjpa.assembly.sourceSuffix>source</openjpa.assembly.sourceSuffix> |
| <openjpa.assembly.sourceBase> |
| ${openjpa.assembly.outputDirectory}/${openjpa.assembly.finalName}-${openjpa.assembly.sourceSuffix} |
| </openjpa.assembly.sourceBase> |
| <openjpa.assembly.sourceFile> |
| ${openjpa.assembly.sourceBase}.zip |
| </openjpa.assembly.sourceFile> |
| |
| <parent.site.docs> |
| ${project.basedir}/../target/site/docs |
| </parent.site.docs> |
| |
| <docbook.source>${project.basedir}/src/doc/manual</docbook.source> |
| <docbook.target>${project.basedir}/target/manual</docbook.target> |
| <docbook.version>1.67.2</docbook.version> |
| <local.repository>${settings.localRepository}</local.repository> |
| </properties> |
| |
| <build> |
| <!-- needed to let maven pass the "compile" phase --> |
| <testSourceDirectory>/none/</testSourceDirectory> |
| |
| <!-- filter site resources --> |
| <resources> |
| <resource> |
| <directory>${project.basedir}/src/site</directory> |
| <!-- targetPath is relative to target/classes/ --> |
| <targetPath>../filtered-site</targetPath> |
| <filtering>false</filtering> |
| </resource> |
| </resources> |
| |
| <plugins> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>bin</id> |
| <phase>package</phase> |
| <goals> |
| <goal>attached</goal> |
| </goals> |
| <configuration> |
| <descriptor>assembly.xml</descriptor> |
| <outputDirectory>${openjpa.assembly.outputDirectory}</outputDirectory> |
| <workDirectory>target/work</workDirectory> |
| </configuration> |
| </execution> |
| <execution> |
| <id>sources</id> |
| <phase>package</phase> |
| <goals> |
| <goal>attached</goal> |
| </goals> |
| <configuration> |
| <descriptor>source-assembly.xml</descriptor> |
| <outputDirectory>${openjpa.assembly.outputDirectory}</outputDirectory> |
| <workDirectory>target/work</workDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| Copy over site files from src/site to target/filtered-site |
| so we can filter resources and include other generated |
| content from the openjpa-project module. |
| --> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>prefilter-site</id> |
| <phase>site</phase> |
| <goals> |
| <goal>resources</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>2.0-beta-5</version> |
| <configuration> |
| <siteDirectory>target/filtered-site</siteDirectory> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <!-- |
| Docbook profile. Docs can be built by running: |
| MAVEN_OPTS=-Xmx512m |
| mvn -f openjpa-project/pom.xml process-resources -Pdocbook-profile |
| --> |
| <profile> |
| <id>docbook-profile</id> |
| <build> |
| <plugins> |
| <!-- build the docs when processing resources --> |
| <plugin> |
| <groupId>com.agilejava.docbkx</groupId> |
| <artifactId>docbkx-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>build-pdf-doc</id> |
| <phase>process-resources</phase> |
| <goals><goal>generate-pdf</goal></goals> |
| <configuration> |
| <sourceDirectory> |
| ${docbook.source} |
| </sourceDirectory> |
| <targetDirectory> |
| ${docbook.target} |
| </targetDirectory> |
| <includes>manual.xml</includes> |
| <foCustomization> |
| ${docbook.source}/manual-pdf.xsl |
| </foCustomization> |
| <imgSrcPath> |
| ${docbook.source}/ |
| </imgSrcPath> |
| <postProcess> |
| <!-- copy to parent module for |
| expanded access in upload --> |
| <mkdir dir="${parent.site.docs}"/> |
| <delete file="${docbook.target}/manual.fo"/> |
| <copy todir="${parent.site.docs}"> |
| <fileset |
| dir="${docbook.target}"> |
| <include name="manual.pdf"/> |
| </fileset> |
| </copy> |
| </postProcess> |
| </configuration> |
| </execution> |
| <execution> |
| <id>build-chunked-doc</id> |
| <phase>process-resources</phase> |
| <goals><goal>generate-html</goal></goals> |
| <configuration> |
| <sourceDirectory> |
| ${docbook.source} |
| </sourceDirectory> |
| <targetDirectory> |
| ${docbook.target} |
| </targetDirectory> |
| <includes>manual.xml</includes> |
| <chunkedOutput>true</chunkedOutput> |
| <chunkQuietly>false</chunkQuietly> |
| <htmlCustomization> |
| ${docbook.source}/manual-xhtml-chunk.xsl |
| </htmlCustomization> |
| <postProcess> |
| <!-- rename manual to index --> |
| <move |
| file="${docbook.target}/manual.html" |
| tofile="${docbook.target}/index.html"/> |
| |
| <!-- copy over images and styles --> |
| <mkdir dir="${docbook.target}/img"/> |
| <copy todir="${docbook.target}/img"> |
| <fileset |
| dir="${docbook.source}/img"> |
| <include name="*.*"/> |
| <exclude name="*.graffle"/> |
| </fileset> |
| </copy> |
| |
| <mkdir dir="${docbook.target}/css"/> |
| <copy todir="${docbook.target}/css"> |
| <fileset |
| dir="${docbook.source}/css"> |
| <include name="*.*"/> |
| </fileset> |
| </copy> |
| |
| <!-- copy to parent module for |
| expanded access in upload --> |
| <mkdir dir="${parent.site.docs}"/> |
| <copy todir="${parent.site.docs}"> |
| <fileset |
| dir="${docbook.target}"> |
| <include name="*.*"/> |
| </fileset> |
| </copy> |
| </postProcess> |
| </configuration> |
| </execution> |
| <execution> |
| <id>build-single-doc</id> |
| <phase>process-resources</phase> |
| <goals><goal>generate-html</goal></goals> |
| <configuration> |
| <sourceDirectory> |
| ${docbook.source} |
| </sourceDirectory> |
| <targetDirectory> |
| ${docbook.target} |
| </targetDirectory> |
| <includes>manual.xml</includes> |
| <chunkedOutput>false</chunkedOutput> |
| <htmlCustomization> |
| ${docbook.source}/manual-xhtml.xsl |
| </htmlCustomization> |
| <postProcess> |
| <!-- copy to parent module for |
| expanded access in upload --> |
| <mkdir dir="${parent.site.docs}"/> |
| <copy todir="${parent.site.docs}"> |
| <fileset |
| dir="${docbook.target}"> |
| <include name="manual.html"/> |
| </fileset> |
| </copy> |
| </postProcess> |
| </configuration> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>org.docbook</groupId> |
| <artifactId>docbook-xml</artifactId> |
| <version>4.4</version> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </build> |
| <activation> |
| <property> |
| <name>builddocs</name> |
| <value>true</value> |
| </property> |
| </activation> |
| <pluginRepositories> |
| <pluginRepository> |
| <id>agilejava</id> |
| <name>Agilejava repository (Docbook plugin)</name> |
| <url>http://agilejava.com/maven</url> |
| </pluginRepository> |
| </pluginRepositories> |
| </profile> |
| |
| <!-- sign the release files --> |
| <profile> |
| <id>sign-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <configuration> |
| <tasks> |
| <echo>Signing release files...</echo> |
| <macrodef name="sign-file"> |
| <attribute name="file" /> |
| <sequential> |
| <delete failonerror="false" |
| file="@{file}.asc"/> |
| <exec executable="gpg" |
| failonerror="true"> |
| <arg value="--batch"/> |
| <arg value="--passphrase"/> |
| <arg value="${gpg.passphrase}"/> |
| <arg value="--verbose"/> |
| <arg value="--default-key"/> |
| <arg value="${openjpa.release.keyAlias}"/> |
| <arg value="--armor"/> |
| <arg value="--detach-sig"/> |
| <arg value="@{file}"/> |
| </exec> |
| </sequential> |
| </macrodef> |
| <sign-file file="${openjpa.assembly.binaryFile}"/> |
| <sign-file file="${openjpa.assembly.sourceFile}"/> |
| </tasks> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-signature-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>attach-artifact</goal> |
| </goals> |
| <configuration> |
| <artifacts> |
| <artifact> |
| <file>${openjpa.assembly.binaryFile}.asc</file> |
| <classifier>${openjpa.assembly.binarySuffix}.zip</classifier> |
| <type>asc</type> |
| </artifact> |
| <artifact> |
| <file>${openjpa.assembly.sourceFile}.asc</file> |
| <classifier>${openjpa.assembly.sourceSuffix}.zip</classifier> |
| <type>asc</type> |
| </artifact> |
| </artifacts> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <activation> |
| <property> |
| <name>sign</name> |
| <value>true</value> |
| </property> |
| </activation> |
| </profile> |
| </profiles> |
| |
| <!-- need to explicitly list dependencies for assembly to work --> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.openjpa</groupId> |
| <artifactId>openjpa</artifactId> |
| <version>${pom.version}</version> |
| </dependency> |
| |
| <!-- included so we can include it in the distribution --> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| </dependency> |
| </dependencies> |
| </project> |