leosimons    2004/04/26 14:56:18

  Modified:    buildsystem/jbs build-project.xml
  Log:
  now down to 38 seconds using
    ant -q -Ddo.not.debug=true -Ddo.not.test=true
      -Ddo.not.download=true -Ddo.not.warn=true -Dbe.real.quiet=true
  This is roughly 15 times as fast as maven using
    maven -q -b -o -Dmaven.test.skip=true multiproject:install
  it gets better...16 seconds are needed using ant on a rerun (when there's 
already compiled sources and readymade jars).
  The difference is much less pronounced when running tests, as there's a lot 
of time spent in the tests, and maven runs those about as quickly as ant.
  
  Revision  Changes    Path
  1.4       +55 -72    avalon-excalibur/buildsystem/jbs/build-project.xml
  
  Index: build-project.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/buildsystem/jbs/build-project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build-project.xml 26 Apr 2004 21:30:45 -0000      1.3
  +++ build-project.xml 26 Apr 2004 21:56:18 -0000      1.4
  @@ -30,8 +30,23 @@
   
       <!-- Information management -->
   
  +    <target name="jbs:msg" unless="be.real.quiet">
  +        
<echo>=======================================================================
  +   ${msg}
  
+=======================================================================</echo>
  +    </target>
  +    
  +    <macrodef name="msg">
  +        <attribute name="message"/>
  +        <sequential>
  +            <antcall target="jbs:msg">
  +                <param name="msg" value="@{message}"/>
  +            </antcall>
  +        </sequential>
  +    </macrodef>
  +
       <target name="jbs:info" depends="jbs:init">
  -        <echo>
  +        <msg message="
     JBS was called without arguments. JBS is a
     set of ant (http://ant.apache.org/) buildfiles that can be included
     from other ant buildfiles in order to simplify those buildfiles.
  @@ -51,11 +66,11 @@
     Note these are likely not directly callable; your project buildfile
     will have defined its own targets. Try 'ant -buildhelp' for
     information on the targets available to you.
  -        </echo>
  +        "/>
       </target>
   
       <target name="jbs:debug" unless="do.not.debug">
  -        
<echo>=======================================================================
  +        <msg message="
     JBS has been invoked, with these settings (some may be defaults):
   
     user.home               = ${user.home}
  @@ -77,12 +92,11 @@
     jarfile      = ${jbs.build.dir}/${project.name}-${project.version}.jar
     javadocs     = ${jbs.build.dir}/docs/apidocs
     junitreports = ${jbs.build.dir}/docs/junitreports
  
-=======================================================================</echo>
  +        "/>
       </target>
   
       <target name="jbs:warn-project.name" unless="project.name.set">
  -        
<echo>=======================================================================
  -                               WARNING!
  +        <msg message="                  WARNING!
   
     The property 'project.name' has not been set. This will result in a
     jar file with a rather dumb name, being
  @@ -90,38 +104,33 @@
     ${jbs.build.dir}/${project.name}-${project.version}.jar
   
     To fix this, add a property to the gump build definition or the
  -  properties file for the current component.
  
-=======================================================================</echo>
  +  properties file for the current component."/>
       </target>
   
       <target name="jbs:warn-avail-java-src" unless="java.src.present">
  -        
<echo>=======================================================================
  -                     WARNING for ${project.name}!
  +        <msg message="                  WARNING for ${project.name}!
   
     The directory
   
               ${jbs.src.dir}/java
   
     does not exist. This means the jar that will be created will be
  -  empty.
  
-=======================================================================</echo>
  +  empty."/>
       </target>
   
       <target name="jbs:warn-avail-test-src" unless="test.src.present">
  -        
<echo>=======================================================================
  -                     WARNING for ${project.name}!
  +        <msg message="                  WARNING for ${project.name}!
   
     The directory
   
               ${jbs.src.dir}/test
   
  -  does not exist. This means no unit tests will be run.
  
-=======================================================================</echo>
  +  does not exist. This means no unit tests will be run."/>
       </target>
   
       <target name="jbs:warn-avail-no-sources" if="no.sources.available">
  -        
<echo>=======================================================================
  -                      ERROR for ${project.name}!
  +        <msg message="                   ERROR for ${project.name}!
  +
   
     This project does not contain any java source files in
   
  @@ -129,13 +138,11 @@
               ${jbs.src.dir}/test
   
     that means it is not possible to generate any classes, jars or
  -  javadocs.
  
-=======================================================================</echo>
  +  javadocs."/>
       </target>
   
       <target name="jbs:warn-avail-no-source-dir" if="no.source.dir">
  -        <fail>
  -=======================================================================
  +        
<fail>=======================================================================
                         ERROR for ${project.name}!
   
     This project does not contain a source directory
  @@ -143,10 +150,9 @@
               ${jbs.src.dir}
   
     that means it is not possible to generate anything!
  -=======================================================================
  -        </fail>
  
+=======================================================================</fail>
       </target>
  -
  +    
       <target name="jbs:warn-avail" unless="do.not.warn">
           <antcall target="jbs:warn-avail-no-source-dir"/>
           <antcall target="jbs:warn-avail-no-sources"/>
  @@ -161,17 +167,17 @@
   
       <target name="jbs:jar" unless="no.source.dir"
               depends="jbs:java-compile, jbs:java-test, jbs:bin-jar">
  -        <echo>Jar Generated as
  +        <msg message="Jar Generated as
   
  -    ${jbs.build.dir}/${project.name}-${project.version}.jar</echo>
  +    ${jbs.build.dir}/${project.name}-${project.version}.jar"/>
       </target>
   
       <target name="jbs:dist" unless="no.source.dir"
               depends="jbs:src-dist, jbs:bin-dist">
  -         <echo>Distributions generated as
  +         <msg message="Distributions generated as
   
       ${jbs.build.dir}/dist/${project.name}-${project.version}-bin.zip
  -    ${jbs.build.dir}/dist/${project.name}-${project.version}-src.zip</echo>
  +    ${jbs.build.dir}/dist/${project.name}-${project.version}-src.zip"/>
       </target>
   
       <target name="jbs:reports" unless="no.source.dir"
  @@ -238,9 +244,7 @@
   
       <target name="jbs:java-compile" if="java.src.present"
               depends="jbs:init,jbs:get-dependencies">
  -        
<echo>=======================================================================
  -   Compiling Sources for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Compiling Sources for ${project.name}"/>
           <mkdir dir="${jbs.build.dir}"/>
           <mkdir dir="${jbs.build.dir}/classes"/>
           <javac
  @@ -261,9 +265,7 @@
   
       <target name="jbs:java-test-compile" if="test.src.present" 
unless="do.not.test"
               depends="jbs:init, jbs:java-compile">
  -        
<echo>=======================================================================
  -   Compiling Tests for ${project.name}
  -======================================================================</echo>
  +        <msg message="Compiling Tests for ${project.name}"/>
           <mkdir dir="${jbs.build.dir}/test-classes"/>
           <mkdir dir="${jbs.build.dir}/classes"/>
           <javac
  @@ -285,9 +287,7 @@
   
       <target name="jbs:java-test" if="test.src.present" unless="do.not.test"
               depends="jbs:init, jbs:java-test-compile">
  -        
<echo>=======================================================================
  -   Running tests for ${project.name}
  -======================================================================</echo>
  +        <msg message="Running tests for ${project.name}"/>
           <taskdef
                   name="junit"
                   
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"/>
  @@ -321,9 +321,7 @@
   
       <target name="jbs:java-test-reports" if="test.src.present" 
unless="do.not.test"
               depends="jbs:init, jbs:java-test">
  -        
<echo>=======================================================================
  -   Generating test reports for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Generating test reports for ${project.name}"/>
   
           <mkdir dir="${jbs.build.dir}/docs/junitreports"/>
   
  @@ -335,11 +333,9 @@
           </junitreport>
       </target>
   
  -    <target name="jbs:bin-jar" if="java.src.present" unless="do.not.test"
  +    <target name="jbs:bin-jar" if="java.src.present"
               depends="jbs:init, jbs:compile, jbs:test">
  -        
<echo>=======================================================================
  - Generating jar for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Generating jar for ${project.name}"/>
   
           <mkdir dir="${jbs.build.dir}/classes"/>
           <jar 
destfile="${jbs.build.dir}/${project.name}-${project.version}.jar" 
basedir="${jbs.build.dir}/classes"/>
  @@ -347,9 +343,7 @@
   
       <target name="jbs:javadocs" if="java.src.present"
               depends="jbs:init,jbs:jar">
  -        
<echo>=======================================================================
  -   Generating javadocs for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Generating javadocs for ${project.name}"/>
   
           <mkdir dir="${jbs.build.dir}/docs"/>
           <mkdir dir="${jbs.build.dir}/docs/apidocs"/>
  @@ -378,9 +372,7 @@
   
       <target name="jbs:clover" if="test.src.present" unless="do.not.test"
               depends="jbs:init">
  -        
<echo>=======================================================================
  -   Generating clover report for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Generating clover report for ${project.name}"/>
   
           <taskdef resource="clovertasks"/>
           <typedef resource="clovertypes"/>
  @@ -413,9 +405,7 @@
   
       <target name="jbs:bin-dist" unless="no.source.dir"
               depends="jbs:init,jbs:distclean,jbs:jar,jbs:javadocs">
  -        
<echo>=======================================================================
  -   Building Binary Distribution for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Building Binary Distribution for ${project.name}"/>
   
           <mkdir dir="${jbs.build.dir}"/>
           <mkdir dir="${jbs.build.dir}/${project.name}-${project.version}"/>
  @@ -453,9 +443,7 @@
   
       <target name="jbs:src-dist" unless="no.source.dir"
               depends="jbs:init,jbs:distclean,jbs:jar,jbs:javadocs">
  -        
<echo>=======================================================================
  -   Building Source Distribution for ${project.name}
  
-=======================================================================</echo>
  +        <msg message="Building Source Distribution for ${project.name}"/>
   
           <mkdir dir="${jbs.build.dir}"/>
           <mkdir dir="${jbs.build.dir}/${project.name}-${project.version}"/>
  @@ -495,15 +483,14 @@
               depends="jbs:init, jbs:no-dependency-warning, 
jbs:actually-get-dependencies"/>
   
       <target name="jbs:no-dependency-warning" if="skip.dependencies" 
depends="jbs:init">
  -        
<echo>=======================================================================
  -                       NOTE for ${project.name}!
  +        <msg message="                    NOTE for ${project.name}!
   
     We're not actually setting the dependency.classpath property to a
     meaningful value, because the skip.dependencies property has been
     set. Likely, we're being called from gump,
   
  -    http://jakarta.apache.org/gump/
  
-=======================================================================</echo>
  +    http://jakarta.apache.org/gump/"/>
  +
       </target>
       <target name="jbs:actually-get-dependencies" unless="skip.dependencies" 
depends="jbs:init">
           <available property="dependencies.file.available" 
file="dependencies.list"/>
  @@ -525,8 +512,9 @@
           if( project.getProperty("dependencies.file.available") != null )
           {
               skipAllDownloads = project.getProperty("do.not.download");
  +            quiet = project.getProperty("be.real.quiet");
               
  -            if(skipAllDownloads == null)
  +            if(skipAllDownloads == null && quiet == null)
               {
                 msg =  
"=======================================================================\n";
                 msg += "   Downloading dependencies for " + 
project.getProperty("project.name") + "\n";
  @@ -749,9 +737,7 @@
       <!-- Repository management -->
   
       <target name="jbs:jar:install" depends="jbs:init,jbs:jar" 
if="java.src.present">
  -        
<echo>=======================================================================
  -   Installing ${project.name} jar into local repository
  
-=======================================================================</echo>
  +        <msg message="Installing ${project.name} jar into local repository"/>
   
           <mkdir dir="${jbs.home}/repository/${project.name}/jars/"/>
           <copy todir="${jbs.home}/repository/${project.name}/jars/"
  @@ -759,9 +745,7 @@
       </target>
   
       <target name="jbs:jar:install-snapshot" depends="jbs:init,jbs:jar" 
if="java.src.present">
  -        
<echo>=======================================================================
  -   Installing ${project.name} jar into local repository as snapshot
  
-=======================================================================</echo>
  +        <msg message="Installing ${project.name} jar into local repository 
as snapshot"/>
   
           <mkdir dir="${jbs.home}/repository/${project.name}/jars/"/>
           <tstamp>
  @@ -776,14 +760,13 @@
       <!-- Gump descriptor -->
   
       <target name="jbs:gump-descriptor" depends="jbs:init">
  -        
<echo>=======================================================================
  -   Creating gump descriptor for ${project.name}
  +        <msg message="Creating gump descriptor for ${project.name}
   =======================================================================
    The descriptor will be generated as gump-${project.name}.xml. You may
    want to do some hand-editing before renaming it to gump.xml (or moving
    it elsewhere). If you want to automate the editing of the file (or publish
  - it somewhere), define a target named "customize-gump-descritor" in your
  - project buildfile.</echo>
  + it somewhere), define a target named 'customize-gump-descritor' in your
  + project buildfile."/>
   
           <!--
   file format:
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to