merge in updates from trunk/openjpa/pom.xml and waiting for testing from Apache Aries before merging into openjpa/pom.xml

git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@909595 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Donald Woods 2010-02-12 20:22:29 +00:00
parent c1a24be02b
commit 307d5e8a98
1 changed files with 174 additions and 174 deletions

View File

@ -24,7 +24,7 @@
<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>
<artifactId>openjpa-osgi</artifactId>
<packaging>jar</packaging>
<packaging>bundle</packaging>
<name>OpenJPA Aggregate Jar for OSGi</name>
<parent>
<groupId>org.apache.openjpa</groupId>
@ -34,128 +34,208 @@
<build>
<plugins>
<!--
Need to disable source plugin here, as it overwrites the shade
plugin created sources jar.
-->
<plugin>
<!--
Manually build an aggregate jar of all the other
openjpa-* jars using ant. We cannot use the assembly
plugin, since it doesn't provide support for appending
multiple same-named files to each other (which is
required for correctly aggregating services files).
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>build-single-jar</id>
<phase>compile</phase>
<configuration>
<tasks>
<unjar overwrite="false" dest="${basedir}/target/classes">
<fileset dir="${basedir}/..">
<include name="*/target/openjpa-*.jar" />
<exclude name="*/target/openjpa-2*.jar" />
<exclude name="*/target/openjpa-all-*.jar" />
<exclude name="*/target/openjpa-examples-*.jar" />
<exclude name="**/*-tests.jar" />
<exclude name="**/*-sources.jar" />
<exclude name="**/*-javadoc.jar" />
<exclude name="openjpa-integration/**/target/openjpa-all-*.jar" />
</fileset>
</unjar>
<!--
need to manually concatinate the services
resources so they are aggregated
-->
<macrodef name="aggregate-file">
<attribute name="servicename" />
<sequential>
<echo>Building service: @{servicename}</echo>
<concat destfile="${basedir}/target/classes/META-INF/services/@{servicename}">
<fileset dir="${basedir}/.." includes="*/src/main/resources/META-INF/services/@{servicename}" />
</concat>
</sequential>
</macrodef>
<aggregate-file servicename="org.apache.openjpa.lib.conf.ProductDerivation" />
<aggregate-file servicename="javax.persistence.spi.PersistenceProvider" />
<aggregate-file servicename="org.apache.openjpa.kernel.exps.ExpressionParser" />
</tasks>
</configuration>
<id>attach-sources</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<!-- Create our aggregate JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<createSourcesJar>true</createSourcesJar>
<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
<!--
Specify a subset of depends to include,
which must match the <dependencies> section.
-->
<artifactSet>
<includes>
<include>org.apache.openjpa:openjpa-lib</include>
<include>org.apache.openjpa:openjpa-kernel</include>
<include>org.apache.openjpa:openjpa-jdbc</include>
<include>org.apache.openjpa:openjpa-persistence</include>
<include>org.apache.openjpa:openjpa-persistence-jdbc</include>
<include>org.apache.openjpa:openjpa-xmlstore</include>
<include>org.apache.openjpa:openjpa-slice</include>
</includes>
</artifactSet>
<!-- OpenJPA unique META-INF setup -->
<transformers>
<!-- Need to concatinate the services resources:
org.apache.openjpa.lib.conf.ProductDerivation
javax.persistence.spi.PersistenceProvider
org.apache.openjpa.kernel.exps.ExpressionParser
-->
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<!-- Need to add some MANIFEST.MF metadata -->
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>org.apache.openjpa.conf.OpenJPAVersion</Main-Class>
<Premain-Class>org.apache.openjpa.enhance.PCEnhancerAgent</Premain-Class>
<Agent-Class>org.apache.openjpa.enhance.InstrumentationFactory</Agent-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
<Implementation-Title>Apache OpenJPA Aggregate JAR</Implementation-Title>
<Specification-Title>JSR-317 Java Persistence</Specification-Title>
<Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
<Specification-Version>2.0</Specification-Version>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<!--
create enhancer pre-main and agent-main attributes
-->
<!-- extract the shaded jar so a bundle can be created -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
<manifest>
<mainClass>org.apache.openjpa.conf.OpenJPAVersion</mainClass>
</manifest>
<manifestEntries>
<Premain-Class>
org.apache.openjpa.enhance.PCEnhancerAgent
</Premain-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Agent-Class>
org.apache.openjpa.enhance.InstrumentationFactory
</Agent-Class>
<Can-Redefine-Classes>true</Can-Redefine-Classes>
<Can-Retransform-Classes>true</Can-Retransform-Classes>
</manifestEntries>
</archive>
</configuration>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<unzip src="${project.build.directory}/${pom.artifactId}-${pom.version}.jar" dest="${project.build.directory}/classes"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<!-- create an OSGi bundle -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Activator>org.apache.openjpa.osgi.PersistenceActivator</Bundle-Activator>
<Bundle-Name>${artifactId}</Bundle-Name>
<Bundle-SymbolicName>${groupId}.${artifactId};singleton=true</Bundle-SymbolicName>
<Bundle-DocURL>http://openjpa.apache.org/documentation.html</Bundle-DocURL>
<Implementation-Title>Apache OpenJPA</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Specification-Title>JSR-317 Java Persistence</Specification-Title>
<Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
<Specification-Version>2.0</Specification-Version>
<!-- OSGi Bundle Metadata -->
<Private-Package>org.openjpa.lib.ant*,org.apache.jdbc.ant*,META-INF*</Private-Package>
<Export-Package>!META-INF*,!org.openjpa.lib.ant*,!org.apache.jdbc.ant*,org.apache.openjpa*</Export-Package>
<Import-Package>com.ibm.*;resolution:=optional,org.postgresql.*;resolution:=optional,org.apache.tools.ant.*;resolution:=optional,org.apache.log4j.*;resolution:=optional,javax.activation.xa*;resolution:=optional,javax.jms.*;resolution:=optional,javax.transaction.*;resolution:=optional,javax.validation.*;resolution:=optional,javax.xml.bind.*;resolution:=optional,serp.*;resolution:=optional,*</Import-Package>
<Require-Bundle>org.apache.geronimo.specs.geronimo-jpa_2.0_spec;bundle-version="[1.0.0,2.0.0)"</Require-Bundle>
<!-- Eclipse metadata
<Bundle-DocURL>${project.url}</Bundle-DocURL>
<Bundle-Activator>org.apache.openjpa.osgi.PersistenceActivator</Bundle-Activator>
<Private-Package />
<Export-Package>org.apache.openjpa.*;version=${pom.version}</Export-Package>
<Import-Package>com.ibm.*;resolution:=optional,org.postgresql.*;resolution:=optional,org.apache.tools.ant.*;resolution:=optional,org.apache.log4j.*;resolution:=optional,javax.activation.xa*;resolution:=optional,javax.jms.*;version="[1.1.0,1.2)";resolution:=optional,javax.transaction.*;version="[1.1.0,1.2)";resolution:=optional,javax.validation.*;version="[1.0.0,1.1)";resolution:=optional,javax.xml.bind.*;resolution:=optional,serp.*;resolution:=optional,javax.persistence.*;version="[2.0.0,2.1)",*</Import-Package>
<!-- Eclipse metadata -->
<Eclipse-Autostart>false</Eclipse-Autostart>
<Bundle-ClassPath>.</Bundle-ClassPath>
-->
</instructions>
<unpackBundle>true</unpackBundle>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<!-- JARs to include in aggregate JAR via maven-shade-plugin -->
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-lib</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-kernel</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-jdbc</artifactId>
<version>${pom.version}</version>
<!--
Need to exclude jaxb, so the following will not get included
as compile depends in the aggregate JAR by the shade plugin:
javax.xml.bind:jaxb-api:jar:2.0
javax.xml.bind:jsr173_api:jar:1.0
javax.activation:activation:jar:1.1
com.sun.xml.bind:jaxb-impl:jar:2.0.5
-->
<exclusions>
<exclusion>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Need to manually add back optional openjpa-jdbc depends -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<scope>compile</scope>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>javax.xml.bind</groupId>
<artifactId>jsr173_api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<scope>compile</scope>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>javax.xml.bind</groupId>
<artifactId>jsr173_api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- end optional openjpa-jdbc depends -->
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence-jdbc</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-xmlstore</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-slice</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.osgi.core</artifactId>
@ -168,85 +248,5 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-lib</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-kernel</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-jdbc</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-persistence-jdbc</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-xmlstore</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-slice</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.serp</groupId>
<artifactId>serp</artifactId>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
</dependency>
<!-- optional dependencies -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-validation_1.0_spec</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>