mcconnell    2004/03/20 10:28:59

  Modified:    buildsystem maven-common-gump-build.xml
  Log:
  Move back content - going to take another approach with a test project.
  
  Revision  Changes    Path
  1.7       +147 -8    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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- maven-common-gump-build.xml       20 Mar 2004 17:43:37 -0000      1.6
  +++ maven-common-gump-build.xml       20 Mar 2004 18:28:58 -0000      1.7
  @@ -58,6 +58,36 @@
           </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>
   =======================================================================
  @@ -79,6 +109,8 @@
   
     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
   
  @@ -90,6 +122,8 @@
   
       <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>
   
  @@ -118,11 +152,15 @@
           </condition>
           <antcall target="avalon:warn-project.name"/>
   
  +        <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"/>
   
           <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>
  @@ -132,10 +170,10 @@
       </target>
   
       <target name="avalon:jar"
  -        depends="avalon:init, avalon:java-compile, avalon:test, 
avalon:regular-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">
  +            depends="avalon:init,avalon:api-compile,avalon:impl-compile">
           <echo>
   =======================================================================
    Compiling Sources
  @@ -143,6 +181,8 @@
           </echo>
           <mkdir dir="${maven.build.dir}"/>
           <mkdir dir="${maven.build.dir}/classes"/>
  +        <mkdir dir="${maven.build.dir}/api-classes"/><!-- to ensure <classpath/> 
works -->
  +        <mkdir dir="${maven.build.dir}/impl-classes"/><!-- to ensure <classpath/> 
works -->
           <javac
                   destdir="${maven.build.dir}/classes"
                   excludes="**/package.html"
  @@ -152,6 +192,8 @@
   
               <src>
                   <pathelement path="${maven.src.dir}/java"/>
  +                <pathelement path="${maven.build.dir}/api-classes"/>
  +                <pathelement path="${maven.build.dir}/impl-classes"/>
               </src>
           </javac>
   
  @@ -161,15 +203,83 @@
           </copy>
       </target>
   
  +    <target name="avalon:api-compile" if="api.src.present"
  +            depends="avalon:init">
  +        <echo>
  +=======================================================================
  + Compiling API Sources
  +=======================================================================
  +        </echo>
  +        <mkdir dir="${maven.build.dir}"/>
  +        <mkdir dir="${maven.build.dir}/api-classes"/>
  +        <javac
  +                destdir="${maven.build.dir}/api-classes"
  +                excludes="**/package.html"
  +                debug="${maven.compile.debug}"
  +                deprecation="${maven.compile.deprecation}"
  +                optimize="${maven.compile.optimize}">
  +
  +            <src>
  +                <pathelement path="${maven.src.dir}/api"/>
  +            </src>
  +        </javac>
  +
  +        <mkdir dir="${maven.build.dir}/classes"/>
  +        <copy todir="${maven.build.dir}/classes">
  +            <fileset dir="${maven.build.dir}/api-classes"/>
  +        </copy>
  +        <mkdir dir="${maven.build.dir}/src"/>
  +        <copy todir="${maven.build.dir}/src">
  +            <fileset dir="${maven.src.dir}/api"/>
  +        </copy>
  +    </target>
  +
  +    <target name="avalon:impl-compile" if="impl.src.present"
  +            depends="avalon:init,avalon:api-compile">
  +        <echo>
  +=======================================================================
  + Compiling Implementation Sources
  +=======================================================================
  +        </echo>
  +        <mkdir dir="${maven.build.dir}"/>
  +        <mkdir dir="${maven.build.dir}/impl-classes"/>
  +        <mkdir dir="${maven.build.dir}/api-classes"/><!-- to ensure <classpath/> 
