OLD | NEW |
1 <!-- | 1 <!-- |
2 Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 4 BSD-style license that can be found in the LICENSE file. |
5 --> | 5 --> |
6 <project default="dist"> | 6 <project default="dist"> |
7 <import file="sources.xml"/> | 7 <import file="sources.xml"/> |
8 <import file="test_sources.xml"/> | 8 <import file="test_sources.xml"/> |
9 | 9 |
10 <!-- | 10 <!-- |
11 The file build.properties does not exist. If provided, properties can be cus
tomized. | 11 The file build.properties does not exist. If provided, properties can be cus
tomized. |
12 --> | 12 --> |
13 <property file="build.properties" /> | 13 <property file="build.properties" /> |
14 | 14 |
15 <!-- | 15 <!-- |
16 Configuration properties. | 16 Configuration properties. |
17 --> | 17 --> |
18 <property name="build.dir" value="out"/> | 18 <property name="build.dir" value="out"/> |
19 | 19 |
20 <property name="build.classes.dir" value="${build.dir}/classes"/> | 20 <property name="build.classes.dir" value="${build.dir}/classes"/> |
21 | 21 |
22 <property name="build.test.classes.dir" value="${build.dir}/test/classes"/> | 22 <property name="build.test.classes.dir" value="${build.dir}/test/classes"/> |
23 | 23 |
24 <property name="dart_analyzer.jar" value="${build.dir}/dart_analyzer.jar"/> | 24 <property name="dartc.jar" value="${build.dir}/dartc.jar"/> |
25 | 25 |
26 <property name="dist.dir" value="${build.dir}/dist"/> | 26 <property name="dist.dir" value="${build.dir}/dist"/> |
27 | 27 |
28 <property name="test.report.dir" value="${build.dir}/test"/> | 28 <property name="test.report.dir" value="${build.dir}/test"/> |
29 | 29 |
30 <property name="third_party.dir" value="../third_party"/> | 30 <property name="third_party.dir" value="../third_party"/> |
31 | 31 |
32 <property name="test_py" location="../tools/test.py"/> | 32 <property name="test_py" location="../tools/test.py"/> |
33 | 33 |
34 <!-- | 34 <!-- |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 </javac> | 77 </javac> |
78 <!-- | 78 <!-- |
79 Copy all non-java resources. | 79 Copy all non-java resources. |
80 --> | 80 --> |
81 <copy todir="${build.classes.dir}"> | 81 <copy todir="${build.classes.dir}"> |
82 <filelist refid="java_resources"/> | 82 <filelist refid="java_resources"/> |
83 </copy> | 83 </copy> |
84 </target> | 84 </target> |
85 | 85 |
86 <!-- | 86 <!-- |
87 We rely on GYP to call these targets when the dart_analyzer dependencies cha
nge, hence this | 87 We rely on GYP to call these targets when the dartc dependencies change, hen
ce this |
88 ant file cannot be used standalone. | 88 ant file cannot be used standalone. |
89 --> | 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." > | 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}"/> | 91 <mkdir dir="${build.test.classes.dir}"/> |
92 <javac destdir="${build.test.classes.dir}" | 92 <javac destdir="${build.test.classes.dir}" |
93 sourcepath="" | 93 sourcepath="" |
94 srcdir="javatests" | 94 srcdir="javatests" |
95 includes="${javatests_sources}" | 95 includes="${javatests_sources}" |
96 excludes="com/google/dart/compiler/vm/**" | 96 excludes="com/google/dart/compiler/vm/**" |
97 fork="true" | 97 fork="true" |
98 debug="true"> | 98 debug="true"> |
99 <classpath refid="classpath.compile.tests"/> | 99 <classpath refid="classpath.compile.tests"/> |
100 </javac> | 100 </javac> |
101 <!-- | 101 <!-- |
102 Copy the non-java resources. | 102 Copy the non-java resources. |
103 --> | 103 --> |
104 <copy todir="${build.test.classes.dir}"> | 104 <copy todir="${build.test.classes.dir}"> |
105 <filelist refid="javatests_resources"/> | 105 <filelist refid="javatests_resources"/> |
106 </copy> | 106 </copy> |
107 </target> | 107 </target> |
108 | 108 |
109 <target name="dart_analyzer.jar" depends="compile" | 109 <target name="dartc.jar" depends="compile" description="Creates a jar for dart
c without bundling the dependencies."> |
110 description="Creates a jar for dart analyzer w/o bundling dependencies."> | 110 <jar destfile="${dartc.jar}" basedir="${build.classes.dir}" manifest="dartc.
mf"/> |
111 <jar destfile="${dart_analyzer.jar}" basedir="${build.classes.dir}" | |
112 manifest="dart_analyzer.mf"/> | |
113 </target> | 111 </target> |
114 | 112 |
115 <target name="dist" depends="dart_analyzer.jar" | 113 <target name="dist" depends="dartc.jar" description="Creates a directory that
contains a standalone distribution for dartc."> |
116 description="Creates a directory with a standalone distribution."> | |
117 <!-- | 114 <!-- |
118 Ensure the necessary subdirectories exist. | 115 Ensure the necessary subdirectories exist. |
119 --> | 116 --> |
120 <mkdir dir="${dist.dir}/bin"/> | 117 <mkdir dir="${dist.dir}/bin"/> |
121 <mkdir dir="${dist.dir}/util"/> | 118 <mkdir dir="${dist.dir}/lib"/> |
122 <mkdir dir="${dist.dir}/util/analyzer"/> | |
123 | 119 |
124 <!-- | 120 <!-- |
125 Copy the dart jar to the lib folder. | 121 Copy the dart jar to the lib folder. |
126 --> | 122 --> |
127 <copy file="${dart_analyzer.jar}" todir="${dist.dir}/util/analyzer"/> | 123 <copy file="${dartc.jar}" todir="${dist.dir}/lib"/> |
128 | 124 |
129 <!-- | 125 <!-- |
130 Re-root the classpaths from third_party into the library folder of the dis
tro. | 126 Re-root the classpaths from third_party into the lib folder of the distro. |
131 --> | 127 --> |
132 <pathconvert property="analyzer.classpath.runtime.unix" targetos="unix" refi
d="classpath.runtime"> | 128 <pathconvert property="dartc.classpath.runtime.unix" targetos="unix" refid="
classpath.runtime"> |
133 <regexpmapper from="${third_party.dir}/(.*)" to="$DART_ANALYZER_LIBS/\1"/> | 129 <regexpmapper from="${third_party.dir}/(.*)" to="$DARTC_LIBS/\1"/> |
134 </pathconvert> | 130 </pathconvert> |
135 | 131 |
136 <copy file="scripts/dart_analyzer.sh" tofile="${dist.dir}/bin/dart_analyzer"
> | 132 <copy file="scripts/dartc.sh" tofile="${dist.dir}/bin/dartc"> |
137 <filterset> | 133 <filterset> |
138 <filter token="CLASSPATH" value="$DART_ANALYZER_LIBS/dart_analyzer.jar:$
{analyzer.classpath.runtime.unix}"/> | 134 <filter token="CLASSPATH" value="$DARTC_LIBS/dartc.jar:${dartc.classpath
.runtime.unix}"/> |
139 </filterset> | 135 </filterset> |
140 </copy> | 136 </copy> |
141 <chmod file="${dist.dir}/bin/dart_analyzer" perm="a+rx"/> | 137 <chmod file="${dist.dir}/bin/dartc" perm="a+rx"/> |
142 | 138 |
143 <!-- | 139 <!-- |
144 TODO: The following files are not strictly due to dist, move them out. | 140 TODO: The following files are not strictly due to dist, move them out. |
145 --> | 141 --> |
146 <copy todir="${build.dir}"> | 142 <copy todir="${build.dir}"> |
147 <fileset dir="scripts"> | 143 <fileset dir="scripts"> |
148 <include name="analyzer_metrics.sh"/> | 144 <include name="dartc_run.sh"/> |
| 145 <include name="dartc_metrics.sh"/> |
149 </fileset> | 146 </fileset> |
150 <filterset> | 147 <filterset> |
151 <filter token="CLASSPATH" value="$DART_ANALYZER_LIBS/dart_analyzer.jar:$
{analyzer.classpath.runtime.unix}"/> | 148 <filter token="CLASSPATH" value="$DARTC_LIBS/dartc.jar:${dartc.classpath
.runtime.unix}"/> |
152 </filterset> | 149 </filterset> |
153 </copy> | 150 </copy> |
154 <chmod file="${build.dir}/analyzer_metrics.sh" perm="a+rx"/> | 151 <chmod file="${build.dir}/dartc_run.sh" perm="a+rx"/> |
| 152 <chmod file="${build.dir}/dartc_metrics.sh" perm="a+rx"/> |
155 | 153 |
156 <!-- | 154 <!-- |
157 Copy of all of the dart anayzer dependencies to the library folder. | 155 Copy of all of the dartc dependencies to the lib folder. |
158 --> | 156 --> |
159 <copy todir="${dist.dir}/util/analyzer"> | 157 <copy todir="${dist.dir}/lib"> |
160 <path refid="classpath.runtime"/> | 158 <path refid="classpath.runtime"/> |
161 <regexpmapper from="${third_party.dir}/(.*)" to="\1"/> | 159 <regexpmapper from="${third_party.dir}/(.*)" to="\1"/> |
162 </copy> | 160 </copy> |
163 </target> | 161 </target> |
164 | 162 |
165 <target name="clean" description="Deletes the build output directory."> | 163 <target name="clean" description="Deletes the build output directory."> |
166 <delete dir="${build.dir}"/> | 164 <delete dir="${build.dir}"/> |
167 <delete dir="${dist.dir}"/> | 165 <delete dir="${dist.dir}"/> |
168 </target> | 166 </target> |
169 | 167 |
170 <target name="tests.jar" depends="compile-tests"> | 168 <target name="tests.jar" depends="compile-tests"> |
171 <jar destfile="${build.dir}/tests.jar" basedir="${build.test.classes.dir}"/> | 169 <jar destfile="${build.dir}/tests.jar" basedir="${build.test.classes.dir}"/> |
172 </target> | 170 </target> |
173 </project> | 171 </project> |
OLD | NEW |