Antoine Levy-Lambert wrote:
Hi,
Steve had already sent an email to repository at apache dot org.
http://mail-archives.apache.org/mod_mbox/www-repository/200606.mbox/browser
Also, Carlos Sanchez answered my JIRA issue, giving a pointer to :
http://www.apache.org/dev/release-publishing.html
see this too
http://jakarta.apache.org/commons/releases/index.html
http://www.apache.org/dist/java-repository/ant/jars is the source of
ibiblio.org regarding everything that comes from apache, so we do not
have to add uploads to other sites to ReleaseInstructions.
What we should do is figure out how we are going to generate and upload
POM files (Maven project descriptors) to
http://www.apache.org/dist/java-repository/ant/jars. This possibly even
in 2 flavors for Maven 1 and Maven 2 ???
Pom2 files. they can downconvert.
This is roughly how we do it on smartfrog. If a project has a .pom file
it gets copied with property expansion. Otherwise we <echo> out a pom
(this is ant1.6.5 compatible)
<!-- ========================================================== -->
<!-- init all the maven2 support -->
<!-- ========================================================== -->
<target name="m2-init"
depends="init,init-proxy,declare-extended-smartfrog-tasks">
<!-- per project, CVS managed override -->
<property file="libraries.properties" />
<!-- central CVS managed libraries list -->
<property file="${smartfrog.components.dir}/libraries.properties" />
<!-- Maven2 stuff
All components build into the org.smartfrog group, unless
otherwise stated, but
are their own artifacts.
-->
<property name="m2.repository"
location="${user.home}/.m2/repository" />
<!-- make the root path of an artifact -->
<macrodef name="m2-makepath">
<attribute name="property"/>
<attribute name="groupIDpath"/>
<attribute name="artifactID" default="@{groupIDpath}"/>
<attribute name="version"/>
<sequential>
<property name="@{property}"
location="${m2.repository}/@{groupIDpath}/@{artifactID}/@{version}" />
</sequential>
</macrodef>
<property name="m2.groupID" value="org.smartfrog" />
<property name="m2.groupID.path" value="org/smartfrog" />
<m2-makepath property="m2.subdir"
groupIDpath="${m2.groupID.path}"
artifactID="${artifact.name}"
version="${Version}" />
<!-- pom setup -->
<property name="target.pom"
location="${dist.lib.dir}/${jarfile.stub}.pom"/>
<property name="project.pom" location="project-template.pom"/>
<available property="project.haspom" file="${project.pom}"/>
</target>
<!-- ========================================================== -->
<!-- POM creation/copy, depending on whether it exists or not -->
<!-- ========================================================== -->
<target name="m2-copy-pom" depends="m2-init" if="project.haspom">
<copy file="${project.pom}" tofile="${target.pom}" >
<!-- we expand ant properties here. -->
<filterchain>
<expandproperties/>
</filterchain>
</copy>
</target>
<!-- inline creation of a very minimal (zero dependency) pom -->
<target name="m2-make-pom" depends="m2-init" unless="project.haspom">
<echo message="Creating Pom ${target.pom}" level="verbose"/>
<echo file="${target.pom}"><![CDATA[<project>
<modelVersion>4.0.0</modelVersion>
<groupId>${m2.groupID}</groupId>
<artifactId>${artifact.name}</artifactId>
<packaging>jar</packaging>
<version>${Version}</version>
</project>
]]></echo>
</target>
<target name="m2-pom" depends="m2-copy-pom,m2-make-pom" />
<!-- ========================================================== -->
<!-- this is not normally for overriding -->
<!-- install the jar, to the local maven2 repository -->
<!-- ========================================================== -->
<target name="m2-install" depends="checksum-target-jar,m2-pom"
description="copy the JAR file local maven repository">
<mkdir dir="${m2.subdir}"/>
<copy file="${target.jar}" todir="${m2.subdir}"/>
<!-- copy a pom -->
<copy file="${target.pom}" todir="${m2.subdir}" failonerror="false"/>
<copy file="${target.jar}.md5" todir="${m2.subdir}"
failonerror="false"/>
</target>
by default, stub poms declare no dependencies *at all*.
for ant we could have a dir src/etc/pom into which the different pom
templates for each component goes
e.g ant-junit.pom has a dependency on junit of ${junit.version}, and on
ant-${ant.version}
the build
1. copies the templates with property expansion enabled (like
"m2-copy-pom" above)
2. creates .md5 checksums of the poms and their artifacts
3. signs this stuff by <exec gpg>
4. scps the files and signatures to a location, the default being the
apache repository, but with any other location supported.
5. could also have a stub announcement email in the same dir, do the
same property-expanding-copy and GPG sign trick to produce authenticated
email for the announcement
-steve
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]