mirror of https://github.com/apache/openjpa.git
376 lines
17 KiB
XML
376 lines
17 KiB
XML
<?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.0.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<properties>
|
|
<scm.dir>svn.apache.org/repos/asf/openjpa/trunk/openjpa-project</scm.dir>
|
|
<openjpa.release.keyAlias>
|
|
${user.name}@apache.org
|
|
</openjpa.release.keyAlias>
|
|
<openjpa.assembly.finalName>
|
|
${artifactId}-${version}</openjpa.assembly.finalName>
|
|
<openjpa.assembly.outputDirectory>
|
|
${project.basedir}/target/assembly
|
|
</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>
|
|
|
|
<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>
|
|
|
|
<scm>
|
|
<connection>scm:svn:http://${scm.dir}</connection>
|
|
<developerConnection>scm:svn:https://${scm.dir}</developerConnection>
|
|
<url>https://${scm.dir}</url>
|
|
</scm>
|
|
|
|
<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>${project.basedir}/target/assembly</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>
|
|
</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="*.*"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<mkdir dir="${docbook.target}/css"/>
|
|
<copy todir="${docbook.target}/css">
|
|
<fileset
|
|
dir="${docbook.source}/css">
|
|
<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>
|
|
</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="--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>
|
|
<version>10.2.2.0</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|