50d731bd00
windows build failures not being reported correctly (older versions of ant didn't properly return process eit codes). It will also let us use some newer features of ant. Review URL: https://codereview.chromium.org//11973012 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17228 260f80e4-7a28-3924-810f-c04153c831b5
191 lines
6.5 KiB
XML
191 lines
6.5 KiB
XML
<!--
|
|
Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
for details. All rights reserved. Use of this source code is governed by a
|
|
BSD-style license that can be found in the LICENSE file.
|
|
-->
|
|
<project default="dist">
|
|
<import file="sources.xml"/>
|
|
<import file="test_sources.xml"/>
|
|
|
|
<!--
|
|
The file build.properties does not exist. If provided, properties can be customized.
|
|
-->
|
|
<property file="build.properties" />
|
|
|
|
<!--
|
|
Configuration properties.
|
|
-->
|
|
<property name="build.dir" value="out"/>
|
|
|
|
<property name="build.classes.dir" value="${build.dir}/classes"/>
|
|
|
|
<property name="build.test.classes.dir" value="${build.dir}/test/classes"/>
|
|
|
|
<property name="dart_analyzer.jar" value="${build.dir}/dart_analyzer.jar"/>
|
|
|
|
<property name="dist.dir" value="${build.dir}/dist"/>
|
|
|
|
<property name="test.report.dir" value="${build.dir}/test"/>
|
|
|
|
<property name="third_party.dir" value="../third_party"/>
|
|
|
|
<property name="test_py" location="../tools/test.py"/>
|
|
|
|
<!--
|
|
Define buildtime and runtime classpaths.
|
|
-->
|
|
<path id="classpath.compile">
|
|
<pathelement location="${third_party.dir}/args4j/2.0.12/args4j-2.0.12.jar"/>
|
|
<pathelement location="${third_party.dir}/guava/r09/guava-r09.jar"/>
|
|
<pathelement location="${third_party.dir}/json/r2_20080312/json.jar"/>
|
|
</path>
|
|
|
|
<path id="classpath.runtime">
|
|
<path refid="classpath.compile"/>
|
|
</path>
|
|
|
|
<path id="classpath.compile.tests">
|
|
<path refid="classpath.compile"/>
|
|
<pathelement location="${build.classes.dir}"/>
|
|
<pathelement location="${third_party.dir}/junit/v4_8_2/junit.jar"/>
|
|
</path>
|
|
|
|
<path id="classpath.run.tests">
|
|
<path refid="classpath.compile.tests"/>
|
|
<pathelement location="${build.test.classes.dir}"/>
|
|
<pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-core-1.3.0RC2.jar"/>
|
|
<pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-generator-1.3.0RC2.jar"/>
|
|
<pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-integration-1.3.0RC2.jar"/>
|
|
<pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-library-1.3.0RC2.jar"/>
|
|
<pathelement location="${third_party.dir}/fest/fest-util-1.1.6.jar"/>
|
|
<pathelement location="${third_party.dir}/fest/fest-assert-1.4.jar"/>
|
|
</path>
|
|
|
|
<target name="compile" description="Compiles all of the java source and copies resources to the classes directory.">
|
|
<!--
|
|
Ensure the necessary subdirectories exist.
|
|
-->
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
|
|
<javac destdir="${build.classes.dir}"
|
|
sourcepath=""
|
|
srcdir="java"
|
|
includes="${java_sources}"
|
|
fork="true"
|
|
debug="true"
|
|
source="1.6"
|
|
target="1.6"
|
|
includeAntRuntime="false">
|
|
<classpath refid="classpath.compile"/>
|
|
</javac>
|
|
<!--
|
|
Copy all non-java resources.
|
|
-->
|
|
<copy todir="${build.classes.dir}">
|
|
<filelist refid="java_resources"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<!--
|
|
We rely on GYP to call these targets when dependencies change, hence this
|
|
ant file cannot be used standalone.
|
|
-->
|
|
<target name="compile-tests" depends="compile" description="Compiles all of the java tests and copies the resources to the test classes directory." >
|
|
<mkdir dir="${build.test.classes.dir}"/>
|
|
<javac destdir="${build.test.classes.dir}"
|
|
sourcepath=""
|
|
srcdir="javatests"
|
|
includes="${javatests_sources}"
|
|
excludes="com/google/dart/compiler/vm/**"
|
|
fork="true"
|
|
debug="true"
|
|
source="1.6"
|
|
target="1.6"
|
|
includeAntRuntime="false">
|
|
<classpath refid="classpath.compile.tests"/>
|
|
</javac>
|
|
<!--
|
|
Copy the non-java resources.
|
|
-->
|
|
<copy todir="${build.test.classes.dir}">
|
|
<filelist refid="javatests_resources"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="dart_analyzer.jar" depends="compile" description="Creates a jar without bundling the dependencies.">
|
|
<jar destfile="${dart_analyzer.jar}" basedir="${build.classes.dir}"
|
|
manifest="dart_analyzer.mf"/>
|
|
</target>
|
|
|
|
<target name="dist" depends="dart_analyzer.jar"
|
|
description="Create a directory with a standalone distribution.">
|
|
<!--
|
|
Ensure the necessary subdirectories exist.
|
|
-->
|
|
<mkdir dir="${dist.dir}/bin"/>
|
|
<mkdir dir="${dist.dir}/util"/>
|
|
<mkdir dir="${dist.dir}/util/analyzer"/>
|
|
|
|
<!--
|
|
Copy the dart jar to the lib folder.
|
|
-->
|
|
<copy file="${dart_analyzer.jar}" todir="${dist.dir}/util/analyzer"/>
|
|
|
|
<!--
|
|
Re-root the classpaths from third_party into the util folder of the distro.
|
|
-->
|
|
<pathconvert property="analyzer.classpath.runtime.unix" targetos="unix" refid="classpath.runtime">
|
|
<regexpmapper from="${third_party.dir}/(.*)" to="$DART_ANALYZER_LIBS/\1"/>
|
|
</pathconvert>
|
|
|
|
<pathconvert property="analyzer.classpath.runtime.win" targetos="windows" refid="classpath.runtime">
|
|
<regexpmapper from="(.*)third_party\\(.*)" to="%DART_ANALYZER_LIBS%\\\2"/>
|
|
</pathconvert>
|
|
|
|
<copy file="scripts/dart_analyzer.sh" tofile="${dist.dir}/bin/dart_analyzer">
|
|
<filterset>
|
|
<filter token="CLASSPATH" value="$DART_ANALYZER_LIBS/dart_analyzer.jar:${analyzer.classpath.runtime.unix}"/>
|
|
</filterset>
|
|
</copy>
|
|
<chmod file="${dist.dir}/bin/dart_analyzer" perm="a+rx"/>
|
|
|
|
<copy file="scripts/dart_analyzer.bat" tofile="${dist.dir}/bin/dart_analyzer.bat">
|
|
<filterset>
|
|
<filter
|
|
token="CLASSPATH"
|
|
value="%DART_ANALYZER_LIBS%\dart_analyzer.jar;${analyzer.classpath.runtime.win}"/>
|
|
</filterset>
|
|
</copy>
|
|
|
|
<!--
|
|
TODO: The following files are not strictly due to dist, move them out.
|
|
-->
|
|
<copy todir="${build.dir}">
|
|
<fileset dir="scripts">
|
|
<include name="analyzer_metrics.sh"/>
|
|
</fileset>
|
|
<filterset>
|
|
<filter token="CLASSPATH" value="$DART_ANALYZER_LIBS/dart_analyzer.jar:${analyzer.classpath.runtime.unix}"/>
|
|
</filterset>
|
|
</copy>
|
|
<chmod file="${build.dir}/analyzer_metrics.sh" perm="a+rx"/>
|
|
|
|
<!--
|
|
Copy of all dependencies to the util folder.
|
|
-->
|
|
<copy todir="${dist.dir}/util/analyzer">
|
|
<path refid="classpath.runtime"/>
|
|
<regexpmapper from="(.*)third_party[/\\](.*)" to="\2"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="clean" description="Deletes the build output directory.">
|
|
<delete dir="${build.dir}"/>
|
|
<delete dir="${dist.dir}"/>
|
|
</target>
|
|
|
|
<target name="tests.jar" depends="compile-tests">
|
|
<jar destfile="${build.dir}/tests.jar" basedir="${build.test.classes.dir}"/>
|
|
</target>
|
|
</project>
|