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 &gt;dev@avalon.apache.org&lt;"
  +                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