Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(617)

Unified Diff: compiler/darta.xml

Issue 9702034: Removes dartc reliance on its own libraries, now can be targeted at any implementation's libraries (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698