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="dart_analyzer.jar" value="${build.dir}/dart_analyzer.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 dart_analyzer dependencies cha
nge, hence 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="dart_analyzer.jar" depends="compile" | |
110 description="Creates a jar for dart analyzer w/o bundling dependencies."> | |
111 <jar destfile="${dart_analyzer.jar}" basedir="${build.classes.dir}" | |
112 manifest="dart_analyzer.mf"/> | |
113 </target> | |
114 | |
115 <target name="dist" depends="dart_analyzer.jar" | |
116 description="Creates a directory with a standalone distribution."> | |
117 <!-- | |
118 Ensure the necessary subdirectories exist. | |
119 --> | |
120 <mkdir dir="${dist.dir}/bin"/> | |
121 <mkdir dir="${dist.dir}/util"/> | |
122 <mkdir dir="${dist.dir}/util/analyzer"/> | |
123 | |
124 <!-- | |
125 Copy the dart jar to the lib folder. | |
126 --> | |
127 <copy file="${dart_analyzer.jar}" todir="${dist.dir}/util/analyzer"/> | |
128 | |
129 <!-- | |
130 Re-root the classpaths from third_party into the library folder of the dis
tro. | |
131 --> | |
132 <pathconvert property="analyzer.classpath.runtime.unix" targetos="unix" refi
d="classpath.runtime"> | |
133 <regexpmapper from="${third_party.dir}/(.*)" to="$DART_ANALYZER_LIBS/\1"/> | |
134 </pathconvert> | |
135 | |
136 <copy file="scripts/dart_analyzer.sh" tofile="${dist.dir}/bin/dart_analyzer"
> | |
137 <filterset> | |
138 <filter token="CLASSPATH" value="$DART_ANALYZER_LIBS/dart_analyzer.jar:$
{analyzer.classpath.runtime.unix}"/> | |
139 </filterset> | |
140 </copy> | |
141 <chmod file="${dist.dir}/bin/dart_analyzer" perm="a+rx"/> | |
142 | |
143 <!-- | |
144 TODO: The following files are not strictly due to dist, move them out. | |
145 --> | |
146 <copy todir="${build.dir}"> | |
147 <fileset dir="scripts"> | |
148 <include name="analyzer_metrics.sh"/> | |
149 </fileset> | |
150 <filterset> | |
151 <filter token="CLASSPATH" value="$DART_ANALYZER_LIBS/dart_analyzer.jar:$
{analyzer.classpath.runtime.unix}"/> | |
152 </filterset> | |
153 </copy> | |
154 <chmod file="${build.dir}/analyzer_metrics.sh" perm="a+rx"/> | |
155 | |
156 <!-- | |
157 Copy of all of the dart anayzer dependencies to the library folder. | |
158 --> | |
159 <copy todir="${dist.dir}/util/analyzer"> | |
160 <path refid="classpath.runtime"/> | |
161 <regexpmapper from="${third_party.dir}/(.*)" to="\1"/> | |
162 </copy> | |
163 </target> | |
164 | |
165 <target name="clean" description="Deletes the build output directory."> | |
166 <delete dir="${build.dir}"/> | |
167 <delete dir="${dist.dir}"/> | |
168 </target> | |
169 | |
170 <target name="tests.jar" depends="compile-tests"> | |
171 <jar destfile="${build.dir}/tests.jar" basedir="${build.test.classes.dir}"/> | |
172 </target> | |
173 </project> | |
OLD | NEW |