blob: d4fc1982022332eeb024ba8bb9d335932693fef7 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. -->
<!-- ======================================================================
Build source and lay out results in the required format
====================================================================== -->
<project name="jdktools" default="build" basedir=".">
<description>
Build jdktools
</description>
<import file="make/properties.xml"/>
<target name="help">
<echo>
Apache Harmony Ant Build
Usage:
ant build
Compiles the java and native code to produce a jdk in
"deploy/jdk".
ant clean
Removes all the files generated by a build.
ant rebuild
Performs a full build - that is 'clean' then 'build'.
ant test
Runs all the tests.
ant doc
Generates the javadoc.
ant properties
Display the common properties that are use in the ant build files.
The 'build' and 'test' targets can be restricted to processing only
a single module by defining the 'build.module' variable on the ant
command line. For example, to run only the luni tests:
ant -Dbuild.module=jdktools test
</echo>
</target>
<target name="rebuild" depends="clean,build"
description="Performs a full build - that is 'clean' then 'build'" />
<target name="build" depends="build-java,build-native"
description="Compiles the java and native code to produce a jdk">
</target>
<target name="clean" depends="clean-java,clean-native,clean-tests"
description="Removes all the files generated by a build" />
<target name="rebuild-java" depends="clean-java,build-java"
description="Like 'rebuild' but for java code only" />
<target name="build-java"
description="Compiles the java code only" >
<echo>
========================================
Building Java component archives...
========================================
</echo>
<ant antfile="make/build-java.xml" inheritall="false" target="build">
<property name="hy.hdk" value="${hy.hdk}"/>
<property name="hy.jdk" value="${hy.jdk}"/>
<property name="harmony.jdktools" value="${harmony.jdktools}"/>
<property name="external.resources" value="${external.resources}"/>
</ant>
</target>
<target name="clean-java"
description="Removes the compiled java code" >
<echo>
========================================
Cleaning Java component archives...
========================================
</echo>
<ant antfile="make/build-java.xml" inheritall="false" target="clean">
<property name="hy.hdk" value="${hy.hdk}"/>
<property name="hy.jdk" value="${hy.jdk}"/>
<property name="harmony.jdktools" value="${harmony.jdktools}"/>
<property name="external.resources" value="${external.resources}"/>
</ant>
</target>
<target name="rebuild-native" depends="clean-native,build-native"
description="Like 'rebuild' but for native code only" />
<target name="build-native"
description="Compiles the native code only" >
<echo>
========================================
Building native libs and executables...
========================================
</echo>
<ant antfile="make/build-native.xml" inheritall="false" target="build">
<property name="hy.hdk" value="${hy.hdk}"/>
<property name="hy.jdk" value="${hy.jdk}"/>
<property name="harmony.jdktools" value="${harmony.jdktools}"/>
<property name="external.resources" value="${external.resources}"/>
</ant>
</target>
<target name="clean-native"
description="Removes the compiled native code" >
<echo>
========================================
Cleaning native libs and executables...
========================================
</echo>
<ant antfile="make/build-native.xml" inheritall="false" target="clean">
<property name="hy.hdk" value="${hy.hdk}"/>
<property name="hy.jdk" value="${hy.jdk}"/>
<property name="harmony.jdktools" value="${harmony.jdktools}"/>
<property name="external.resources" value="${external.resources}"/>
</ant>
</target>
<target name="clean-tests"
description="Removes the compiled tests and results" >
<echo>
========================================
Cleaning compiled tests and results...
========================================
</echo>
<ant antfile="make/build-test.xml" inheritall="false" target="clean">
<property name="hy.hdk" value="${hy.hdk}"/>
<property name="hy.jdk" value="${hy.jdk}"/>
<property name="harmony.jdktools" value="${harmony.jdktools}"/>
<property name="external.resources" value="${external.resources}"/>
</ant>
</target>
<target name="test"
description="Runs all tests">
<echo>
========================================
Testing jdktools binaries...
========================================
</echo>
<ant antfile="make/build-test.xml" inheritall="false" target="test-all">
<property name="hy.hdk" value="${hy.hdk}"/>
<property name="hy.jdk" value="${hy.jdk}"/>
<property name="harmony.jdktools" value="${harmony.jdktools}"/>
<property name="external.resources" value="${external.resources}"/>
</ant>
</target>
<target name="check-depends"
description="Report on whether the dependencies are met">
<ant antfile="make/depends.xml" target="check"/>
</target>
<target name="fetch-depends"
description="Fetches dependencies. Note: Some of Harmony's dependencies are licensed under terms other than the Apache License v2.">
<ant antfile="make/depends.xml" target="fetch"/>
</target>
<target name="properties" depends="tools-echo"
description="Display the properties that are use in the ant build files"/>
</project>