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 |