Author: bodewig Date: Wed Jun 9 13:41:23 2010 New Revision: 953001 URL: http://svn.apache.org/viewvc?rev=953001&view=rev Log: first cut at providing nexus upload support for Antlibs based on Antoine's work for Ant. Will be tested by compress-antlib release someday
Added: ant/antlibs/common/trunk/ivysettings-nexus.xml - copied unchanged from r952673, ant/core/trunk/release/ivysettings.xml ant/antlibs/common/trunk/upload.xml - copied, changed from r952673, ant/core/trunk/release/upload.xml Modified: ant/antlibs/common/trunk/build.xml ant/antlibs/common/trunk/ivy.xml Modified: ant/antlibs/common/trunk/build.xml URL: http://svn.apache.org/viewvc/ant/antlibs/common/trunk/build.xml?rev=953001&r1=953000&r2=953001&view=diff ============================================================================== --- ant/antlibs/common/trunk/build.xml (original) +++ ant/antlibs/common/trunk/build.xml Wed Jun 9 13:41:23 2010 @@ -34,6 +34,8 @@ <property name="build.classes" value="${build}/classes"/> <property name="build.testclasses" value="${build}/test-classes"/> <property name="build.lib" value="${build}/lib"/> + <property name="build.javarepository" + value="${build}/java-repository"/> <property name="src.junit" location="src/tests/junit"/> <property name="src.antunit" location="src/tests/antunit"/> @@ -430,4 +432,36 @@ <target name="create-readable-documents" depends="style-contributors,style-changes"/> + + <!-- uploading of releases --> + <import file="${common.basedir}/upload.xml"/> + + <target name="prepare-upload" depends="bindist"> + <property name="upload.dir" + value="${build.javarepository}/org/apache/ant/${artifact.name}/${artifact.version}"/> + <mkdir dir="${upload.dir}"/> + <copy file="${jarname}" todir="${upload.dir}"/> + <copy file="${target.pom}" todir="${upload.dir}"/> + </target> + + <target name="check-sigs" depends="prepare-upload"> + <uptodate property="jar.sig.ok" + srcfile="${upload.dir}/${artifact.stub}.jar" + targetfile="${upload.dir}/${artifact.stub}.jar.asc"/> + <uptodate property="pom.sig.ok" + srcfile="${upload.dir}/${artifact.stub}.pom" + targetfile="${upload.dir}/${artifact.stub}.pom.asc"/> + <fail message="Your OpenPGP signature of the artifacts is too old or missing"> + <condition> + <not> + <and> + <isset property="jar.sig.ok"/> + <isset property="pom.sig.ok"/> + </and> + </not> + </condition> + </fail> + </target> + + <target name="upload" depends="check-sigs,perform-nexus-upload"/> </project> Modified: ant/antlibs/common/trunk/ivy.xml URL: http://svn.apache.org/viewvc/ant/antlibs/common/trunk/ivy.xml?rev=953001&r1=953000&r2=953001&view=diff ============================================================================== --- ant/antlibs/common/trunk/ivy.xml (original) +++ ant/antlibs/common/trunk/ivy.xml Wed Jun 9 13:41:23 2010 @@ -28,7 +28,7 @@ <!-- ========================================================== --> <target name="ivy-init" depends="setup"> - <property name="ivy.organization" value="apache"/> + <property name="ivy.organization" value="org/apache"/> <property name="target.ivy.xml" location="${build.lib}/${artifact.stub}-ivy.xml"/> <tstamp> @@ -59,7 +59,7 @@ <echoxml file="${target.ivy.xml}"> <ivy-module version="1.3"> <info organization="${ivy.organization}" - module="${artifact.name}" + module="ant" revision="${artifact.version}" publication="${publication.datetime}"> <license name="Apache Software License 2.0" @@ -67,6 +67,12 @@ <ivy-author name="Apache Ant Development Team" url="http://ant.apache.org/"/> </info> + <publications> + <artifact name="${artifact.name}" type="pom" ext="pom"/> + <artifact name="${artifact.name}" type="pom.asc" ext="pom.asc"/> + <artifact name="${artifact.name}" type="jar" ext="jar"/> + <artifact name="${artifact.name}" type="jar.asc" ext="jar.asc"/> + </publications> </ivy-module> </echoxml> </target> Copied: ant/antlibs/common/trunk/upload.xml (from r952673, ant/core/trunk/release/upload.xml) URL: http://svn.apache.org/viewvc/ant/antlibs/common/trunk/upload.xml?p2=ant/antlibs/common/trunk/upload.xml&p1=ant/core/trunk/release/upload.xml&r1=952673&r2=953001&rev=953001&view=diff ============================================================================== --- ant/core/trunk/release/upload.xml (original) +++ ant/antlibs/common/trunk/upload.xml Wed Jun 9 13:41:23 2010 @@ -1,3 +1,4 @@ +<?xml version="1.0"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -15,12 +16,25 @@ limitations under the License. --> <project name="upload" xmlns:ivy="antlib:org.apache.ivy.ant"> - <fail unless="upload.user" message="supply upload.user on the command line"/> - <fail unless="upload.password" message="supply upload.password on the command line"/> - <property name="upload.url" value="https://repository.apache.org/service/local/staging/deploy/maven2"/> - <ivy:configure file="ivysettings.xml"/> - <ivy:resolve file="ivy.xml"/> - <ivy:retrieve/> - <ivy:deliver/> - <ivy:publish publishivy="false" artifactspattern="${basedir}/../java-repository/[organisation]/[module]/[artifact]/[revision]/[artifact]-[revision].[ext]" resolver="nexus"/> + <description>Targets for uploading releases to ASF's Nexus + instance</description> + + <!-- where to upload the artifacts --> + <property name="upload.url" + value="https://repository.apache.org/service/local/staging/deploy/maven2"/> + + <target name="perform-nexus-upload" + description="really requires the prepare-upload target to be run first"> + <fail unless="upload.user" + message="supply upload.user on the command line"/> + <fail unless="upload.password" + message="supply upload.password on the command line"/> + <ivy:configure file="ivysettings-nexus.xml"/> + <ivy:resolve file="${target.ivy.xml}"/> + <ivy:retrieve/> + <ivy:deliver/> + <ivy:publish publishivy="false" + artifactspattern="${build.javarepository}/[organisation]/[module]/[artifact]/[revision]/[artifact]-[revision].[ext]" + resolver="nexus"/> + </target> </project> \ No newline at end of file