mirror of https://github.com/apache/openjpa.git
OPENJPA-839 Create source jars for all artifacts by using maven-shade-plugin for the aggregate jars. Also, removed OSGi metadata from openjpa.jar, as this will be handled by a new openjpa-osgi.jar instead.
git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@830564 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5016fc69f8
commit
cb31d309b2
|
@ -34,6 +34,21 @@
|
|||
|
||||
<build>
|
||||
<plugins>
|
||||
<!--
|
||||
Need to disable source plugin here, as it overwrites the shade
|
||||
plugin created sources jar.
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<phase>none</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- Create our aggregate all JAR -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
|
@ -47,13 +62,26 @@
|
|||
<createDependencyReducedPom>true</createDependencyReducedPom>
|
||||
<createSourcesJar>true</createSourcesJar>
|
||||
<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
|
||||
<!--
|
||||
Have to do this again here, as these settings
|
||||
from shaded openjpa.jar get lost in the shading
|
||||
-->
|
||||
<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 with dependencies</Implementation-Title>
|
||||
<Specification-Title>JSR-317 Java Persistence</Specification-Title>
|
||||
<Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
|
||||
<Specification-Version>2.0</Specification-Version>
|
||||
|
@ -66,6 +94,7 @@
|
|||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<!--
|
||||
Only include openjpa.jar and its required dependencies here, which
|
||||
|
@ -76,6 +105,8 @@
|
|||
<artifactId>openjpa</artifactId>
|
||||
<version>${pom.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Non-OpenJPA JARs to pull in -->
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.serp</groupId>
|
||||
<artifactId>serp</artifactId>
|
||||
|
@ -104,11 +135,13 @@
|
|||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jpa_2.0_spec</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- optional runtime dependencies -->
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jms_1.1_spec</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- excluded optional runtime dependencies
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
|
|
|
@ -42,11 +42,12 @@
|
|||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.xml.bind</groupId>
|
||||
<artifactId>jaxb-impl</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>hsqldb</groupId>
|
||||
|
|
167
openjpa/pom.xml
167
openjpa/pom.xml
|
@ -34,198 +34,141 @@
|
|||
|
||||
<build>
|
||||
<plugins>
|
||||
<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>
|
||||
<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-examples-*.jar" />
|
||||
<exclude name="*/target/openjpa-all-*.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>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!--
|
||||
create enhancer pre-main and agent-main attributes
|
||||
Need to disable source plugin here, as it overwrites the shade
|
||||
plugin created sources jar.
|
||||
-->
|
||||
<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>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<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>
|
||||
<!-- Eclipse metadata -->
|
||||
<Eclipse-Autostart>false</Eclipse-Autostart>
|
||||
<Bundle-ClassPath>.</Bundle-ClassPath>
|
||||
</instructions>
|
||||
<unpackBundle>true</unpackBundle>
|
||||
</configuration>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>bundle-manifest</id>
|
||||
<phase>process-classes</phase>
|
||||
<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>manifest</goal>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>true</createDependencyReducedPom>
|
||||
<createSourcesJar>true</createSourcesJar>
|
||||
<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
|
||||
<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>
|
||||
</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>
|
||||
<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>
|
||||
|
||||
<!-- JARs NOT included in aggregate JAR via maven-shade-plugin -->
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.serp</groupId>
|
||||
<artifactId>serp</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-pool</groupId>
|
||||
<artifactId>commons-pool</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jta_1.1_spec</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jpa_2.0_spec</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- optional dependencies -->
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jms_1.1_spec</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
|
|
18
pom.xml
18
pom.xml
|
@ -572,6 +572,7 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
|
@ -580,6 +581,7 @@
|
|||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
|
@ -711,7 +713,7 @@
|
|||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>2.0.4</version>
|
||||
<version>2.1.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
@ -839,8 +841,22 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
|
|
Loading…
Reference in New Issue