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