| <?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> |
| |
| <target name="help"> |
| <echo> |
| Apache Harmony Tools Build |
| |
| Usage: |
| |
| ant build |
| Compiles the java and native code and populates the hdk. |
| |
| 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 fetch-depends |
| Fetches dependencies. Note: Some of Harmony's dependencies are |
| licensed under terms other than the Apache License v2. |
| |
| ant properties |
| Display the common properties that are use in the ant build files. |
| |
| The 'build' and 'test' targets can be configured to only build/test a |
| single module by setting the 'build.module' property. For example, to |
| run the tests for the "jdktools" module: |
| |
| ant test -Dbuild.module=jdktools |
| |
| The 'test' target can further be configured to run a single test by setting |
| the 'test.case' property. For example, to run a specific test in the "luni" |
| module: |
| |
| ant test -Dbuild.module=jdktools -Dtest.case=org/apache/harmony/tests/tools/javac/MainTest |
| </echo> |
| </target> |
| |
| <property file="${user.home}/.harmony-jdktools.properties" /> |
| <property name="common.resources" location="../common_resources" /> |
| <property name="hy.target" location="target" /> |
| <property name="hy.component" value="jdktools" /> |
| <property name="hy.module" value="toplevel" /> |
| <fail message="Property 'hy.target' is not defined"> |
| <condition> |
| <not><isset property="hy.target" /></not> |
| </condition> |
| </fail> |
| <fail message="Property 'common.resources' is not defined"> |
| <condition> |
| <not><isset property="common.resources" /></not> |
| </condition> |
| </fail> |
| |
| <mkdir dir="${hy.target}/hdk/build/ant" /> |
| <copy todir="${hy.target}/hdk/build/ant" preservelastmodified="true"> |
| <fileset dir="${common.resources}/make" includes="*.xml"/> |
| </copy> |
| |
| <!-- import properties for snapshot targets --> |
| <import file="${hy.target}/hdk/build/ant/properties.xml" /> |
| <init-hdk/> |
| |
| <!-- ================================ |
| target : rebuild |
| |
| builds with a clean first |
| ================================= --> |
| <target name="rebuild" depends="clean,build" |
| description="Performs a full build - that is 'clean' then 'build'" /> |
| |
| <target name="build" description="Compiles the java, natives and tests"> |
| <poll-modules target="build" /> |
| </target> |
| |
| <target name="clean" |
| description="Removes all the files generated by a build" > |
| <poll-modules target="clean" /> |
| </target> |
| |
| <target name="test" depends="clean-test-output,-test-modules" |
| description="Runs all tests" /> |
| |
| <target name="-test-modules"> |
| <poll-modules target="test" /> |
| </target> |
| |
| <target name="clean-test-output"> |
| <delete dir="${tests.output}" /> |
| </target> |
| |
| <target name="findbugs" depends="check-depends" |
| description="Runs FindBugs on all modules"> |
| <echo> |
| ======================================== |
| Finding bugs in all class libraries... |
| ======================================== |
| </echo> |
| <poll-modules target="findbugs" /> |
| </target> |
| |
| <target name="check-depends" |
| description="Report on whether the dependencies are met"> |
| <poll-modules target="check-depends" /> |
| </target> |
| |
| <target name="fetch-depends" |
| description="Fetches dependencies. Note: Some of Harmony's dependencies are licensed under terms other than the Apache License v2."> |
| <poll-modules target="fetch-depends" /> |
| </target> |
| |
| <target name="properties" depends="echo" |
| description="Display the properties that are use by this build" /> |
| |
| </project> |
| |