mirror of https://github.com/apache/openjpa.git
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:
parent
c1a24be02b
commit
307d5e8a98
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue