Author: psharples
Date: Mon Oct 17 13:41:48 2011
New Revision: 1185167

URL: http://svn.apache.org/viewvc?rev=1185167&view=rev
Log:
Fix for sources & javadoc jar files not being added to the maven artifacts 
correctly. Also new ant task added to allow maven artifacts to be published to 
the central staging repo. See WOOKIE-269.

Modified:
    incubator/wookie/trunk/ant/ivy-java-common.xml
    incubator/wookie/trunk/ant/ivysettings.xml
    incubator/wookie/trunk/build.xml
    incubator/wookie/trunk/connector/java/ivy.xml
    incubator/wookie/trunk/parser/java/ivy.xml

Modified: incubator/wookie/trunk/ant/ivy-java-common.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/ant/ivy-java-common.xml?rev=1185167&r1=1185166&r2=1185167&view=diff
==============================================================================
--- incubator/wookie/trunk/ant/ivy-java-common.xml (original)
+++ incubator/wookie/trunk/ant/ivy-java-common.xml Mon Oct 17 13:41:48 2011
@@ -209,6 +209,12 @@
        <delete dir="${dist.dir}/javadoc" />
     </target>
        
+    <target name="test-calling-project">
+       <condition property="not-subproject">
+               <equals arg1="${ant.project.name}" arg2="wookie"/>
+       </condition>
+    </target>  
+               
     <target name="publish" depends="clean-build, jar" description="--> publish 
this project in the ivy repository">
         <ivy:publish
           artifactspattern="[artifact].[ext]"
@@ -217,47 +223,30 @@
        />
         <echo message="project ${ant.project.name} released with version 
${revision}" />
     </target>
+               
+       <!-- 
+       
================================================================================
+       We have 3 tasks that are almost identical, except one parameter - the 
resolver
        
-       <!--
-       Note to run this task, you must first add your credentials on the 
command line 
+       publish-local
+       publish-maven-snapshot-artifacts
+       publish-maven-release-artifacts
        
-       i.e.
+       TODO - merge these into one task & pass the resolver as parameter
        
-        -Dupload.user=mysuername -Dupload.password=mypassword
+       Note to run either the...
+        
+       'publish-maven-snapshot-artifacts' OR 
+       'publish-maven-release-artifacts'
         
+       ...tasks, you must first add your credentials on the command line 
+       
+       i.e.
+       
+        -Dupload.user=myusername -Dupload.password=mypassword
+       
================================================================================
        -->
-    <target name="publish-snapshots" depends="clean-dist, jar" 
description="--> publishes this project in the apache snapshot repository. Dont 
run this from the root, see instead 'snapshot-repo-publish-subprojects'">
-       <echo>Locally publishing ${ant.project.name}-${version}</echo>
-       <fail unless="upload.user" message="supply upload.user on the command 
line"/>
-       <fail unless="upload.password" message="supply upload.password on the 
command line"/>
-       <delete file="${dist.dir}/ivy.xml"/> <!-- delete last produced ivy file 
to be sure a new one will be generated -->
-       <tstamp>
-               <format property="now" pattern="yyyyMMddHHmmss"/>
-       </tstamp>        
-       <ivy:makepom ivyfile="${basedir}/ivy.xml"
-                       templatefile="${basedir}/pom-template.xml"
-                       pomfile="${dist.dir}/${ant.project.name}.pom">
-               <mapping conf="deploy" scope="compile"/>
-       </ivy:makepom>
        
-       <ivy:publish resolver="apache-snapshot"
-                       pubrevision="${version}"
-                       forcedeliver="true"
-                       publishivy="false"
-                       srcivypattern="${dist.dir}/ivy.xml"                     
-                               pubdate="${now}"
-                       overwrite="true">                       
-                               <artifacts 
pattern="${dist.dir}/[artifact](-[classifier]).[ext]"/>                         
             
-               </ivy:publish>
-       <echo message="project ${ant.project.name} published to nexus snapshot 
repo with version ${version}" />         
-    </target>
-
-    <target name="test-calling-project">
-       <condition property="not-subproject">
-               <equals arg1="${ant.project.name}" arg2="wookie"/>
-       </condition>
-    </target>
-
     <target name="publish-local" depends="test-calling-project, clean-dist, 
jar" unless="not-subproject" description="--> publish this project in the local 
ivy repository">
        <echo>Locally publishing ${ant.project.name}-${version}</echo>
                <delete file="${dist.dir}/ivy.xml"/> <!-- delete last produced 
ivy file to be sure a new one will be generated -->
@@ -275,12 +264,60 @@
                forcedeliver="true"
                publishivy="false"
                srcivypattern="${dist.dir}/ivy.xml"
-                       pubdate="${now}"
-               overwrite="true">
-               <!--<artifacts pattern="${dist.dir}/[artifact].[ext]"/>-->
-               <artifacts 
pattern="${dist.dir}/[artifact](-[classifier]).[ext]"/>
-       </ivy:publish>
+                       pubdate="${now}"                
+               overwrite="true"                                
+               
artifactspattern="${dist.dir}/[artifact](-[classifier]).[ext]"/>        
         <echo message="project ${ant.project.name} published locally with 
version ${version}" />
+    </target>  
+       
+    <target name="publish-maven-snapshot-artifacts" depends="clean-dist, jar" 
description="--> publishes this project in the apache snapshot repository. Dont 
run this from the root, see instead 
'publish-subproject-artifacts-to-snapshot-repo'">
+       <echo>Locally publishing ${ant.project.name}-${version}</echo>
+       <fail unless="upload.user" message="supply upload.user on the command 
line"/>
+       <fail unless="upload.password" message="supply upload.password on the 
command line"/>
+       <delete file="${dist.dir}/ivy.xml"/> <!-- delete last produced ivy file 
to be sure a new one will be generated -->
+       <tstamp>
+               <format property="now" pattern="yyyyMMddHHmmss"/>
+       </tstamp>        
+       <ivy:makepom ivyfile="${basedir}/ivy.xml"
+                       templatefile="${basedir}/pom-template.xml"
+                       pomfile="${dist.dir}/${ant.project.name}.pom">
+               <mapping conf="deploy" scope="compile"/>
+       </ivy:makepom>
+       
+       <ivy:publish resolver="apache-snapshot-artifacts"
+                       pubrevision="${version}"
+                       forcedeliver="true"
+                       publishivy="false"
+                       srcivypattern="${dist.dir}/ivy.xml"                     
+                       pubdate="${now}"
+                       overwrite="true"
+                       
artifactspattern="${dist.dir}/[artifact](-[classifier]).[ext]"/>                
                                                
+       <echo message="project ${ant.project.name} published to nexus snapshot 
repo with version ${version}" />         
     </target>
 
+    <target name="publish-maven-release-artifacts" depends="clean-dist, jar" 
description="--> publishes this project in the apache staging area repository 
(prior to release). Dont run this from the root, see instead 
'publish-subproject-artifacts-to-release-repo'">
+       <echo>Locally publishing ${ant.project.name}-${version}</echo>
+       <fail unless="upload.user" message="supply upload.user on the command 
line"/>
+       <fail unless="upload.password" message="supply upload.password on the 
command line"/>
+       <delete file="${dist.dir}/ivy.xml"/> <!-- delete last produced ivy file 
to be sure a new one will be generated -->
+       <tstamp>
+               <format property="now" pattern="yyyyMMddHHmmss"/>
+       </tstamp>        
+       <ivy:makepom ivyfile="${basedir}/ivy.xml"
+                       templatefile="${basedir}/pom-template.xml"
+                       pomfile="${dist.dir}/${ant.project.name}.pom">
+               <mapping conf="deploy" scope="compile"/>
+       </ivy:makepom>
+       
+       <ivy:publish resolver="apache-release-artifacts"
+                       pubrevision="${version}"
+                       forcedeliver="true"
+                       publishivy="false"
+                       srcivypattern="${dist.dir}/ivy.xml"                     
+                       pubdate="${now}"
+                       overwrite="true"
+                       
artifactspattern="${dist.dir}/[artifact](-[classifier]).[ext]"/>                
                                                
+       <echo message="project ${ant.project.name} published to nexus snapshot 
repo with version ${version}" />         
+    </target>  
+       
 </project>

Modified: incubator/wookie/trunk/ant/ivysettings.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/ant/ivysettings.xml?rev=1185167&r1=1185166&r2=1185167&view=diff
==============================================================================
--- incubator/wookie/trunk/ant/ivysettings.xml (original)
+++ incubator/wookie/trunk/ant/ivysettings.xml Mon Oct 17 13:41:48 2011
@@ -16,9 +16,10 @@
   limitations under the License.
 -->
 <ivysettings>
-  <property name="apache.repo.snapshot.url" 
value="https://repository.apache.org/content/repositories/snapshots/"; 
override="false" />
+  <property name="apache.repo.release.url" 
value="https://repository.apache.org/service/local/staging/deploy/maven2"; 
override="false" />  
+  <property name="apache.repo.snapshot.url" 
value="https://repository.apache.org/content/repositories/snapshots/"; 
override="false" />  
   <credentials host="repository.apache.org" realm="Sonatype Nexus Repository 
Manager" username="${upload.user}" passwd="${upload.password}"/>
-  <property name="maven2.pattern" 
value="[organisation]/[module]/[revision]/[module]-[revision]" />
+  <property name="maven2.pattern" 
value="[organisation]/[module]/[revision]/[module]-[revision](-[classifier])" />
   <property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]" />
   <settings defaultResolver="wookie-chain" />
   <caches>
@@ -39,7 +40,8 @@
                        <artifact 
pattern="${apache.repo.snapshot.url}/${maven2.pattern.ext}"/>
                </url>
                -->
-               <ibiblio name="apache-snapshot" 
root="${apache.repo.snapshot.url}" pattern="${maven2.pattern.ext}" 
m2compatible="true" />
+               <ibiblio name="apache-snapshot-artifacts" 
root="${apache.repo.snapshot.url}" pattern="${maven2.pattern.ext}" 
m2compatible="true" />
+               <ibiblio name="apache-release-artifacts" 
root="${apache.repo.release.url}" pattern="${maven2.pattern.ext}" 
m2compatible="true" />
          </chain>
   </resolvers>
 </ivysettings>

Modified: incubator/wookie/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/build.xml?rev=1185167&r1=1185166&r2=1185167&view=diff
==============================================================================
--- incubator/wookie/trunk/build.xml (original)
+++ incubator/wookie/trunk/build.xml Mon Oct 17 13:41:48 2011
@@ -236,11 +236,17 @@
        <ant dir="${wookie.parser.w3c.dir}/java" target="publish-local" 
inheritAll="false"/>
   </target>
        
-  <target name="snapshot-repo-publish-subprojects" description="Publishes all 
sub projects (i.e. java connector and parser projects) to the apache snapshot 
repository">
+  <target name="publish-subproject-artifacts-to-snapshot-repo" 
description="Publishes all sub projects (i.e. java connector and parser 
projects) to the apache snapshot repository">
        <!-- publish snapshot sub-projects -->
-       <ant dir="${wookie.connector.dir}/java" target="publish-snapshots" 
inheritAll="false"/>
-       <ant dir="${wookie.parser.w3c.dir}/java" target="publish-snapshots" 
inheritAll="false"/>
+       <ant dir="${wookie.connector.dir}/java" 
target="publish-maven-snapshot-artifacts" inheritAll="false"/>
+       <ant dir="${wookie.parser.w3c.dir}/java" 
target="publish-maven-snapshot-artifacts" inheritAll="false"/>
   </target>    
