blob: 5cf5a250ac3ce0860f2ca68c8fabc44098935852 [file] [log] [blame]
<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.cli">
<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="cli" depends="antcore, start">
<mkdir dir="${bin.dir}/cli"/>
<mkdir dir="${distlib.dir}/cli"/>
<depend destdir="${bin.dir}/cli" srcdir="${java.dir}/cli">
<classpath refid="classpath.cli"/>
</depend>
<javac destdir="${bin.dir}/cli" srcdir="${java.dir}/cli" debug="${debug}">
<classpath refid="classpath.cli"/>
</javac>
<jar basedir="${bin.dir}/cli" jarfile="${distlib.dir}/cli/cli.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">
<antcall target="build-lib" inheritall="false">
<param name="libset" value="system"/>
</antcall>
<ant antfile="build/script.xml" inheritAll="false"/>
</target>
<target name="build-lib">
<mkdir dir="${bin.dir}/antlibs/${libset}"/>
<mkdir dir="${distlib.dir}/antlibs"/>
<path id="classpath.antlibs">
<path refid="classpath.common"/>
<pathelement location="${distlib.dir}/common/common.jar"/>
</path>
<depend destdir="${bin.dir}/antlibs/${libset}" srcdir="${java.dir}/antlibs/${libset}">
<classpath refid="classpath.antlibs"/>
</depend>
<javac destdir="${bin.dir}/antlibs/${libset}" srcdir="${java.dir}/antlibs/${libset}" debug="${debug}">
<classpath refid="classpath.antlibs"/>
</javac>
<jar basedir="${bin.dir}/antlibs/${libset}" jarfile="${distlib.dir}/antlibs/${libset}.tsk">
<metainf dir="${java.dir}/antlibs/${libset}"
includes="antlib.xml"/>
</jar>
</target>
<target name="main" depends="cli, 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 maxlinelen="80"
memberpattern="[a-z].*"
parampattern="[a-z].*"
staticpattern="[a-z].*"
ignoreCastWhitespace="true">
<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 maxlinelen="80"
memberpattern="[a-z].*"
parampattern="[a-z].*"
staticpattern="[a-z].*"
allowProtected="true"
ignoreCastWhitespace="true">
<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}/cli:${java.dir}/start"
destdir="${javadocs.dir}"
author="true" private ="true"
version="true"
windowtitle="Mutant API"
doctitle="Mutant">
<group title="Apache Ant Core" packages="org.apache.ant.antcore*" />
</javadoc>
</target>
</project>