diff options
Diffstat (limited to '')
-rw-r--r-- | tags/cpp-sca-20060405/tools/scagen/build.xml | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/tags/cpp-sca-20060405/tools/scagen/build.xml b/tags/cpp-sca-20060405/tools/scagen/build.xml new file mode 100644 index 0000000000..5207b6cc79 --- /dev/null +++ b/tags/cpp-sca-20060405/tools/scagen/build.xml @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="org.apache.tuscany.sca.cpp.tools" default="all" basedir="."> + + <target name="init"> + <property name="build.result.folder" value="${basedir}/bld" /> + <property name="temp.folder" value="${basedir}/tmp" /> + <property name="junit.jar.folder" value="${basedir}/lib" /> + <property name="tool.name" value="scagen" /> + <property name="bin.dir" value="${basedir}/../../bin" /> + </target> + + <!-- Add "test" to the depends list below to add auto-testing to the build --> + <!-- a junit.jar is needed at ${junit.jar.folder}/junit.jar though --> + <target name="all" depends="init,jars,doc,scripts,zip.all,tobin"> + </target> + + <target name="test" depends="init,jars,test.jar"> + <java classname="org.apache.tuscany.sca.cpp.tools.junit.TestAllModulesTest"> + <classpath> + <pathelement location="${build.result.folder}/test.jar" /> + <pathelement location="${junit.jar.folder}/junit.jar" /> + <pathelement location="${build.result.folder}/scagen.jar" /> + <pathelement path="${java.class.path}" /> + </classpath> + </java> + </target> + + + + <target name="doc"> + <javadoc packagenames="org.apache.tuscany.sca.cpp.tools.*" sourcepath="src" defaultexcludes="yes" destdir="docs/api" author="true" version="true" use="true" windowtitle="SCA for C++ Tools"> + <doctitle> + <![CDATA[<h1>SCA for C++ Tools</h1>]]> + </doctitle> + <bottom> + <![CDATA[<i>Copyright 2005 The Apache Software Foundation and Copyright IBM Corp. 2005 All Rights Reserved</i>]]></bottom> + <group title="C++ Parser" packages="org.apache.tuscany.sca.cpp.tools.common" /> + <group title="SCA Services Generator" packages="org.apache.tuscany.sca.cpp.tools.services" /> + <link offline="true" href="http://java.sun.com/products/jdk/1.2/docs/api/" packagelistLoc="C:\tmp" /> +</javadoc> +</target> + +<target name="jars" depends="init, scagen.jar, src.jar"> +</target> + +<target name="scripts" depends="init"> +<mkdir dir="${build.result.folder}" /> +<copy file="scagen.cmd" todir="${build.result.folder}" /> +<copy file="scagen.sh" todir="${build.result.folder}" /> +</target> + + + +<target name="src.jar" depends="init"> +<delete dir="${temp.folder}/src.jar.bin" /> +<mkdir dir="${temp.folder}/src.jar.bin" /> +<!-- Copy necessary resources i.e XSL stylesheets, test input etc + for the src jar too + --> +<copy todir="${temp.folder}/src.jar.bin" failonerror="true"> + <fileset dir="src/" /> +</copy> +<mkdir dir="${build.result.folder}" /> +<jar jarfile="${build.result.folder}/src.jar" basedir="${temp.folder}/src.jar.bin" /> +<delete dir="${temp.folder}/test.jar.bin" /> +</target> + +<target name="test.jar" depends="init, scagen.jar" unless="test.jar" description="Create jar for unit tests: test.jar."> +<delete dir="${temp.folder}/test.jar.bin" /> +<mkdir dir="${temp.folder}/test.jar.bin" /> +<!-- compile the source code --> +<javac srcdir="junit" destdir="${temp.folder}/test.jar.bin" failonerror="true" includeAntRuntime="no"> + <src path="junit/" /> + <classpath> + <pathelement path="${junit.jar.folder}/junit.jar" /> + <pathelement path="${build.result.folder}/scagen.jar" /> + </classpath> +</javac> +<!-- Copy necessary resources i.e XSL stylesheets, test input etc --> +<copy todir="${temp.folder}/test.jar.bin" failonerror="true"> + <fileset dir="junit/" excludes="testoutput/**" /> +</copy> +<mkdir dir="${build.result.folder}" /> +<jar jarfile="${build.result.folder}/test.jar" basedir="${temp.folder}/test.jar.bin" /> +<delete dir="${temp.folder}/test.jar.bin" /> +</target> + +<target name="scagen.jar" depends="init" unless="scagen.jar" description="Create main jar: scagen.jar"> +<delete dir="${temp.folder}/scagen.jar.bin" /> +<mkdir dir="${temp.folder}/scagen.jar.bin" /> +<!-- compile the source code --> +<javac srcdir="src" destdir="${temp.folder}/scagen.jar.bin" failonerror="true" includeAntRuntime="no"> + <src path="src/" /> +</javac> +<!-- Copy necessary resources i.e XSL stylesheets, test input etc --> +<copy todir="${temp.folder}/scagen.jar.bin" failonerror="true"> + <fileset dir="src/" excludes="**/*.java" /> +</copy> +<mkdir dir="${build.result.folder}" /> +<jar jarfile="${build.result.folder}/scagen.jar" basedir="${temp.folder}/scagen.jar.bin"> + <manifest> + <attribute name="Main-Class" value="org.apache.tuscany.sca.cpp.tools.services.Scagen" /> + </manifest> +</jar> +<delete dir="${temp.folder}/scagen.jar.bin" /> +</target> + +<target name="tobin" depends="jars" description="move the desired stuff to bin"> + <move file="${build.result.folder}/scagen.cmd" todir="${bin.dir}" /> + <move file="${build.result.folder}/scagen.sh" todir="${bin.dir}" /> + <move file="${build.result.folder}/scagen.jar" todir="${bin.dir}" /> +</target> + + + +<target name="clean" depends="init" description="Clean of all the files created."> +<delete file="${build.result.folder}/test.jar" /> +<delete file="${build.result.folder}/src.jar" /> +<delete file="${build.result.folder}/scagen.jar" /> +<delete file="${build.result.folder}/org.apache.tuscany.sca.cpp.tools.zip" /> +<delete dir="${temp.folder}" /> +</target> + +<target name="zip.all" depends="jars" description="Create a zip containing everything"> +<delete file="${build.result.folder}/org.apache.tuscany.sca.cpp.tools.zip" /> +<zip zipfile="${build.result.folder}/org.apache.tuscany.sca.cpp.tools.zip" excludes="bin/**,tmp/**,lib/**,junit/testoutput/**" basedir="." filesonly="true" whenempty="skip" update="false" /> +<delete dir="${temp.folder}" /> +</target> + +</project>
\ No newline at end of file |