Index: compiler/darta.xml |
diff --git a/compiler/darta.xml b/compiler/darta.xml |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7b941fe570df7d64c8cdc7af27774bb858cfe4af |
--- /dev/null |
+++ b/compiler/darta.xml |
@@ -0,0 +1,163 @@ |
+<!-- |
+ Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+ for details. All rights reserved. Use of this source code is governed by a |
+ BSD-style license that can be found in the LICENSE file. |
+ --> |
+<project default="dist"> |
+ <import file="sources.xml"/> |
+ <import file="test_sources.xml"/> |
+ |
+ <!-- |
+ The file build.properties does not exist. If provided, properties can be customized. |
+ --> |
+ <property file="build.properties" /> |
+ |
+ <!-- |
+ Configuration properties. |
+ --> |
+ <property name="build.dir" value="out"/> |
+ |
+ <property name="build.classes.dir" value="${build.dir}/classes"/> |
+ |
+ <property name="build.test.classes.dir" value="${build.dir}/test/classes"/> |
+ |
+ <property name="darta.jar" value="${build.dir}/darta.jar"/> |
+ |
+ <property name="dist.dir" value="${build.dir}/dist"/> <!-- overriden on cmdline --> |
+ |
+ <property name="test.report.dir" value="${build.dir}/test"/> |
+ |
+ <property name="third_party.dir" value="../third_party"/> |
+ |
+ <property name="test_py" location="../tools/test.py"/> |
+ |
+ <!-- |
+ Define buildtime and runtime classpaths. |
+ --> |
+ <path id="classpath.compile"> |
+ <pathelement location="${third_party.dir}/args4j/2.0.12/args4j-2.0.12.jar"/> |
+ <pathelement location="${third_party.dir}/guava/r09/guava-r09.jar"/> |
+ <pathelement location="${third_party.dir}/json/r2_20080312/json.jar"/> |
+ </path> |
+ |
+ <path id="classpath.runtime"> |
+ <path refid="classpath.compile"/> |
+ </path> |
+ |
+ <path id="classpath.compile.tests"> |
+ <path refid="classpath.compile"/> |
+ <pathelement location="${build.classes.dir}"/> |
+ <pathelement location="${third_party.dir}/junit/v4_8_2/junit.jar"/> |
+ </path> |
+ |
+ <path id="classpath.run.tests"> |
+ <path refid="classpath.compile.tests"/> |
+ <pathelement location="${build.test.classes.dir}"/> |
+ </path> |
+ |
+ <target name="compile" description="Compiles all of the java source and copies resources to the classes directory."> |
+ <!-- |
+ Ensure the necessary subdirectories exist. |
+ --> |
+ <mkdir dir="${build.classes.dir}"/> |
+ |
+ <javac destdir="${build.classes.dir}" |
+ sourcepath="" |
+ srcdir="java" |
+ includes="${java_sources}" |
+ fork="true" |
+ debug="true"> |
+ <classpath refid="classpath.compile"/> |
+ </javac> |
+ <!-- |
+ Copy all non-java resources. |
+ --> |
+ <copy todir="${build.classes.dir}"> |
+ <filelist refid="java_resources"/> |
+ </copy> |
+ </target> |
+ |
+ <target name="compile-tests" depends="compile" description="Compiles all of the java tests and copies the resources to the test classes directory." > |
+ <mkdir dir="${build.test.classes.dir}"/> |
+ <javac destdir="${build.test.classes.dir}" |
+ sourcepath="" |
+ srcdir="javatests" |
+ includes="${javatests_sources}" |
+ excludes="com/google/dart/compiler/vm/**" |
+ fork="true" |
+ debug="true"> |
+ <classpath refid="classpath.compile.tests"/> |
+ </javac> |
+ <!-- |
+ Copy the non-java resources. |
+ --> |
+ <copy todir="${build.test.classes.dir}"> |
+ <filelist refid="javatests_resources"/> |
+ </copy> |
+ </target> |
+ |
+ <target name="darta.jar" depends="compile" description="Creates a jar for dartc without bundling the dependencies."> |
+ <jar destfile="${darta.jar}" basedir="${build.classes.dir}" manifest="darta.mf"/> |
+ </target> |
+ |
+ <target name="dist" depends="darta.jar,copyscripts" description="Creates a directory that contains a standalone distribution for dartc."> |
+ </target> |
+ |
+ <target name="copyscripts"> |
+ <!-- |
+ Ensure the necessary subdirectories exist. |
+ --> |
+ <mkdir dir="${dist.dir}"/> |
+ |
+ <!-- |
+ Copy the dart jar to the lib folder. |
+ --> |
+ <copy file="${darta.jar}" todir="${dist.dir}"/> |
+ |
+ <!-- |
+ Re-root the classpaths from third_party into the lib folder of the distro. |
+ --> |
+ <pathconvert property="dartc.classpath.runtime.unix" targetos="unix" refid="classpath.runtime"> |
+ <regexpmapper from="${third_party.dir}/(.*)" to="$DARTA_HOME/\1"/> |
+ </pathconvert> |
+ |
+ <copy file="scripts/darta.sh" tofile="${dist.dir}/darta"> |
+ <filterset> |
+ <filter token="CLASSPATH" value="$DARTA_HOME/darta.jar:${dartc.classpath.runtime.unix}"/> |
+ </filterset> |
+ </copy> |
+ <chmod file="${dist.dir}/darta" perm="a+rx"/> |
+ |
+ <!-- |
+ TODO: The following files are not strictly due to dist, move them out. |
+ --> |
+ <copy todir="${build.dir}"> |
+ <fileset dir="scripts"> |
+ <include name="darta_run.sh"/> |
+ <include name="darta_metrics.sh"/> |
+ </fileset> |
+ <filterset> |
+ <filter token="CLASSPATH" value="$DARTA_HOME/darta.jar:${dartc.classpath.runtime.unix}"/> |
+ </filterset> |
+ </copy> |
+ <chmod file="${build.dir}/darta_run.sh" perm="a+rx"/> |
+ <chmod file="${build.dir}/darta_metrics.sh" perm="a+rx"/> |
+ |
+ <!-- |
+ Copy of all of the dartc dependencies to the lib folder. |
+ --> |
+ <copy todir="${dist.dir}/"> |
+ <path refid="classpath.runtime"/> |
+ <regexpmapper from="${third_party.dir}/(.*)" to="\1"/> |
+ </copy> |
+ </target> |
+ |
+ <target name="clean" description="Deletes the build output directory."> |
+ <delete dir="${build.dir}"/> |
+ <delete dir="${dist.dir}"/> |
+ </target> |
+ |
+ <target name="tests.jar" depends="compile-tests"> |
+ <jar destfile="${build.dir}/tests.jar" basedir="${build.test.classes.dir}"/> |
+ </target> |
+</project> |