You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by le...@apache.org on 2003/06/07 17:12:20 UTC
cvs commit: avalon-excalibur/compatibility project.properties maven.xml project.xml
leosimons 2003/06/07 08:12:19
Modified: . maven-common.xml maven-template.xml
project-common.xml project.xml
compatibility maven.xml project.xml
Added: compatibility project.properties
Log:
more functionality
Revision Changes Path
1.7 +190 -5 avalon-excalibur/maven-common.xml
Index: maven-common.xml
===================================================================
RCS file: /home/cvs/avalon-excalibur/maven-common.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- maven-common.xml 7 Jun 2003 12:14:52 -0000 1.6
+++ maven-common.xml 7 Jun 2003 15:12:19 -0000 1.7
@@ -1,11 +1,22 @@
<?xml version="1.0"?>
-<!-- maven buildfile customization. -->
+<!--
+ Issue the command 'maven excalibur:info' for more information
+ about this file.
+-->
<project default="excalibur:warn"
xmlns:j="jelly:core"
xmlns:ant="jelly:ant">
+ <goal name="excalibur:header">
+ <ant:echo>
+===================================================================
+ Avalon Excalibur Build System, the Maven Edition
+===================================================================
+ </ant:echo>
+ </goal>
+
<!-- ==========================================================
Warning
========================================================== -->
@@ -19,10 +30,8 @@
<goal name="excalibur:warn"
description="Alerts the user that the maven build is in development">
+ <attainGoal name="excalibur:header"/>
<ant:echo>
-================================================================
- Avalon Excalibur Build System, the Maven Edition
-================================================================
!!! WARNING !!!
excalibur is built using ant; the maven build system
@@ -156,6 +165,22 @@
Distribution customization
========================================================== -->
+ <!-- check for override.version -->
+ <preGoal name="dist:build-setup">
+ <attainGoal name="excalibur:version-override"/>
+ </preGoal>
+
+ <!-- check for override.version -->
+ <goal name="excalibur:version-override">
+ <j:set var="override" value="${override.version}"/>
+ <j:if test="${not empty(override)}">
+ <j:setProperties object="${pom}" currentVersion="${override}"/>
+ </j:if>
+ <ant:echo>
+ overriding version; setting to: ${pom.currentVersion}
+ </ant:echo>
+ </goal>
+
<!-- auto-gen readme and license when building distributions -->
<postGoal name="dist:build-setup">
<attainGoal name="excalibur:generate-readme"/>
@@ -209,6 +234,166 @@
<goal name="excalibur:deploy"
description="Deploys a release to www.apache.org/dist">
- <echo>Not implemented!</echo>
+
+ <!-- get version -->
+ <attainGoal name="excalibur:version-override"/>
+
+ <!-- generate checksums -->
+ <ant:checksum filext="md5">
+ <fileset dir="target/distributions">
+ <include name="*.zip"/>
+ <include name="*.gz"/>
+ </fileset>
+ </ant:checksum>
+
+ <!-- set variables -->
+ <j:set var="hostname" value="${remote.host.name}"/>
+ <j:if test="${empty(hostname)}">
+ <j:set var="hostname" value="lsd.student.utwente.nl"/>
+ </j:if>
+ <j:set var="repodir" value="${remote.repository.dir}"/>
+ <j:if test="${empty(repodir)}">
+ <j:set var="repodir" value="~/repo"/>
+ </j:if>
+ <j:set var="mailannounce" value="${send.announce}"/>
+
+ <j:set var="repo" value="${hostname}:${repodir}"/>
+ <j:set var="mkdir" value="mkdir -p"/>
+ <j:set var="sshopts" value="-T -o BatchMode=yes"/>
+ <j:set var="scpopts" value="-B"/>
+
+ <!-- check for .asc -->
+ <j:set var="fail.on.pgp.missing" value="false"/>
+ <ant:available file="target/distributions/${maven.final.name}-bin.zip.asc"
+ property="asc.files.present"/>
+ <j:set var="pgpdone" value="${asc.files.present}"/>
+ <j:if test="${not pgpdone}">
+ <echo>
+WARNING: No PGP .asc files available! Please execute
+'maven excalibur:info' in the parent directory to read
+about PGP and deploying distributions!
+ </echo>
+ <j:if test="fail.on.pgp.missing">
+ <ant:fail/>
+ </j:if>
+ </j:if>
+
+ <!-- create directories -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ${mkdir} ${repodir}/${pom.artifactId}/source/"/>
+ </ant:exec>
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ${mkdir} ${repodir}/${pom.artifactId}/binaries/"/>
+ </ant:exec>
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ${mkdir} ${repodir}/${pom.artifactId}/jars/"/>
+ </ant:exec>
+
+ <!-- upload files -->
+ <ant:exec dir="." executable="${maven.scp.executable}">
+ <arg line="${scpopts} target/distributions/*${pom.currentVersion}-src* ${repo}/${pom.artifactId}/source/"/>
+ </ant:exec>
+ <ant:exec dir="." executable="${maven.scp.executable}">
+ <arg line="${scpopts} target/distributions/*${pom.currentVersion}-src* ${repo}/${pom.artifactId}/binaries/"/>
+ </ant:exec>
+ <ant:exec dir="." executable="${maven.scp.executable}">
+ <arg line="${scpopts} target/${maven.final.name}.jar ${repo}/${pom.artifactId}/jars/"/>
+ </ant:exec>
+
+ <!-- create symlinks -->
+
+ <!-- -src.tar.gz to basedir -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/source/${maven.final.name}-src.tar.gz ${repodir}/${pom.artifactId}/${maven.final.name}-src.tar.gz"/>
+ </ant:exec>
+ <!-- basedir/$v-src.tar.gz to basedir/latest-src.tar.gz -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/${maven.final.name}-src.tar.gz ${repodir}/${pom.artifactId}/${pom.artifactId}-latest-src.tar.gz"/>
+ </ant:exec>
+ <!-- -src.tar.gz.asc to basedir -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/source/${maven.final.name}-src.tar.gz.asc ${repodir}/${pom.artifactId}/${maven.final.name}-src.tar.gz.asc"/>
+ </ant:exec>
+ <!-- basedir/$v-src.tar.gz.asc to basedir/latest-src.tar.gz.asc -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/${maven.final.name}-src.tar.gz.asc ${repodir}/${pom.artifactId}/${pom.artifactId}-latest-src.tar.gz.asc"/>
+ </ant:exec>
+ <!-- -src.tar.gz.md5 to basedir -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/source/${maven.final.name}-src.tar.gz.md5 ${repodir}/${pom.artifactId}/${maven.final.name}-src.tar.gz.md5"/>
+ </ant:exec>
+ <!-- basedir/$v-src.tar.gz.md5 to basedir/latest-src.tar.gz.md5 -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/${maven.final.name}-src.tar.gz.md5 ${repodir}/${pom.artifactId}/${pom.artifactId}-latest-src.tar.gz.md5"/>
+ </ant:exec>
+
+ <!-- -src.zip to basedir -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/source/${maven.final.name}-src.zip ${repodir}/${pom.artifactId}/${maven.final.name}-src.zip"/>
+ </ant:exec>
+ <!-- basedir/$v-src.zip to basedir/latest-src.zip -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/${maven.final.name}-src.zip ${repodir}/${pom.artifactId}/${pom.artifactId}-latest-src.zip"/>
+ </ant:exec>
+ <!-- -src.zip.md5 to basedir -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/source/${maven.final.name}-src.zip.md5 ${repodir}/${pom.artifactId}/${maven.final.name}-src.zip.md5"/>
+ </ant:exec>
+ <!-- basedir/$v-src.zip.md5 to basedir/latest-src.zip.md5 -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/${maven.final.name}-src.zip.md5 ${repodir}/${pom.artifactId}/${pom.artifactId}-latest-src.zip.md5"/>
+ </ant:exec>
+ <!-- -src.zip.asc to basedir -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/source/${maven.final.name}-src.zip.asc ${repodir}/${pom.artifactId}/${maven.final.name}-src.zip.asc"/>
+ </ant:exec>
+ <!-- basedir/$v-src.zip.asc to basedir/latest-src.zip.asc -->
+ <ant:exec dir="." executable="${maven.ssh.executable}">
+ <arg line="${sshopts} ${hostname} ln -s ${repodir}/${pom.artifactId}/${maven.final.name}-src.zip.asc ${repodir}/${pom.artifactId}/${pom.artifactId}-latest-src.zip.asc"/>
+ </ant:exec>
+
+ <!-- create announcment -->
+ <ant:echo file="${maven.build.dir}/announcement-${pom.currentVersion}.txt">
+The Avalon team is proud to announce the release of version ${pom.currentVersion}
+of the ${pom.artifactId} project.
+
+About ${pom.artifactId}
+=======================
+${pom.description}
+
+About Avalon-Excalibur
+======================
+The Avalon project is an effort to create, design, develop and maintain
+a common framework and set of components for applications written using
+the Java language. The Avalon-Excalibur subproject contains reusable
+avalon components, avalon containers, and utility code.
+
+Avalon is proud to be a part of the Apache Software Foundation.
+
+For more information about avalon, see
+
+ http://avalon.apache.org/
+
+For more information about the Apache Software Foundation, see
+
+ http://www.apache.org/
+
+Downloading the distribution
+============================
+You may get the official release from the following URL:
+
+http://avalon.apache.org/download.cgi
+ </ant:echo>
+
+ <!-- e-mail announcement -->
+
+ <j:if test="${mailannounce}">
+ <ant:mail
+ from="Avalon Development Team >dev@avalon.apache.org<"
+ toList="leosimons@apache.org"
+ messageFile="${maven.build.dir}/announcement-${pom.currentVersion}.txt"
+ subject="[Announce] ${pom.artifactId} ${pom.currentVersion} released"/>
+ </j:if>
</goal>
+
</project>
1.2 +1 -1 avalon-excalibur/maven-template.xml
Index: maven-template.xml
===================================================================
RCS file: /home/cvs/avalon-excalibur/maven-template.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- maven-template.xml 7 Jun 2003 12:14:52 -0000 1.1
+++ maven-template.xml 7 Jun 2003 15:12:19 -0000 1.2
@@ -12,6 +12,6 @@
<property file="${basedir}/../../../../project.properties"/>
<!-- include the excalibur-wide custom goal decorators from maven-common.xml -->
- <j:import file="../maven-common.xml" inherit="true"/>
+ <j:import file="${basedir}/../maven-common.xml" inherit="true"/>
</project>
1.4 +4 -9 avalon-excalibur/project-common.xml
Index: project-common.xml
===================================================================
RCS file: /home/cvs/avalon-excalibur/project-common.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project-common.xml 7 Jun 2003 12:14:52 -0000 1.3
+++ project-common.xml 7 Jun 2003 15:12:19 -0000 1.4
@@ -1,14 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- this is the "common base" maven project
- descriptor containing common project management
- information.
-
- Use <extend>../project.xml</extend> in subdirectories
- to inherit these defaults.
-
- Please take care to synchronize this file with the
- one in the main avalon repository. -->
+<!--
+ Issue the command 'maven excalibur:info' for more information
+ about this file.
+-->
<project>
<pomVersion>3</pomVersion>
1.2 +5 -0 avalon-excalibur/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-excalibur/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- project.xml 7 Jun 2003 12:14:52 -0000 1.1
+++ project.xml 7 Jun 2003 15:12:19 -0000 1.2
@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Issue the command 'maven excalibur:info' for more information
+ about this file.
+-->
+
<project>
<extend>./project-common.xml</extend>
1.3 +3 -1 avalon-excalibur/compatibility/maven.xml
Index: maven.xml
===================================================================
RCS file: /home/cvs/avalon-excalibur/compatibility/maven.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- maven.xml 5 Jun 2003 21:02:29 -0000 1.2
+++ maven.xml 7 Jun 2003 15:12:19 -0000 1.3
@@ -14,7 +14,7 @@
<property file="${basedir}/../../../../project.properties"/>
<!-- include the excalibur-wide custom goal decorators from maven-common.xml -->
- <j:import file="../maven-common.xml" inherit="true"/>
+ <j:import file="${basedir}/../maven-common.xml" inherit="true"/>
<!-- ==========================================================
Compilation
@@ -39,4 +39,6 @@
<!-- after this, other maven functionality should
mostly work as normal... -->
</goal>
+
+
</project>
1.4 +18 -20 avalon-excalibur/compatibility/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-excalibur/compatibility/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 5 Jun 2003 21:02:29 -0000 1.3
+++ project.xml 7 Jun 2003 15:12:19 -0000 1.4
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
- <!-- please take care to synchronize project.properties
- with this file. -->
- <extend>../project-common.xml</extend>
+ <extend>${basedir}/../project-common.xml</extend>
<name>excalibur-compatibility</name>
<id>excalibur-compatibility</id>
@@ -11,23 +9,23 @@
<inceptionYear>1997</inceptionYear>
<shortDescription>Excalibur Compatibility</shortDescription>
<description>
- Deprecated materials
- </description>
-
- <properties>
- <use-forrest>true</use-forrest>
- </properties>
+Avalon is minimizing the number of projects and utilities it maintains
+because we need to focus on our charter. However, we do have users
+who have used some of the projects that were previously released. We
+can't just ignore their needs. The compatibility project is the
+graveyard for projects we are no longer supporting. It exists simply
+to let our users (and in some cases, our users' users) continue to
+use their legacy components until they migrate to better supported
+libraries.
- <build>
- <!-- Unit test cases; need to rule out abstract classes -->
- <unitTest>
- <includes>
- <include>**/*TestCase.java</include>
- </includes>
- <excludes>
- <exclude>**/Abstract*</exclude>
- </excludes>
- </unitTest>
- </build>
+Most of the packages in this project have replacement libraries, but
+it is inevitable that some in here may not have a replacement yet--
+but the package falls outside our charter. If you would like to
+volunteer to maintain those packages in your own library, please
+contact the Avalon Developer's List and let them know of your
+availability. Packages with a definite and released replacement will
+be completely deprecated and point to the new classes in the new
+library.
+ </description>
</project>
1.1 avalon-excalibur/compatibility/project.properties
Index: project.properties
===================================================================
# -------------------------------------------------------------------
# P R O J E C T P R O P E R T I E S
# -------------------------------------------------------------------
maven.repo.remote = http://lsd.student.utwente.nl/repository,http://www.apache.org/dist/avalon,http://www.ibiblio.org/maven
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org