From: <jbo...@li...> - 2006-05-17 22:19:13
|
Author: mar...@jb... Date: 2006-05-17 18:19:08 -0400 (Wed, 17 May 2006) New Revision: 4293 Modified: labs/jbossrules/trunk/build.xml Log: -added comments Modified: labs/jbossrules/trunk/build.xml =================================================================== --- labs/jbossrules/trunk/build.xml 2006-05-17 22:12:56 UTC (rev 4292) +++ labs/jbossrules/trunk/build.xml 2006-05-17 22:19:08 UTC (rev 4293) @@ -1,5 +1,5 @@ <project name="Drools" basedir="." xmlns:artifact="urn:maven-artifact-ant" default="help"> - <property name="version" value="3.0-RC-3"/> + <property name="version" value="3.0-RC-3"/> <target name="help"> <echo level="info" message="Drools Build Help" /> @@ -66,6 +66,14 @@ <echo level="info" message="http://labs.jboss.com/portal/jbossrules/docs/index.html" /> </target> + <!-- + ************************************************** + * Utility scripts + * + * init, init-maven and copy-deps + ************************************************** + --> + <target name="init" depends="init-maven"> <mkdir dir="target/dist" /> <mkdir dir="target/docs" /> @@ -89,10 +97,177 @@ <artifact:install> <pom file="pom.xml" /> </artifact:install> + </target> + + <target name="copy-deps" depends="init-maven"> + <artifact:dependencies filesetId="drools-core.dependency.fileset" verbose="false"> + <pom file="drools-core/pom.xml"/> + </artifact:dependencies> + + <artifact:dependencies filesetId="drools-compiler.dependency.fileset" verbose="false"> + <pom file="drools-compiler/pom.xml"/> + </artifact:dependencies> + + <artifact:dependencies filesetId="drools-decisiontables.dependency.fileset" verbose="false"> + <pom file="drools-decisiontables/pom.xml"/> + </artifact:dependencies> + + <artifact:dependencies filesetId="drools-jsr94.dependency.fileset" verbose="false"> + <pom file="drools-jsr94/pom.xml"/> + </artifact:dependencies> + + <copy todir="repository"> + <fileset refid="drools-core.dependency.fileset"/> + <fileset refid="drools-compiler.dependency.fileset"/> + <fileset refid="drools-decisiontables.dependency.fileset"/> + <fileset refid="drools-jsr94.dependency.fileset"/> + </copy> + + <delete> + <fileset dir="drools-ide/lib" includes="*"/> + </delete> + + <copy todir="drools-ide/lib" + flatten="true"> + <fileset dir="repository" includes="**/*.jar" excludes="**/jsr94-sigtest-1.1.jar **/jsr94-tck-1.0.3.jar" /> + </copy> + </target> + <!-- + ************************************************** + * Module build scripts + * + * compile-module, test-module and build-module + * The module build scripts are data driven in that + * a variable, the module name, must be given. + ************************************************** + --> + + + <!-- + ************************************************** + * compile-module + * + * compiled code in src/main/java to target/main/classes + * also copies acros src/main/resources + ************************************************** + --> + <target name="compile-module"> + <mkdir dir="${module}/target"/> + <mkdir dir="${module}/target/classes"/> + + <artifact:dependencies pathId="${module}.dependency.classpath" filesetId="${module}.dependency.fileset" verbose="false"> + <pom file="${module}/pom.xml"/> + </artifact:dependencies> + + <copy todir="${module}/target/classes"> + <fileset dir="${module}/src/main/resources"/> + </copy> + + <javac srcdir="${module}/src/main/java" + destdir="${module}/target/classes" + source="1.4"> + <classpath> + <path refid="${module}.dependency.classpath" /> + <fileset dir="target"> + <include name="drools-*-{version}.jar"/> + </fileset> + </classpath> + </javac> + </target> + + + <!-- + ************************************************** + * test-module + * + * compiles test code in src/test/java to target/test/classes + * also copies acros src/test/resources. + * specifying -Dtest.skip=true from the command line causes + * this task to skip. + ************************************************** + --> + <target name="test-module" unless="test.skip"> + <mkdir dir="${module}/target/test-classes"/> + <mkdir dir="${module}/target/test-reports"/> + + <artifact:dependencies pathId="${module}.dependency.classpath" filesetId="${module}.dependency.fileset" verbose="false"> + <pom file="${module}/pom.xml"/> + </artifact:dependencies> + + <copy todir="${module}/target/test-classes"> + <fileset dir="${module}/src/test/resources"/> + </copy> + + <javac srcdir="${module}/src/test/java" + destdir="${module}/target/test-classes" + source="1.4"> + <classpath> + <path refid="${module}.dependency.classpath" /> + <pathelement location="${module}/target/classes"/> + <fileset dir="target"> + <include name="drools-*-{version}.jar"/> + </fileset> + </classpath> + </javac> + + <junit printsummary="yes" haltonfailure="yes"> + <sysproperty key="jsr94.tck.configuration" value="${module}/target/test-classes/org/drools/jsr94/tck"/> + <classpath> + <path refid="${module}.dependency.classpath"/> + <pathelement location="${module}/target/classes"/> + <pathelement location="${module}/target/test-classes"/> + <fileset dir="target"> + <include name="drools-*-{version}.jar"/> + </fileset> + </classpath> + + <formatter type="plain"/> + + <batchtest fork="no" todir="${module}/target/test-reports"> + <fileset dir="${module}/target/test-classes"> + <include name="**/*Test.class"/> + <exclude name="**/AllTests.class"/> + <exclude name="**/Base*.class"/> + <exclude name="**/ClassLoaderTest.java" /> + <exclude name="**/RuleExecutionSetProviderTest.java" /> + </fileset> + </batchtest> + </junit> </target> - - + + <!-- + ************************************************** + * build-module + * + * Generate a jar or the module and does an install + * to the local maven repository + ************************************************** + --> + <target name="build-module"> + <jar destfile="${module}/target/${module}-${version}.jar" basedir="${module}/target/classes"/> + <copy file="${module}/target/${module}-${version}.jar" todir="target" /> + + <artifact:install file="target/${module}-${version}.jar"> + <pom file="${module}/pom.xml" /> + </artifact:install> + </target> + + <!-- + ************************************************** + * compile, test and build module drivers + * + * Each one of these calls one of the above + * targets, providing the module name as a variable + ************************************************** + --> + + + <!-- + ************************************************** + * drools-core + ************************************************** + --> <target name="compile-core" depends="init"> <antcall target="compile-module"> <param name="module" value="drools-core"/> @@ -115,6 +290,11 @@ <delete dir="drools-core/target"/> </target> + <!-- + ************************************************** + * drools-compiler + ************************************************** + --> <target name="compile-compiler" depends="build-core"> <antcall target="compile-module"> <param name="module" value="drools-compiler"/> @@ -137,6 +317,11 @@ <delete dir="drools-compiler/target"/> </target> + <!-- + ************************************************** + * drools-decisiontables + ************************************************** + --> <target name="compile-decisiontables" depends="build-compiler"> <antcall target="compile-module"> <param name="module" value="drools-decisiontables"/> @@ -165,6 +350,11 @@ </antcall> </target> + <!-- + ************************************************** + * drools-jsr94 + ************************************************** + --> <target name="test-jsr94" depends="compile-jsr94"> <antcall target="test-module"> <param name="module" value="drools-jsr94"/> @@ -181,6 +371,13 @@ <delete dir="drools-jsr94/target"/> </target> + <!-- + ************************************************** + * "all" drivers. Each task performs its actions for + * each of the 4 modules. + ************************************************** + --> + <target name="compile-all" depends="compile-core, compile-compiler, compile-decisiontables, compile-jsr94"> </target> @@ -205,87 +402,19 @@ </target> - <target name="compile-module"> - <mkdir dir="${module}/target"/> - <mkdir dir="${module}/target/classes"/> - - <artifact:dependencies pathId="${module}.dependency.classpath" filesetId="${module}.dependency.fileset" verbose="false"> - <pom file="${module}/pom.xml"/> - </artifact:dependencies> - - <copy todir="${module}/target/classes"> - <fileset dir="${module}/src/main/resources"/> - </copy> - - <javac srcdir="${module}/src/main/java" - destdir="${module}/target/classes" - source="1.4"> - <classpath> - <path refid="${module}.dependency.classpath" /> - <fileset dir="target"> - <include name="drools-*-{version}.jar"/> - </fileset> - </classpath> - </javac> - </target> - - <target name="test-module" unless="test.skip"> - <mkdir dir="${module}/target/test-classes"/> - <mkdir dir="${module}/target/test-reports"/> - - <artifact:dependencies pathId="${module}.dependency.classpath" filesetId="${module}.dependency.fileset" verbose="false"> - <pom file="${module}/pom.xml"/> - </artifact:dependencies> - - <copy todir="${module}/target/test-classes"> - <fileset dir="${module}/src/test/resources"/> - </copy> - - <javac srcdir="${module}/src/test/java" - destdir="${module}/target/test-classes" - source="1.4"> - <classpath> - <path refid="${module}.dependency.classpath" /> - <pathelement location="${module}/target/classes"/> - <fileset dir="target"> - <include name="drools-*-{version}.jar"/> - </fileset> - </classpath> - </javac> - - <junit printsummary="yes" haltonfailure="yes"> - <sysproperty key="jsr94.tck.configuration" value="${module}/target/test-classes/org/drools/jsr94/tck"/> - <classpath> - <path refid="${module}.dependency.classpath"/> - <pathelement location="${module}/target/classes"/> - <pathelement location="${module}/target/test-classes"/> - <fileset dir="target"> - <include name="drools-*-{version}.jar"/> - </fileset> - </classpath> - - <formatter type="plain"/> - - <batchtest fork="no" todir="${module}/target/test-reports"> - <fileset dir="${module}/target/test-classes"> - <include name="**/*Test.class"/> - <exclude name="**/AllTests.class"/> - <exclude name="**/Base*.class"/> - <exclude name="**/ClassLoaderTest.java" /> - <exclude name="**/RuleExecutionSetProviderTest.java" /> - </fileset> - </batchtest> - </junit> - </target> - - <target name="build-module"> - <jar destfile="${module}/target/${module}-${version}.jar" basedir="${module}/target/classes"/> - <copy file="${module}/target/${module}-${version}.jar" todir="target" /> - - <artifact:install file="target/${module}-${version}.jar"> - <pom file="${module}/pom.xml" /> - </artifact:install> - </target> + + <!-- + ************************************************** + * Docoumentation Generation + * + * Javadocs, yDocs and Manual + * + * javadocs is the only target that should be invoked + * It checks the file system to see if ydocs is present, + * if it finds ydocs then it does a ydocs build otherwise + * it defaults to standard javadocs. + ************************************************** + --> <target name="manual" unless="skip.manual"> <delete dir="documentation/manual/build" /> @@ -367,9 +496,16 @@ <param name="-breakiterator"/> </doclet> </javadoc> - </target> + </target> - + <!-- + ************************************************** + * Distribution Builds + * + * dist-all, dist-src, dist-bin, dist-bin-withdeps + ************************************************** + --> + <target name="dist-all" depends="dist-src, dist-bin, dist-bin-withdeps, dist-examples"> </target> @@ -458,42 +594,5 @@ </zip> </target> - - <target name="copy-deps" depends="init-maven"> - <artifact:dependencies filesetId="drools-core.dependency.fileset" verbose="false"> - <pom file="drools-core/pom.xml"/> - </artifact:dependencies> - - <artifact:dependencies filesetId="drools-compiler.dependency.fileset" verbose="false"> - <pom file="drools-compiler/pom.xml"/> - </artifact:dependencies> - - <artifact:dependencies filesetId="drools-decisiontables.dependency.fileset" verbose="false"> - <pom file="drools-decisiontables/pom.xml"/> - </artifact:dependencies> - - <artifact:dependencies filesetId="drools-jsr94.dependency.fileset" verbose="false"> - <pom file="drools-jsr94/pom.xml"/> - </artifact:dependencies> - - <copy todir="repository"> - <fileset refid="drools-core.dependency.fileset"/> - <fileset refid="drools-compiler.dependency.fileset"/> - <fileset refid="drools-decisiontables.dependency.fileset"/> - <fileset refid="drools-jsr94.dependency.fileset"/> - </copy> - - <delete> - <fileset dir="drools-ide/lib" includes="*"/> - </delete> - - <copy todir="drools-ide/lib" - flatten="true"> - <fileset dir="repository" includes="**/*.jar" excludes="**/jsr94-sigtest-1.1.jar **/jsr94-tck-1.0.3.jar" /> - </copy> - </target> - - - - + </project> \ No newline at end of file |