]> source.dussan.org Git - poi.git/commitdiff
As requested by Andy, a big change to how the maven-dist occurs. Now, we copy over...
authorNick Burch <nick@apache.org>
Fri, 8 Jun 2007 12:31:21 +0000 (12:31 +0000)
committerNick Burch <nick@apache.org>
Fri, 8 Jun 2007 12:31:21 +0000 (12:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@545491 13f79535-47bb-0310-9956-ffa450edef68

build.xml
poi-redirect.pom
poi.pom

index 2c63e3ec6003bb984d6b1d9f1a3128eec26e955c..ea4e04433895a5e12100c13aef4954eb25c3dbb1 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -127,6 +127,8 @@ under the License.
   <property name="changelog.file" location="${build.site}/changelog.html"/>
   <property name="dist.dir" location="build/dist"/>
   <property name="mavendist.dir" location="build/maven-dist"/>
+  <property name="mavendist.poi.dir" location="build/maven-dist/poi"/>
+  <property name="mavendist.oap.dir" location="build/maven-dist/org.apache.poi"/>
   <property name="jar.name" value="poi"/>
   <property name="version.id" value="3.0.1-alpha1"/>
   <property name="halt.on.test.failure" value="true"/>
@@ -234,9 +236,15 @@ under the License.
         <mkdir dir="${jdepend.report.out.dir}"/>
         <mkdir dir="${apidocs.report.dir}"/>
         <mkdir dir="${dist.dir}"/>
-        <mkdir dir="${mavendist.dir}"/>
         <mkdir dir="${build.site.src}/${main.documentation}"/>
 
+        <mkdir dir="${mavendist.dir}"/>
+        <mkdir dir="${mavendist.poi.dir}"/>
+        <mkdir dir="${mavendist.poi.dir}/poms"/>
+        <mkdir dir="${mavendist.oap.dir}"/>
+        <mkdir dir="${mavendist.oap.dir}/jars"/>
+        <mkdir dir="${mavendist.oap.dir}/poms"/>
+
         <copy todir="${build.site.src}/${main.documentation}">
             <fileset dir="${main.documentation}"/>
         </copy>
@@ -807,57 +815,102 @@ FORREST_HOME environment variable!</echo>
       description="Generates POI's website's contents"/>
 
 
-    <target name="maven-dist" depends="clean,compile" description="Builds the jar files for a maven distribution, and the POM to go with them">
-               <!-- Build a Jar of all the class files -->
-        <jar destfile="${mavendist.dir}/${jar.name}-${version.id}.jar">
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Specification-Title" value="Apache POI"/>
-                <attribute name="Specification-Version" value="${version.id}-${DSTAMP}"/>
-                <attribute name="Specification-Vendor" value="Apache"/>
-                <attribute name="Implementation-Title" value="Apache POI"/>
-                <attribute name="Implementation-Version" value="${version.id}-${DSTAMP}"/>
-                <attribute name="Implementation-Vendor" value="Apache"/>
-            </manifest>        
-                       <fileset dir="${main.output.dir}" />
-                       <fileset dir="${contrib.output.dir}" />
-                       <fileset dir="${scratchpad.output.dir}" />
-                       <fileset dir="legal/" />
-        </jar>
+    <target name="maven-dist" depends="jar" description="Builds the POM files for a maven distribution, and copies these and the jars to the appropriate locations">
+               <!-- Copy the jar files into the maven jar directory -->
+               <copy
+                       file="${dist.dir}/${jar.name}-${version.id}-${DSTAMP}.jar"
+                       todir="${mavendist.oap.dir}/jars/" />
+               <copy
+                       file="${dist.dir}/${jar.name}-contrib-${version.id}-${DSTAMP}.jar"
+                       todir="${mavendist.oap.dir}/jars/" />
+               <copy
+                       file="${dist.dir}/${jar.name}-scratchpad-${version.id}-${DSTAMP}.jar"
+                       todir="${mavendist.oap.dir}/jars/" />
 
-               <!-- Build a Jar file of all the source files -->
-        <jar destfile="${mavendist.dir}/${jar.name}-${version.id}-sources.jar">
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Specification-Title" value="Apache POI"/>
-                <attribute name="Specification-Version" value="${version.id}-${DSTAMP}"/>
-                <attribute name="Specification-Vendor" value="Apache"/>
-                <attribute name="Implementation-Title" value="Apache POI"/>
-                <attribute name="Implementation-Version" value="${version.id}-${DSTAMP}"/>
-                <attribute name="Implementation-Vendor" value="Apache"/>
-            </manifest>        
-                       <fileset dir="${main.src}" includes="**/*.java" />
-                       <fileset dir="${contrib.src}" includes="**/*.java" />
-                       <fileset dir="${scratchpad.src}" includes="**/*.java" />
-                       <fileset dir="legal/" />
-        </jar>
+               <!-- Build the org.apache.poi poms -->
+               <!-- Copy from the base file, substituting in the version and -->
+               <!--  artificat, plus doing the core poi dependency as needed -->
 
                <!-- Build the main pom -->
-               <!-- Copy from the base file, and substitute in the version -->
-               <filter token="VERSION" value="${version.id}" />
                <copy 
-                       filtering="true" 
                        file="poi.pom" 
-                       tofile="${mavendist.dir}/${jar.name}-${version.id}.pom" 
-               />
-               <!-- Build the poi => org.apache.poi redirect pom -->
-               <!-- Copy from the base file, and substitute in the version -->
-               <filter token="VERSION" value="${version.id}" />
+                       tofile="${mavendist.oap.dir}/poms/${jar.name}-${version.id}.pom" 
+               >
+                       <filterchain>
+                               <replacetokens>
+                                       <token key="VERSION" value="${version.id}" />
+                                       <token key="ARTIFICAT" value="poi" />
+                               </replacetokens>
+                               <tokenfilter>
+                                       <filetokenizer/>
+                                       <replaceregex pattern="START_NON_MAIN.*END_NON_MAIN_DEPENDENCY" replace="No POI dependency on the main jar" flags="s" />
+                               </tokenfilter>
+                       </filterchain>
+               </copy>
+               <!-- And the contrib pom -->
+               <copy 
+                       file="poi.pom" 
+                       tofile="${mavendist.oap.dir}/poms/${jar.name}-contrib-${version.id}.pom" 
+               >
+                       <filterchain>
+                               <replacetokens>
+                                       <token key="VERSION" value="${version.id}" />
+                                       <token key="ARTIFICAT" value="poi-contrib" />
+                               </replacetokens>
+                               <tokenfilter>
+                                       <replaceregex pattern="..-- START_NON_MAIN_DEPENDENCY --." replace="" flags="s"/>
+                                       <replaceregex pattern="..-- END_NON_MAIN_DEPENDENCY --." replace="" flags="s"/>
+                               </tokenfilter>
+                       </filterchain>
+               </copy>
+               <!-- And the scratchpad pom -->
+               <copy 
+                       file="poi.pom" 
+                       tofile="${mavendist.oap.dir}/poms/${jar.name}-scratchpad-${version.id}.pom" 
+               >
+                       <filterchain>
+                               <replacetokens>
+                                       <token key="VERSION" value="${version.id}" />
+                                       <token key="ARTIFICAT" value="poi-scratchpad" />
+                               </replacetokens>
+                               <tokenfilter>
+                                       <replaceregex pattern="..-- START_NON_MAIN_DEPENDENCY --." replace="" flags="s"/>
+                                       <replaceregex pattern="..-- END_NON_MAIN_DEPENDENCY --." replace="" flags="s"/>
+                               </tokenfilter>
+                       </filterchain>
+               </copy>
+
+               <!-- Build the poi => org.apache.poi redirect poms -->
+               <!-- Copy from the base file, substituting in the version+artifact -->
+               <copy 
+                       file="poi-redirect.pom" 
+                       tofile="${mavendist.poi.dir}/poms/${jar.name}-${version.id}.pom" 
+               >
+                       <filterchain><replacetokens>
+                               <token key="VERSION" value="${version.id}" />
+                               <token key="ARTIFICAT" value="poi" />
+                       </replacetokens></filterchain>
+               </copy>
+               <copy 
+                       file="poi-redirect.pom" 
+                       tofile="${mavendist.poi.dir}/poms/${jar.name}-contrib-${version.id}.pom" 
+               >
+                       <filterchain><replacetokens>
+                               <token key="VERSION" value="${version.id}" />
+                               <token key="ARTIFICAT" value="poi-contrib" />
+                       </replacetokens></filterchain>
+               </copy>
                <copy 
-                       filtering="true" 
                        file="poi-redirect.pom" 
-                       tofile="${mavendist.dir}/${jar.name}-${version.id}-redirect.pom" 
-               />
+                       tofile="${mavendist.poi.dir}/poms/${jar.name}-scratchpad-${version.id}.pom" 
+               >
+                       <filterchain><replacetokens>
+                               <token key="VERSION" value="${version.id}" />
+                               <token key="ARTIFICAT" value="poi-scratchpad" />
+                       </replacetokens></filterchain>
+               </copy>
+
+               <!-- And that's it for maven -->
        </target>
 
     <target name="jar" depends="compile" description="Creates jar files for distribution">
index eb2e71a08ba1502bb6ce84b61549f9e0960050e2..fa4a63e012d3e4270739fca1766d79cc0c881c09 100644 (file)
@@ -25,7 +25,7 @@ under the License.
 
        <modelVersion>4.0.0</modelVersion>
        <groupId>poi</groupId>
-       <artifactId>poi</artifactId>
+       <artifactId>@ARTIFICAT@</artifactId>
        <version>@VERSION@</version>
 
     <distributionManagement>
diff --git a/poi.pom b/poi.pom
index 6dc77b2738d33247c637a6ea21ddc70f63676817..7395157c2fc857711a79c1cf7631fcf5da759ff2 100644 (file)
--- a/poi.pom
+++ b/poi.pom
@@ -25,7 +25,7 @@ under the License.
 
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.apache.poi</groupId>
-       <artifactId>poi</artifactId>
+       <artifactId>@ARTIFICAT@</artifactId>
        <version>@VERSION@</version>
        <packaging>jar</packaging>
        <name>Apache POI</name>
@@ -33,6 +33,14 @@ under the License.
        <description>Apache POI - Java API To Access Microsoft Format Files</description>
 
     <dependencies>
+        <!-- START_NON_MAIN_DEPENDENCY -->
+        <dependency>
+           <groupId>org.apache.poi</groupId>
+           <artifactId>poi</artifactId>
+           <version>@VERSION@</version>
+        </dependency>
+        <!-- END_NON_MAIN_DEPENDENCY -->
+
         <dependency>
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>