| <project default="main" name="Mutant"> |
| |
| <property name="src.dir" value="src"/> |
| <property name="lib.dir" value="lib"/> |
| <property name="java.dir" value="${src.dir}/java"/> |
| |
| <property name="bin.dir" value="bin"/> |
| <property name="dist.dir" value="dist"/> |
| <property name="javadocs.dir" value="${dist.dir}/javadocs"/> |
| <property name="distlib.dir" value="${dist.dir}/lib"/> |
| |
| <property name="debug" value="true"/> |
| |
| <path id="classpath.parser"> |
| <fileset dir="${lib.dir}/parser" includes="*.jar"/> |
| </path> |
| |
| <path id="classpath.common"> |
| <pathelement location="${distlib.dir}/init.jar"/> |
| </path> |
| |
| <path id="classpath.antcore"> |
| <path refid="classpath.common"/> |
| <pathelement location="${distlib.dir}/common/common.jar"/> |
| <path refid="classpath.parser"/> |
| </path> |
| |
| <path id="classpath.frontend"> |
| <path refid="classpath.antcore"/> |
| <pathelement location="${distlib.dir}/antcore/antcore.jar"/> |
| </path> |
| |
| <path id="classpath.start"> |
| <pathelement location="${distlib.dir}/init.jar"/> |
| </path> |
| |
| <target name="buildsetup"> |
| <available classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" |
| property="checkstyle.available"/> |
| <mkdir dir="${bin.dir}"/> |
| <mkdir dir="${distlib.dir}"/> |
| <copy todir="${distlib.dir}/parser"> |
| <fileset dir="${lib.dir}/parser"/> |
| </copy> |
| </target> |
| |
| <target name="init" depends="buildsetup"> |
| <mkdir dir="${bin.dir}/init"/> |
| <depend destdir="${bin.dir}/init" srcdir="${java.dir}/init"/> |
| <javac destdir="${bin.dir}/init" srcdir="${java.dir}/init" debug="${debug}"/> |
| <jar basedir="${bin.dir}/init" jarfile="${distlib.dir}/init.jar"/> |
| </target> |
| |
| <target name="common" depends="init"> |
| <mkdir dir="${bin.dir}/common"/> |
| <mkdir dir="${distlib.dir}/common"/> |
| <depend destdir="${bin.dir}/common" srcdir="${java.dir}/common"> |
| <classpath refid="classpath.common"/> |
| </depend> |
| <javac destdir="${bin.dir}/common" srcdir="${java.dir}/common" debug="${debug}"> |
| <classpath refid="classpath.common"/> |
| </javac> |
| <jar basedir="${bin.dir}/common" jarfile="${distlib.dir}/common/common.jar"/> |
| </target> |
| |
| <target name="antcore" depends="common"> |
| <mkdir dir="${bin.dir}/antcore"/> |
| <mkdir dir="${distlib.dir}/antcore"/> |
| <depend destdir="${bin.dir}/antcore" srcdir="${java.dir}/antcore"> |
| <classpath refid="classpath.antcore"/> |
| </depend> |
| <javac destdir="${bin.dir}/antcore" srcdir="${java.dir}/antcore" debug="${debug}"> |
| <classpath refid="classpath.antcore"/> |
| </javac> |
| <jar basedir="${bin.dir}/antcore" jarfile="${distlib.dir}/antcore/antcore.jar"/> |
| </target> |
| |
| <target name="frontend" depends="antcore, start"> |
| <mkdir dir="${bin.dir}/frontend"/> |
| <mkdir dir="${distlib.dir}/frontend"/> |
| <depend destdir="${bin.dir}/frontend" srcdir="${java.dir}/frontend"> |
| <classpath refid="classpath.frontend"/> |
| </depend> |
| <javac destdir="${bin.dir}/frontend" srcdir="${java.dir}/frontend" debug="${debug}"> |
| <classpath refid="classpath.frontend"/> |
| </javac> |
| <jar basedir="${bin.dir}/frontend" jarfile="${distlib.dir}/frontend/frontend.jar"> |
| <include name="**/frontend/*.class"/> |
| </jar> |
| <jar basedir="${bin.dir}/frontend" jarfile="${distlib.dir}/frontend/cli.jar"> |
| <include name="**/cli/*.class"/> |
| <manifest> |
| <attribute name="Main-Class" value="org.apache.ant.cli.Commandline"/> |
| <attribute name="Class-Path" value="frontend.jar"/> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="start" depends="init"> |
| <mkdir dir="${bin.dir}/start"/> |
| <depend destdir="${bin.dir}/start" srcdir="${java.dir}/start"> |
| <classpath refid="classpath.start"/> |
| </depend> |
| <javac destdir="${bin.dir}/start" srcdir="${java.dir}/start" debug="${debug}"> |
| <classpath refid="classpath.start"/> |
| </javac> |
| <jar basedir="${bin.dir}/start" jarfile="${distlib.dir}/start.jar"> |
| <manifest> |
| <attribute name="Main-Class" value="org.apache.ant.start.Main"/> |
| <attribute name="Class-Path" value="init.jar"/> |
| </manifest> |
| <include name="org/apache/ant/**/*"/> |
| </jar> |
| <jar basedir="${bin.dir}/start" jarfile="${distlib.dir}/ant.jar"> |
| <manifest> |
| <attribute name="Main-Class" value="org.apache.tools.ant.Main"/> |
| <attribute name="Class-Path" value="start.jar"/> |
| </manifest> |
| <include name="org/apache/tools/ant/**/*"/> |
| </jar> |
| </target> |
| |
| <target name="ant1compat" depends="common"> |
| <ant antfile="build/ant1compat.xml" /> |
| </target> |
| |
| <target name="remote" depends="init"> |
| <mkdir dir="${bin.dir}/remote"/> |
| <depend destdir="${bin.dir}/remote" srcdir="${java.dir}/remote"> |
| <classpath refid="classpath.start"/> |
| </depend> |
| <javac destdir="${bin.dir}/remote" srcdir="${java.dir}/remote" debug="${debug}"> |
| <classpath refid="classpath.start"/> |
| </javac> |
| <jar basedir="${bin.dir}/remote" jarfile="${distlib.dir}/remote.jar"> |
| <manifest> |
| <attribute name="Main-Class" value="org.apache.ant.remote.RemoteMain"/> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="clean"> |
| <delete dir="${bin.dir}"/> |
| <delete dir="${dist.dir}"/> |
| </target> |
| |
| <target name="antlibs" depends="common, systemlib"> |
| <ant antfile="build/script.xml"/> |
| </target> |
| |
| <target name="systemlib" depends="common"> |
| <mkdir dir="${bin.dir}/antlibs/system"/> |
| <mkdir dir="${distlib.dir}/syslibs"/> |
| <path id="classpath.antlibs"> |
| <path refid="classpath.common"/> |
| <pathelement location="${distlib.dir}/common/common.jar"/> |
| </path> |
| <depend destdir="${bin.dir}/antlibs/system" srcdir="${java.dir}/antlibs/system"> |
| <classpath refid="classpath.antlibs"/> |
| </depend> |
| <javac destdir="${bin.dir}/antlibs/system" srcdir="${java.dir}/antlibs/system" debug="${debug}"> |
| <classpath refid="classpath.antlibs"/> |
| </javac> |
| <jar basedir="${bin.dir}/antlibs/system" jarfile="${distlib.dir}/syslibs/system.jar"> |
| <metainf dir="${java.dir}/antlibs/system" |
| includes="antlib.xml"/> |
| </jar> |
| </target> |
| |
| <target name="main" depends="frontend, antlibs, ant1compat, remote, checkstyle"/> |
| |
| <target name="checkstyle" if="checkstyle.available"> |
| <taskdef name="checkstyle" |
| classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"/> |
| <mkdir dir="${bin.dir}/check"/> |
| <checkstyle headerFile="../../src/etc/RequiredHeader.txt" |
| headerIgnoreLine="4"> |
| <fileset dir="${java.dir}"> |
| <include name="**/*.java"/> |
| <exclude name="**/org/apache/tools/ant/Task.java"/> |
| <exclude name="**/org/apache/tools/ant/ProjectComponent.java"/> |
| <exclude name="**/org/apache/tools/ant/types/DataType.java"/> |
| <exclude name="**/builder/MutantBuilder.java"/> |
| <exclude name="**/builder/Ant1CompatBuilder.java"/> |
| </fileset> |
| </checkstyle> |
| <checkstyle allowProtected="true" |
| headerFile="../../src/etc/RequiredHeader.txt" |
| headerIgnoreLine="4"> |
| <fileset dir="${java.dir}"> |
| <include name="**/org/apache/tools/ant/Task.java"/> |
| <include name="**/org/apache/tools/ant/ProjectComponent.java"/> |
| <include name="**/org/apache/tools/ant/types/DataType.java"/> |
| </fileset> |
| </checkstyle> |
| </target> |
| |
| <target name="javadocs"> |
| <mkdir dir="${javadocs.dir}"/> |
| <javadoc packagenames="org.apache.*" |
| useexternalfile="yes" |
| sourcepath="${java.dir}/antcore:${java.dir}/init:${java.dir}/common:${java.dir}/frontend:${java.dir}/start" |
| destdir="${javadocs.dir}" |
| author="true" |
| private ="true" |
| version="true" |
| windowtitle="Mutant API" |
| doctitle="Mutant"> |
| <group title="Ant Library" packages="org.apache.ant.common.antlib*" /> |
| <group title="Services" packages="org.apache.ant.common.service*" /> |
| <group title="Common Facilities" packages="org.apache.ant.common*" /> |
| <group title="Core" packages="org.apache.ant.antcore*" /> |
| <group title="Initialisation" packages="org.apache.ant.init*,org.apache.ant.start*" /> |
| <group title="Command Line" packages="org.apache.ant.cli*" /> |
| <group title="Ant1 Compatability Layer" packages="org.apache.tools.ant*" /> |
| <tag name="created" description="Date Created:" scope="types"/> |
| </javadoc> |
| </target> |
| </project> |