summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2007-11-27 19:49:42 +0000
committermichelou <michelou@epfl.ch>2007-11-27 19:49:42 +0000
commitb7af5e53d19c49c1748776b271bc4ff237529bf0 (patch)
treec7f00df942554fce6b71bf52f1f1dbca0e089b17 /build.xml
parent1999c1bdc33f117b695d10c6eb77c82f60e2fbe2 (diff)
downloadscala-b7af5e53d19c49c1748776b271bc4ff237529bf0.tar.gz
scala-b7af5e53d19c49c1748776b271bc4ff237529bf0.tar.bz2
scala-b7af5e53d19c49c1748776b271bc4ff237529bf0.zip
added Android build and test support
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml55
1 files changed, 46 insertions, 9 deletions
diff --git a/build.xml b/build.xml
index aeec0900cd..75ac6ded9e 100644
--- a/build.xml
+++ b/build.xml
@@ -692,7 +692,7 @@ CLDC
</target>
- <target name="cldclib"
+ <target name="cldc.libraries"
depends="setup.quick, cldc.sources"
description="Builds the Scala library for J2ME (CLDC)"
>
@@ -778,7 +778,7 @@ CLDC
destdir="${cldc.dir}/lib/preverified"
/>
<jar
- destfile="${cldc.dir}/lib/scala-cldc-library.jar"
+ destfile="${cldc.dir}/lib/scalaapi10-unverified.jar"
basedir="${cldc.dir}/lib/library"
includes="scala/**/*.class">
<manifest>
@@ -787,7 +787,7 @@ CLDC
</jar>
<!-- see http://java.sun.com/j2me/docs/uei_specs.pdf -->
<jar
- destfile="${cldc.dir}/lib/scala-cldc-api.jar"
+ destfile="${cldc.dir}/lib/scalaapi10.jar"
basedir="${cldc.dir}/lib/preverified"
includes="scala/**/*.class">
<manifest>
@@ -800,10 +800,16 @@ CLDC
</jar>
</target>
+ <target name="cldc" depends="cldc.libraries">
+ <!-- exemples ? -->
+ </target>
+
<!-- ===========================================================================
ANDROID
============================================================================ -->
+ <property name="dx.jar" value="${android.home}/tools/lib/dx.jar"/>
+
<target name="android.sources"
description="Create the source directory for Android library"
>
@@ -825,7 +831,7 @@ ANDROID
</copy>
</target>
- <target name="android.lib"
+ <target name="android.libraries"
depends="setup.quick, android.sources"
description="Builds the Scala library for Android">
<fail message="Android home is not set or could not find android.jar in ${android.home}">
@@ -838,9 +844,6 @@ ANDROID
<javac
srcdir="${android.dir}/src"
destdir="${android.dir}/lib/library"
- compiler="javac1.4"
- source="1.1"
- target="1.1"
deprecation="${jc.deprecation}"
>
<bootclasspath>
@@ -882,6 +885,30 @@ ANDROID
</quick>
</target>
+ <target name="android" depends="android.libraries"
+ description="Convert this project's .class files into .dex files">
+ <java jar="${dx.jar}" fork="true" failonerror="true">
+ <jvmarg value="-Djava.ext.dirs=${android.home}${file.separator}tools${file.separator}lib"/>
+ <jvmarg value="-Xmx384M"/>
+ <arg value="--dex"/>
+ <arg value="--output=${android.dir}/lib/classes.dex"/>
+ <arg value="--locals=full"/>
+ <arg value="--positions=lines"/>
+ <arg value="${android.dir}/lib/library"/>
+ </java>
+ <jar
+ destfile="${android.dir}/lib/scala.jar"
+ basedir="${android.dir}/lib"
+ includes="classes.dex"
+ />
+ <jar
+ destfile="${android.dir}/lib/scala-android.jar"
+ basedir="${android.dir}/lib/library"
+ includes="scala/**/*.class"
+ />
+ <!-- examples ? -->
+ </target>
+
<!-- ===========================================================================
MSIL
============================================================================ -->
@@ -1671,7 +1698,7 @@ GENERATES A DISTRIBUTION
</target>
<target name="build.dist"
- depends="binaries,docs,docs.manual,msil"
+ depends="binaries,docs,docs.manual,msil,cldc,android"
description="Creates the latest Scala distribution">
<!-- Copy the API, examples and man -->
<copy todir="${dist.current.dir}/doc/scala">
@@ -1698,7 +1725,7 @@ GENERATES A DISTRIBUTION
</target>
<!-- Create the SBaz packages -->
- <target name="build.sbaz" depends="build.dist,cldclib">
+ <target name="build.sbaz" depends="build.dist">
<property name="sbaz.universe" value="http://www.scala-lang.org/downloads/packages"/>
<mkdir dir="${dist.dir}"/>
<!-- Create the Scala library package -->
@@ -1772,6 +1799,16 @@ GENERATES A DISTRIBUTION
link="${sbaz.universe}/scala-cldc-${version.number}.sbp">
<libset dir="${cldc.dir}/lib" includes="*.jar"/>
</quicksbaz>
+ <!-- Creates the Android package -->
+ <quicksbaz
+ file="${dist.dir}/scala-android-${version.number}.sbp"
+ adfile="${dist.dir}/scala-android-${version.number}.advert"
+ name="scala-android"
+ version="${version.number}"
+ desc="The Scala Android package contains everything needed to use Scala on Android."
+ link="${sbaz.universe}/scala-android-${version.number}.sbp">
+ <libset dir="${android.dir}/lib" includes="*.jar"/>
+ </quicksbaz>
</target>
<target name="build.archive" depends="build.dist">