Apply executable : Shell Command « Ant « Java






Apply executable

 
//COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 

<project name="ajax4jsf" default="distribute">
  <property name="commonLibs.dir" value="${basedir}/commonLibs"></property>
  
  <property name="distrib.dir" value="${basedir}/distribution"/>
  <property name="work.dir" value="${basedir}/build"/>
  
  <property name="src.root.dir" value="${basedir}/src"></property>
  
  <property name="test.src.dir" value="${src.root.dir}/testCase"></property>
  <property name="framework.src.dir" value="${src.root.dir}/framework"></property>
  <property name="framework.java.src.dir" value="${framework.src.dir}/java"></property>
  <property name="framework.js.src.dir" value="${framework.src.dir}/JavaScript"></property>
  <property name="framework.generate.src.dir" value="${framework.src.dir}/generate"></property>
  <property name="framework.build.dir" value="${work.dir}/framework"></property>

  <property name="cdk.src.dir" value="${src.root.dir}/cdk"></property>
  <property name="cdk.build.dir" value="${work.dir}/cdk"></property>
    <property name="test.src.dir" value="${src.root.dir}/test"></property>
    <property name="test.build.dir" value="${work.dir}/test"></property>

  <property name="doc.root.dir" value="${distrib.dir}/docs"></property>
  <property name="tlddoc.dir" value="${doc.root.dir}/tldDoc"></property>
  <property name="javadoc.dir" value="${doc.root.dir}/javaAPI"></property>

  <property name="tlddoc.jar" value="${commonLibs.dir}/tlddoc.jar"></property>
  
  <property name="framework-distribution-name" value="ajax4jsf"></property>
  <property name="cdk-distribution-name" value="ajax4jsf-cdk" />
    <property name="test-distribution-name" value="ajax4jsf-test" />
  
  <property name="generated-source.dir" value="${work.dir}/gen-src"></property>
  
  <fileset id="commonLibs" dir="${commonLibs.dir}">
    <include name="*.jar"/>
  </fileset>
  
  <path id="class-path">
    <fileset refid="commonLibs"></fileset>
  </path>

  <target name="prepare">
    <mkdir dir="${distrib.dir}"/>
    <mkdir dir="${work.dir}"/>
  </target>
  
  <target name="generate-framework" depends="compile-framework,compile-cdk">
    <ant antfile="${framework.generate.src.dir}/build.xml" inheritall="true" dir="${basedir}" target="xml-merge">
    </ant>
  </target>



  <target name="prepare-framework">
    <mkdir dir="${framework.build.dir}" />
  </target>

  <target name="prepare-cdk">
    <mkdir dir="${cdk.build.dir}" />
  </target>

    <target name="prepare-test">
        <mkdir dir="${test.build.dir}" />
    </target>
  
  <target name="compile-framework" depends="prepare-framework">
    <javac 
      destdir="${framework.build.dir}"
      compiler="javac1.4" 
      source="1.4" 
      target="1.4" 
      debug="true" 
            failonerror="false"         
      debuglevel="lines,vars,source">
      <classpath refid="class-path"></classpath>
      <src path="${framework.src.dir}"></src>
    </javac>
    <copy todir="${framework.build.dir}">
      <fileset dir="${framework.java.src.dir}">
        <include name="**/*.*"/>
        <exclude name="**/*.java"/>
        <exclude name="META-INF/*faces-config.xml"/>
      </fileset>
    </copy>
  </target>

  <target name="compile-cdk" depends="prepare-cdk">
    <javac 
      destdir="${cdk.build.dir}"
      compiler="javac1.5" 
      source="1.5" 
      target="1.5" 
      debug="true" 
      debuglevel="lines,vars,source">
        <classpath refid="class-path"></classpath>
      <src path="${cdk.src.dir}"></src>
    </javac>
    <copy todir="${cdk.build.dir}/META-INF">
      <fileset dir="${cdk.src.dir}/META-INF">
        <include name="**/*.*"/>
      </fileset>        
    </copy>    
  </target>
  
    <target name="compile-test" depends="prepare-test">
        <javac 
            destdir="${test.build.dir}"
            compiler="javac1.4" 
            source="1.4" 
            target="1.4" 
            debug="true" 
            debuglevel="lines,vars,source"
            includes="org/ajax4jsf/tests/*.*" >
                <classpath refid="class-path"></classpath>
            <classpath path="${framework.build.dir}"></classpath>   
            <src path="${test.src.dir}">
            </src>
        </javac>
        <copy todir="${test.build.dir}/META-INF">
            <fileset dir="${test.src.dir}/META-INF">
                <include name="**/*.*"/>
            </fileset>              
        </copy>     
        <copy todir="${test.build.dir}/WEB-INF">
            <fileset dir="${test.src.dir}/WEB-INF">
                <include name="**/*.*"/>
            </fileset>              
        </copy>     
    </target>

    <target name="compile-framework-phase2" depends="generate-framework">
    <javac 
      destdir="${framework.build.dir}"
      compiler="javac1.4" 
      source="1.4" 
      target="1.4" 
      debug="true" 
      debuglevel="lines,vars,source">
      <classpath>
        <path>
        <path refid="class-path"></path>
        <pathelement path="${framework.build.dir}"/>
        </path>
      </classpath>
      <src path="${generated-source.dir}"></src>
    </javac>
    <copy todir="${framework.build.dir}">
      <fileset dir="${generated-source.dir}">
        <include name="**/*.*"/>
        <exclude name="**/*.java"/>
        <exclude name="META-INF/*-faces-config.xml"/>
      </fileset>
    </copy>
  </target>

  
  <target name="assemble-javascripts" depends="prepare-framework">
    <ant antfile="${framework.js.src.dir}/build.xml" dir="${framework.js.src.dir}">
      <property name="target-dir" value="${framework.build.dir}"></property>
    </ant>
  </target>
  
  <target name="build-framework" depends="compile-framework,assemble-javascripts,compile-framework-phase2">
  </target>

  <target name="build-cdk" depends="compile-cdk">
  </target>
  
    <target name="build-test" depends="compile-test">
    </target>

        <target name="prepare-distribution-dir">
    <mkdir dir="${distrib.dir}/lib"/>
  </target>
  
  <target name="package-framework" depends="build-framework, prepare-distribution-dir">
    <jar destfile="${distrib.dir}/lib/${framework-distribution-name}.jar">
      <fileset dir="${framework.build.dir}">
        <include name="**/*.*"/>
      </fileset>
    </jar>
  </target>
  
  <target name="package-cdk" depends="prepare-distribution-dir,build-cdk">
    <jar destfile="${distrib.dir}/lib/${cdk-distribution-name}.jar">
      <fileset dir="${cdk.build.dir}">
        <include name="**/*.*"/>
      </fileset>
    </jar>
  </target>

    <target name="package-test" depends="prepare-distribution-dir,build-test">
        <jar destfile="${distrib.dir}/lib/${test-distribution-name}.jar">
            <fileset dir="${test.build.dir}">
                <include name="**/*.*"/>
            </fileset>
        </jar>
    </target>

  <target name="prepare-docs">
    <mkdir dir="${doc.root.dir}"/>
  </target>
  
  <target name="docs" depends="prepare-docs, javadoc, tlddoc, copy-doc">
    
  </target>
  
  <target name="copy-doc" depends="prepare-docs">
    <copy todir="${doc.root.dir}" failonerror="false">
      <fileset dir="${basedir}/doc">
        <include name="**/*"/>
      </fileset>
    </copy>
  </target>
  
  <target name="javadoc">
    <mkdir dir="${javadoc.dir}"/>
    <javadoc packagenames="org.*" destdir="${javadoc.dir}">
      <sourcepath>
        <pathelement path="${framework.java.src.dir}"/>
      </sourcepath>
      <classpath refid="class-path"></classpath>
    </javadoc>
  </target>
  
  <target name="tlddoc">
    <mkdir dir="${tlddoc.dir}"/>
    <echo message="${tlddoc.jar}"></echo>
    <apply executable="java" parallel="true" verbose="true">
      <!-- dir="${tlddoc.dir}">-->
      <arg line="-jar ${tlddoc.jar}"/>
      <arg line="-doctitle 'AJAX4JSF'"/>
      <!--arg line="-xslt ${tlddocxsl.dir}"/-->
      <arg line="-d ${tlddoc.dir}"/>
      <fileset dir="${framework.build.dir}/META-INF" includes="**.tld"/>
    </apply>
  </target>
  
  <target name="copy-dependencies" depends="prepare-distribution-dir">
    <copy todir="${distrib.dir}/lib">
      <fileset dir="${commonLibs.dir}">
        <include name="oscache*.jar"/>
      </fileset>
    </copy>
  </target>
  
  <target name="copy-src">
    <mkdir dir="${distrib.dir}/src"/>
    <copy todir="${distrib.dir}/src">
      <fileset dir="${framework.src.dir}">
        <include name="**/*"/>
      </fileset>
    </copy>
  </target>
  
  <target name="copy-demo">
    <mkdir dir="${distrib.dir}/demo"/>
    <copy todir="${distrib.dir}/demo" failonerror="false">
      <fileset dir="${basedir}/demo">
        <include name="**/*"/>
      </fileset>
    </copy>
  </target>
  
  <target name="copy-txt">
    <copy todir="${distrib.dir}">
      <fileset dir="${basedir}">
        <include name="*.txt"/>
        <include name="*.TXT"/>
      </fileset>
    </copy>
  </target>
  
  <target name="build-test-framework">
    <javac 
      destdir="${framework.build.dir}"
      compiler="javac1.4" 
      source="1.4" 
      target="1.4" 
      debug="true" 
      debuglevel="lines,vars,source">
      <classpath refid="class-path"></classpath>
      <src path="${test.src.dir}"></src>
    </javac>
    <copy todir="${framework.build.dir}">
      <fileset dir="${test.src.dir}">
        <include name="**/*.*"/>
        <exclude name="**/*.java"/>
        <exclude name="META-INF/*"/>
        <exclude name="WEB-INF/*"/>
      </fileset>
    </copy>
  </target>
  
  <target name="distribute" depends="clean,build-framework,package-framework, copy-dependencies, docs, copy-src, copy-txt, copy-demo, package-cdk, package-test">
    <!--delete dir="${work.dir}"></delete-->
    <delete file="${basedir}/velocity.log" failonerror="false" verbose="true"></delete>
  </target>
  
  <target name="clean">
    <delete dir="${work.dir}"></delete>
    <delete includeemptydirs="true" failonerror="false">
      <fileset dir="${distrib.dir}">
        <include name="**/*"/>
      </fileset>
    </delete>
  </target>
</project>

   
  








Related examples in the same category

1.Execute shell command
2.Use exec executable to call system shell command