+       
+  <target name="publish-subproject-artifacts-to-release-repo" 
description="Publishes all sub projects (i.e. java connector and parser 
projects) to the apache release repository">
+       <!-- publish staging/release sub-projects -->
+       <ant dir="${wookie.connector.dir}/java" 
target="publish-maven-release-artifacts" inheritAll="false"/>
+       <ant dir="${wookie.parser.w3c.dir}/java" 
target="publish-maven-release-artifacts" inheritAll="false"/>
+  </target>            
        
   <target name="pre-compile-core">
     <!-- build supported database schema scripts -->

Modified: incubator/wookie/trunk/connector/java/ivy.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/connector/java/ivy.xml?rev=1185167&r1=1185166&r2=1185167&view=diff
==============================================================================
--- incubator/wookie/trunk/connector/java/ivy.xml (original)
+++ incubator/wookie/trunk/connector/java/ivy.xml Mon Oct 17 13:41:48 2011
@@ -22,19 +22,12 @@
          <conf name="dev" extends="deploy" description="Provide the necessary 
files and libraries to run in standalone (development) mode"/>
          <conf name="test" extends="dev" visibility="private" description="for 
our testing framework"/>
        </configurations>
-       
-       
-       <publications xmlns:e="urn:ant.apache.org:ivy-extras">  
-       <!-- 
-         Need to figure out why the publish task in ivy-java-common.xml does 
not pick up the source & javadoc jars
-         Commented out for now as they appear to be copied over without the 
classifier added in which may
-         cause the original compiled wookie-java-connector.jar to be 
overwritten
-                      
+               
+       <publications xmlns:e="urn:ant.apache.org:ivy-extras">          
+         <artifact name="wookie-java-connector" type="pom" ext="pom" 
conf="deploy"/>
+      <artifact name="wookie-java-connector" type="jar" conf="deploy"/>        
        
       <artifact name="wookie-java-connector" type="sources" conf="deploy" 
ext="jar" e:classifier="sources"/>
-      <artifact name="wookie-java-connector" type="javadoc" conf="deploy" 
ext="jar" e:classifier="javadoc"/>
-       -->
-      <artifact name="wookie-java-connector" type="pom" ext="pom" 
conf="deploy"/>
-      <artifact name="wookie-java-connector" type="jar" conf="deploy"/>   
+      <artifact name="wookie-java-connector" type="javadoc" conf="deploy" 
ext="jar" e:classifier="javadoc"/>                
        </publications>
     
     <dependencies>

Modified: incubator/wookie/trunk/parser/java/ivy.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/ivy.xml?rev=1185167&r1=1185166&r2=1185167&view=diff
==============================================================================
--- incubator/wookie/trunk/parser/java/ivy.xml (original)
+++ incubator/wookie/trunk/parser/java/ivy.xml Mon Oct 17 13:41:48 2011
@@ -24,16 +24,10 @@
        </configurations>
        
        <publications>      
-         <!-- 
-         Need to figure out why the publish task in ivy-java-common.xml does 
not pick up the source & javadoc jars
-         Commented out for now as they appear to be copied over without the 
classifier added in which may
-         cause the original compiled wookie-parser.jar to be overwritten
-                
-      <artifact name="wookie-parser" type="sources" ext="jar" 
m:classifier="sources"/>
-      <artifact name="wookie-parser" type="javadoc" ext="jar" 
m:classifier="javadoc"/>
-       -->
-      <artifact name="wookie-parser" type="pom" ext="pom"/>
-      <artifact name="wookie-parser" type="jar"/>
+         <artifact name="wookie-parser" conf="deploy" type="pom" ext="pom"/>
+      <artifact name="wookie-parser" conf="deploy" type="jar"/>
+      <artifact name="wookie-parser" conf="deploy" type="sources" ext="jar" 
m:classifier="sources"/>
+      <artifact name="wookie-parser" conf="deploy" type="javadoc" ext="jar" 
m:classifier="javadoc"/>            
        </publications>
     
     <dependencies>


Reply via email to