diff options
-rw-r--r-- | build.xml | 38 | ||||
-rw-r--r-- | test/files/cldc/randoms.scala | 4 | ||||
-rwxr-xr-x | test/scalatest | 11 |
3 files changed, 46 insertions, 7 deletions
@@ -658,6 +658,7 @@ CLDC ============================================================================ --> <property name="cldcapi.jar" value="${lib.dir}/cldcapi10.jar"/> + <property name="midpapi.jar" value="${lib.dir}/midpapi10.jar"/> <target name="cldc.sources" description="Create the source directory for the J2ME (CLDC) library" @@ -755,11 +756,44 @@ CLDC <exclude name="scala/xml/**"/> <excludesfile name="${nsc.excludes}" if="excludes.avail"/> </quick> + <macrodef name="preverify"> + <attribute name="srcdir"/> + <attribute name="destdir"/> + <sequential> + <exec executable="preverify" failonerror="false"> + <arg line="-classpath ${cldcapi.jar}${path.separator}${midpapi.jar}"/> + <arg line="-target cldc1.0"/> + <arg line="-d @{destdir}"/> + <arg value="@{srcdir}"/> + </exec> + </sequential> + </macrodef> + <mkdir dir="${cldc.dir}/lib/preverified"/> + <preverify + srcdir="${cldc.dir}/lib/library" + destdir="${cldc.dir}/lib/preverified" + /> <jar destfile="${cldc.dir}/lib/scala-cldc-library.jar" basedir="${cldc.dir}/lib/library" - includes="scala/**/*.class" - /> + includes="scala/**/*.class"> + <manifest> + <attribute name="Created-By" value="${version.number} (${vendor.name})"/> + </manifest> + </jar> + <!-- see http://java.sun.com/j2me/docs/uei_specs.pdf --> + <jar + destfile="${cldc.dir}/lib/scala-cldc-api.jar" + basedir="${cldc.dir}/lib/preverified" + includes="scala/**/*.class"> + <manifest> + <attribute name="Created-By" value="${version.number} (${vendor.name})"/> + <attribute name="API-Specification-Version" value="1.0"/> + <attribute name="API" value="Scala CLDC"/> + <attribute name="API-Name" value="Scala Connected Limited Device Configuration"/> + <attribute name="API-Type" value="Configuration"/> + </manifest> + </jar> </target> <!-- =========================================================================== diff --git a/test/files/cldc/randoms.scala b/test/files/cldc/randoms.scala index b9f46250c9..5d3380fef9 100644 --- a/test/files/cldc/randoms.scala +++ b/test/files/cldc/randoms.scala @@ -9,8 +9,8 @@ class Test extends MIDlet with CommandListener { val mainForm = new Form("randoms") mainForm append "Welcome to the world of MIDlets!" mainForm append "(build with Scala)" - //val rnd = new Random - //for (i <- 0 until 10) mainForm append rnd.nextInt.toString + val rnd = new Random + for (i <- 0 until 10) mainForm append rnd.nextInt.toString val exitCommand = new Command("Exit", Command.EXIT, 0) mainForm addCommand exitCommand diff --git a/test/scalatest b/test/scalatest index 04f896521d..b5ae675aa0 100755 --- a/test/scalatest +++ b/test/scalatest @@ -335,7 +335,7 @@ test_run_cldc() { echo MIDlet-Jar-Size: $jarsize; echo MicroEdition-Profile: MIDP-1.0; echo MicroEdition-Configuration: CLDC-1.0 ) > "$dstbase".jad && - cpath=`get_os_pathlist $SCALA_CLDC:"$dstbase".jar` && + cpath=`get_os_pathlist $SCALA_CLDC_API:"$dstbase".jar` && $KVEM_EMULATOR -cp $cpath -Xdescriptor:"$dstbase".jad 2> /dev/null && head $logfile -n 4 | tail -n 1 > $logfile.0 && mv $logfile.0 $logfile @@ -633,7 +633,8 @@ QUICK="$PREFIX/build/quick/bin" QUICK_LIB="$PREFIX/build/quick/lib/library" QUICK_COMP="$PREFIX/build/quick/lib/compiler" QUICK_ACT="$PREFIX/build/quick/lib/actors" -QUICK_CLDC="$PREFIX/build/cldc/lib/library" +QUICK_CLDC="$PREFIX/build/cldc/lib/scala-cldc-library.jar" # unverified +QUICK_CLDC_API="$PREFIX/build/cldc/lib/scala-cldc-api.jar" # preverified JVM_EXT_CLASSPATH=`get_ext_classpath $TESTROOT/files/lib` @@ -666,6 +667,7 @@ SCALA_LIB="$LATEST_LIB"; SCALA_COMP="$LATEST_COMP"; SCALA_ACT="$LATEST_ACT"; SCALA_CLDC="$QUICK_CLDC"; +SCALA_CLDC_API="$QUICK_CLDC_API"; [ -x "$JAVACMD" ] || JAVACMD=java; [ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms16M"; @@ -863,8 +865,11 @@ else KVEM_CLDC=$PREFIX/lib/cldcapi10.jar; KVEM_MIDP=$KVEM_HOME/lib/midpapi10.jar; JARCMD=$bin_dir/jar; + elif [ -d "/home/linuxsoft/apps/" ]; then + error "option '--cldc' requires variable KVEM_HOME to be set" + abort "(eg. export KVEM_HOME=/home/linuxsoft/apps/java-wtk)"; else - abort "option 'cldc' requires variable KVEM_HOME to be set"; + abort "option '--cldc' requires variable KVEM_HOME to be set"; fi kvem_version=`$KVEM_EMULATOR -version | head -1`; printf_outline "Emulator version is : $kvem_version\\n"; |