| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| 3 for details. All rights reserved. Use of this source code is governed by a | |
| 4 BSD-style license that can be found in the LICENSE file. | |
| 5 --> | |
| 6 <project default="dist"> | |
| 7 <import file="sources.xml"/> | |
| 8 <import file="test_sources.xml"/> | |
| 9 | |
| 10 <!-- | |
| 11 The file build.properties does not exist. If provided, properties can be cus
tomized. | |
| 12 --> | |
| 13 <property file="build.properties" /> | |
| 14 | |
| 15 <!-- | |
| 16 Configuration properties. | |
| 17 --> | |
| 18 <property name="build.dir" value="out"/> | |
| 19 | |
| 20 <property name="build.classes.dir" value="${build.dir}/classes"/> | |
| 21 | |
| 22 <property name="build.test.classes.dir" value="${build.dir}/test/classes"/> | |
| 23 | |
| 24 <property name="dartc.jar" value="${build.dir}/dartc.jar"/> | |
| 25 | |
| 26 <property name="dist.dir" value="${build.dir}/dist"/> | |
| 27 | |
| 28 <property name="test.report.dir" value="${build.dir}/test"/> | |
| 29 | |
| 30 <property name="third_party.dir" value="../third_party"/> | |
| 31 | |
| 32 <property name="test_py" location="../tools/test.py"/> | |
| 33 | |
| 34 <!-- | |
| 35 Define buildtime and runtime classpaths. | |
| 36 --> | |
| 37 <path id="classpath.compile"> | |
| 38 <pathelement location="${third_party.dir}/args4j/2.0.12/args4j-2.0.12.jar"/> | |
| 39 <pathelement location="${third_party.dir}/guava/r09/guava-r09.jar"/> | |
| 40 <pathelement location="${third_party.dir}/json/r2_20080312/json.jar"/> | |
| 41 </path> | |
| 42 | |
| 43 <path id="classpath.runtime"> | |
| 44 <path refid="classpath.compile"/> | |
| 45 </path> | |
| 46 | |
| 47 <path id="classpath.compile.tests"> | |
| 48 <path refid="classpath.compile"/> | |
| 49 <pathelement location="${build.classes.dir}"/> | |
| 50 <pathelement location="${third_party.dir}/junit/v4_8_2/junit.jar"/> | |
| 51 </path> | |
| 52 | |
| 53 <path id="classpath.run.tests"> | |
| 54 <path refid="classpath.compile.tests"/> | |
| 55 <pathelement location="${build.test.classes.dir}"/> | |
| 56 <pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-core-1.3.0R
C2.jar"/> | |
| 57 <pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-generator-1
.3.0RC2.jar"/> | |
| 58 <pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-integration
-1.3.0RC2.jar"/> | |
| 59 <pathelement location="${third_party.dir}/hamcrest/v1_3/hamcrest-library-1.3
.0RC2.jar"/> | |
| 60 <pathelement location="${third_party.dir}/fest/fest-util-1.1.6.jar"/> | |
| 61 <pathelement location="${third_party.dir}/fest/fest-assert-1.4.jar"/> | |
| 62 </path> | |
| 63 | |
| 64 <target name="compile" description="Compiles all of the java source and copies
resources to the classes directory."> | |
| 65 <!-- | |
| 66 Ensure the necessary subdirectories exist. | |
| 67 --> | |
| 68 <mkdir dir="${build.classes.dir}"/> | |
| 69 | |
| 70 <javac destdir="${build.classes.dir}" | |
| 71 sourcepath="" | |
| 72 srcdir="java" | |
| 73 includes="${java_sources}" | |
| 74 fork="true" | |
| 75 debug="true"> | |
| 76 <classpath refid="classpath.compile"/> | |
| 77 </javac> | |
| 78 <!-- | |
| 79 Copy all non-java resources. | |
| 80 --> | |
| 81 <copy todir="${build.classes.dir}"> | |
| 82 <filelist refid="java_resources"/> | |
| 83 </copy> | |
| 84 </target> | |
| 85 | |
| 86 <!-- | |
| 87 We rely on GYP to call these targets when the dartc dependencies change, hen
ce this | |
| 88 ant file cannot be used standalone. | |
| 89 --> | |
| 90 <target name="compile-tests" depends="compile" description="Compiles all of th
e java tests and copies the resources to the test classes directory." > | |
| 91 <mkdir dir="${build.test.classes.dir}"/> | |
| 92 <javac destdir="${build.test.classes.dir}" | |
| 93 sourcepath="" | |
| 94 srcdir="javatests" | |
| 95 includes="${javatests_sources}" | |
| 96 excludes="com/google/dart/compiler/vm/**" | |
| 97 fork="true" | |
| 98 debug="true"> | |
| 99 <classpath refid="classpath.compile.tests"/> | |
| 100 </javac> | |
| 101 <!-- | |
| 102 Copy the non-java resources. | |
| 103 --> | |
| 104 <copy todir="${build.test.classes.dir}"> | |
| 105 <filelist refid="javatests_resources"/> | |
| 106 </copy> | |
| 107 </target> | |
| 108 | |
| 109 <target name="dartc.jar" depends="compile" description="Creates a jar for dart
c without bundling the dependencies."> | |
| 110 <jar destfile="${dartc.jar}" basedir="${build.classes.dir}" manifest="dartc.
mf"/> | |
| 111 </target> | |
| 112 | |
| 113 <target name="dist" depends="dartc.jar" description="Creates a directory that
contains a standalone distribution for dartc."> | |
| 114 <!-- | |
| 115 Ensure the necessary subdirectories exist. | |
| 116 --> | |
| 117 <mkdir dir="${dist.dir}/bin"/> | |
| 118 <mkdir dir="${dist.dir}/lib"/> | |
| 119 | |
| 120 <!-- | |
| 121 Copy the dart jar to the lib folder. | |
| 122 --> | |
| 123 <copy file="${dartc.jar}" todir="${dist.dir}/lib"/> | |
| 124 | |
| 125 <!-- | |
| 126 Re-root the classpaths from third_party into the lib folder of the distro. | |
| 127 --> | |
| 128 <pathconvert property="dartc.classpath.runtime.unix" targetos="unix" refid="
classpath.runtime"> | |
| 129 <regexpmapper from="${third_party.dir}/(.*)" to="$DARTC_LIBS/\1"/> | |
| 130 </pathconvert> | |
| 131 | |
| 132 <copy file="scripts/dartc.sh" tofile="${dist.dir}/bin/dartc"> | |
| 133 <filterset> | |
| 134 <filter token="CLASSPATH" value="$DARTC_LIBS/dartc.jar:${dartc.classpath
.runtime.unix}"/> | |
| 135 </filterset> | |
| 136 </copy> | |
| 137 <chmod file="${dist.dir}/bin/dartc" perm="a+rx"/> | |
| 138 | |
| 139 <!-- | |
| 140 TODO: The following files are not strictly due to dist, move them out. | |
| 141 --> | |
| 142 <copy todir="${build.dir}"> | |
| 143 <fileset dir="scripts"> | |
| 144 <include name="dartc_run.sh"/> | |
| 145 <include name="dartc_metrics.sh"/> | |
| 146 </fileset> | |
| 147 <filterset> | |
| 148 <filter token="CLASSPATH" value="$DARTC_LIBS/dartc.jar:${dartc.classpath
.runtime.unix}"/> | |
| 149 </filterset> | |
| 150 </copy> | |
| 151 <chmod file="${build.dir}/dartc_run.sh" perm="a+rx"/> | |
| 152 <chmod file="${build.dir}/dartc_metrics.sh" perm="a+rx"/> | |
| 153 | |
| 154 <!-- | |
| 155 Copy of all of the dartc dependencies to the lib folder. | |
| 156 --> | |
| 157 <copy todir="${dist.dir}/lib"> | |
| 158 <path refid="classpath.runtime"/> | |
| 159 <regexpmapper from="${third_party.dir}/(.*)" to="\1"/> | |
| 160 </copy> | |
| 161 </target> | |
| 162 | |
| 163 <target name="clean" description="Deletes the build output directory."> | |
| 164 <delete dir="${build.dir}"/> | |
| 165 <delete dir="${dist.dir}"/> | |
| 166 </target> | |
| 167 | |
| 168 <target name="tests.jar" depends="compile-tests"> | |
| 169 <jar destfile="${build.dir}/tests.jar" basedir="${build.test.classes.dir}"/> | |
| 170 </target> | |
| 171 </project> | |
| OLD | NEW |