works -->
  +        <javac
  +                destdir="${maven.build.dir}/impl-classes"
  +                excludes="**/package.html"
  +                debug="${maven.compile.debug}"
  +                deprecation="${maven.compile.deprecation}"
  +                optimize="${maven.compile.optimize}">
  +
  +            <src>
  +                <pathelement path="${maven.src.dir}/impl"/>
  +            </src>
  +            <classpath>
  +              <pathelement path="${maven.build.dir}/api-classes"/>
  +            </classpath>
  +        </javac>
  +
  +        <mkdir dir="${maven.build.dir}/classes"/>
  +        <copy todir="${maven.build.dir}/classes">
  +            <fileset dir="${maven.build.dir}/impl-classes"/>
  +        </copy>
  +        <mkdir dir="${maven.build.dir}/src"/>
  +        <copy todir="${maven.build.dir}/src">
  +            <fileset dir="${maven.src.dir}/impl"/>
  +        </copy>
  +    </target>
  +
       <target name="avalon:test" if="test.src.present"
  -        depends="avalon:init,avalon:java-compile">
  +        
depends="avalon:init,avalon:api-compile,avalon:impl-compile,avalon:java-compile">
           <echo>
   =======================================================================
    Compiling Tests
   ======================================================================
           </echo>
           <mkdir dir="${maven.build.dir}/test-classes"/>
  -        <mkdir dir="${maven.build.dir}/classes"/>
  +        <mkdir dir="${maven.build.dir}/classes"/><!-- to ensure <classpath/> works 
-->
  +        <mkdir dir="${maven.build.dir}/api-classes"/><!-- to ensure <classpath/> 
works -->
  +        <mkdir dir="${maven.build.dir}/impl-classes"/><!-- to ensure <classpath/> 
works -->
           <javac
                   destdir="${maven.build.dir}/test-classes"
                   excludes="**/package.html"
  @@ -182,6 +292,8 @@
               </src>
               <classpath>
                   <pathelement path="${maven.build.dir}/classes"/>
  +                <pathelement path="${maven.build.dir}/api-classes"/>
  +                <pathelement path="${maven.build.dir}/impl-classes"/>
               </classpath>
           </javac>
   
  @@ -190,7 +302,6 @@
    Running tests
   =======================================================================
           </echo>
  -
           <taskdef
             name="junit"
             classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"/>
  @@ -207,6 +318,8 @@
             <formatter type="plain" usefile="${maven.junit.usefile}"/>
             <classpath>
                 <pathelement location="${maven.build.dir}/classes"/>
  +              <pathelement path="${maven.build.dir}/api-classes"/>
  +              <pathelement path="${maven.build.dir}/impl-classes"/>
                 <pathelement location="${maven.build.dir}/test-classes"/>
             </classpath>
             <batchtest todir="${maven.build.dir}/test-reports">
  @@ -237,9 +350,9 @@
           </junitreport>
   
       </target>
  -   
  +
       <target name="avalon:regular-jar"
  -            depends="avalon:init,avalon:java-compile">
  +            
depends="avalon:init,avalon:api-compile,avalon:impl-compile,avalon:java-compile">
           <echo>
   =======================================================================
    Building jar
  @@ -249,10 +362,34 @@
           <jar destfile="${maven.build.dir}/${project.name}-${project.version}.jar" 
basedir="${maven.build.dir}/classes"/>
       </target>
   
  +    <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"
  +            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>
  +
       <target name="avalon:javadocs" depends="avalon:init,avalon:jar">
           <mkdir dir="${maven.build.dir}/docs"/>
           <mkdir dir="${maven.build.dir}/docs/apidocs"/>
  -        <mkdir dir="${maven.build.dir}/classes"/>
  +        <mkdir dir="${maven.build.dir}/classes"/><!-- to ensure <classpath/> works 
-->
  +        <mkdir dir="${maven.build.dir}/api-classes"/><!-- to ensure <classpath/> 
works -->
  +        <mkdir dir="${maven.build.dir}/impl-classes"/><!-- to ensure <classpath/> 
works -->
   
           <property name="copyright"
             value="Copyright &amp;copy; ${project.copyright.year} Apache Software 
Foundation. All Rights Reserved." />
  @@ -271,6 +408,8 @@
             <link href="http://avalon.apache.org/framework/api/"/>
             <classpath>
               <path location="${maven.build.dir}/classes"/>
  +            <path location="${maven.build.dir}/api-classes"/>
  +            <path location="${maven.build.dir}/impl-classes"/>
             </classpath>
   
           </javadoc>
  
  
  

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

Reply via email to