You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by dw...@apache.org on 2009/10/28 19:55:31 UTC

svn commit: r830723 - in /openjpa/branches/1.3.x: openjpa-all/pom.xml openjpa-jdbc/pom.xml openjpa/pom.xml pom.xml

Author: dwoods
Date: Wed Oct 28 18:55:30 2009
New Revision: 830723

URL: http://svn.apache.org/viewvc?rev=830723&view=rev
Log:
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.

Modified:
    openjpa/branches/1.3.x/openjpa-all/pom.xml
    openjpa/branches/1.3.x/openjpa-jdbc/pom.xml
    openjpa/branches/1.3.x/openjpa/pom.xml
    openjpa/branches/1.3.x/pom.xml

Modified: openjpa/branches/1.3.x/openjpa-all/pom.xml
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-all/pom.xml?rev=830723&r1=830722&r2=830723&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-all/pom.xml (original)
+++ openjpa/branches/1.3.x/openjpa-all/pom.xml Wed Oct 28 18:55:30 2009
@@ -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-220 Java Persistence</Specification-Title>
                                         <Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
                                         <Specification-Version>1.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>

Modified: openjpa/branches/1.3.x/openjpa-jdbc/pom.xml
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-jdbc/pom.xml?rev=830723&r1=830722&r2=830723&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-jdbc/pom.xml (original)
+++ openjpa/branches/1.3.x/openjpa-jdbc/pom.xml Wed Oct 28 18:55:30 2009
@@ -46,7 +46,6 @@
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-impl</artifactId>
-            <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>hsqldb</groupId>

Modified: openjpa/branches/1.3.x/openjpa/pom.xml
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa/pom.xml?rev=830723&r1=830722&r2=830723&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa/pom.xml (original)
+++ openjpa/branches/1.3.x/openjpa/pom.xml Wed Oct 28 18:55:30 2009
@@ -34,197 +34,159 @@
 
     <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-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>
+                        <id>attach-sources</id>
+                        <phase>none</phase> 
                     </execution>
                 </executions>
             </plugin>
-
-            <!--
-                create enhancer pre-main and agent-main attributes
-            -->
+            <!-- Create our aggregate 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-220 Java Persistence</Specification-Title>
-                        <Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
-                        <Specification-Version>1.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-shade-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>bundle-manifest</id>
-                        <phase>process-classes</phase>
+                        <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-220 Java Persistence</Specification-Title>
+                                        <Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
+                                        <Specification-Version>1.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>
+            <!--
+                 Need to exclude jaxb depends, so the following will not
+                 get included 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>
         <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-jms_1.1_spec</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_1.0_spec</artifactId>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 </project>

Modified: openjpa/branches/1.3.x/pom.xml
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/pom.xml?rev=830723&r1=830722&r2=830723&view=diff
==============================================================================
--- openjpa/branches/1.3.x/pom.xml (original)
+++ openjpa/branches/1.3.x/pom.xml Wed Oct 28 18:55:30 2009
@@ -154,19 +154,6 @@
                     </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>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-javadoc-plugin</artifactId>
                         <executions>
                             <execution>
@@ -588,6 +575,7 @@
             </dependency>
         </dependencies>
     </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
@@ -596,6 +584,7 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
     <build>
         <pluginManagement>
             <plugins>
@@ -710,7 +699,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>
@@ -838,8 +827,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>