leosimons    2003/06/11 08:29:12

  Modified:    buildsystem maven-common-gump-build.xml
  Log:
  optimize script so it does not call init dozens of times
  
  Revision  Changes    Path
  1.3       +90 -18    avalon/buildsystem/maven-common-gump-build.xml
  
  Index: maven-common-gump-build.xml
  ===================================================================
  RCS file: /home/cvs/avalon/buildsystem/maven-common-gump-build.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- maven-common-gump-build.xml       11 Jun 2003 15:03:35 -0000      1.2
  +++ maven-common-gump-build.xml       11 Jun 2003 15:29:11 -0000      1.3
  @@ -18,7 +18,7 @@
           </echo>
       </target>
   
  -    <target name="avalon:debug" depends="avalon:init" unless="do.not.debug">
  +    <target name="avalon:debug" unless="do.not.debug">
           <echo>
   =======================================================================
   DEBUG INFO
  @@ -57,8 +57,78 @@
           </echo>
       </target>
   
  +    <target name="avalon:warn-avail-api-src" unless="api.src.present">
  +        <echo>
  +=======================================================================
  +                          NOTE!
  +
  +  The directory
  +
  +            ${maven.src.dir}/api
  +
  +  does not exist. This means the api jar that will be created will be
  +  empty.
  +=======================================================================
  +        </echo>
  +    </target>
  +
  +    <target name="avalon:warn-avail-impl-src" unless="impl.src.present">
  +        <echo>
  +=======================================================================
  +                          NOTE!
  +
  +  The directory
  +
  +            ${maven.src.dir}/impl
  +
  +  does not exist. This means the impl jar that will be created will be
  +  empty.
  +=======================================================================
  +        </echo>
  +    </target>
  +
  +    <target name="avalon:warn-avail-test-src" unless="test.src.present">
  +        <echo>
  +=======================================================================
  +                          NOTE!
  +
  +  The directory
  +
  +            ${maven.src.dir}/test
  +
  +  does not exist. This means no unit tests will be run.
  +=======================================================================
  +        </echo>
  +    </target>
  +
  +    <target name="avalon:warn-avail-no-sources" if="no.sources.available">
  +        <fail>
  +=======================================================================
  +                          ERROR!
  +
  +  This project does not contain any java source files in
  +
  +            ${maven.src.dir}/api        or
  +            ${maven.src.dir}/impl       or
  +            ${maven.src.dir}/java       or
  +            ${maven.src.dir}/test       or
  +
  +  that means it is not possible to generate any classes, jars or
  +  javadocs.
  +=======================================================================
  +        </fail>
  +    </target>
  +
  +    <target name="avalon:warn-avail">
  +        <antcall target="avalon:warn-avail-no-sources"/>
  +        <antcall target="avalon:warn-avail-api-src"/>
  +        <antcall target="avalon:warn-avail-impl-src"/>
  +        <antcall target="avalon:warn-avail-test-src"/>
  +    </target>
  +
       <target name="avalon:init">
           <antcall target="avalon:warning"/>
  +        <antcall target="avalon:debug"/>
   
           <!-- defaults -->
           <property name="maven.src.dir" value="${basedir}/src"/>
  @@ -80,28 +150,27 @@
               <isset property="project.name"/>
           </condition>
           <antcall target="avalon:warn-project.name"/>
  -    </target>
   
  -    <target name="avalon:jar" depends="avalon:init">
           <available file="${basedir}/src/api" property="api.src.present"/>
           <available file="${basedir}/src/impl" property="impl.src.present"/>
           <available file="${basedir}/src/java" property="java.src.present"/>
           <available file="${basedir}/src/test" property="test.src.present"/>
   
  -        <antcall target="avalon:api-compile"/>
  -        <antcall target="avalon:impl-compile"/>
  -        <antcall target="avalon:java-compile"/>
  -        <antcall target="avalon:test"/>
  -
  -        <available file="${basedir}/target/classes" property="classes.present"/>
  -        <available file="${basedir}/target/api-classes" 
property="api-classes.present"/>
  -        <available file="${basedir}/target/impl-classes" 
property="impl-classes.present"/>
  -
  -        <antcall target="avalon:api-jar"/>
  -        <antcall target="avalon:impl-jar"/>
  -        <antcall target="avalon:regular-jar"/>
  +        <condition property="no.sources.available">
  +                <and>
  +                    <not><isset property="api.src.present"/></not>
  +                    <not><isset property="impl.src.present"/></not>
  +                    <not><isset property="java.src.present"/></not>
  +                    <not><isset property="test.src.present"/></not>
  +                </and>
  +        </condition>
  +
  +        <antcall target="avalon:warn-avail"/>
       </target>
   
  +    <target name="avalon:jar"
  +        depends="avalon:init, avalon:api-compile, avalon:impl-compile, 
avalon:java-compile, avalon:test, avalon:api-jar, avalon:impl-jar, 
avalon:regular-jar"/>
  +
       <target name="avalon:java-compile" if="java.src.present"
               depends="avalon:init,avalon:api-compile,avalon:impl-compile">
           <echo>
  @@ -261,33 +330,36 @@
           </junit>
       </target>
   
  -    <target name="avalon:regular-jar" if="classes.present"
  +    <target name="avalon:regular-jar"
               
depends="avalon:init,avalon:api-compile,avalon:impl-compile,avalon:java-compile">
           <echo>
   =======================================================================
    Building jar
   =======================================================================
           </echo>
  +        <mkdir dir="${maven.build.dir}/classes"/>
           <jar destfile="${maven.build.dir}/${project.name}-${project.version}.jar" 
basedir="${maven.build.dir}/classes"/>
       </target>
   
  -    <target name="avalon:api-jar" if="api-classes.present"
  +    <target name="avalon:api-jar"
               depends="avalon:init,avalon:api-compile">
           <echo>
   =======================================================================
    Building API jar
   =======================================================================
           </echo>
  +        <mkdir dir="${maven.build.dir}/api-classes"/>
           <jar 
destfile="${maven.build.dir}/${project.name}-${project.version}-api.jar" 
basedir="${maven.build.dir}/api-classes"/>
       </target>
   
  -    <target name="avalon:impl-jar" if="impl-classes.present"
  +    <target name="avalon:impl-jar"
               depends="avalon:init,avalon:impl-compile">
           <echo>
   =======================================================================
    Building Implementation jar
   =======================================================================
           </echo>
  +        <mkdir dir="${maven.build.dir}/impl-classes"/>
           <jar 
destfile="${maven.build.dir}/${project.name}-${project.version}-impl.jar" 
basedir="${maven.build.dir}/impl-classes"/>
       </target>
   
  
  
  

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

Reply via email to