<?xml version="1.0"?> <project name="COOJA Simulator" default="run" basedir="."> <property name="java" location="java"/> <property name="build" location="build"/> <property name="javadoc" location="javadoc"/> <property name="config" location="config"/> <property name="dist" location="dist"/> <property name="lib" location="lib"/> <property name="args" value="" /> <target name="help"> <echo> The COOJA Simulator Start COOJA > ant run Build COOJA (dist/cooja.jar) and all default projects (MSPSim et al) > ant jar Start COOJA with more memory allocated (for large simulations) > ant run_bigmem Start COOJA, show error box if process terminates unexpectedly. > ant run_errorbox Start COOJA and immediately load simulation in sim.csc > java -mx512m -jar dist/cooja.jar -quickstart=sim.csc Start COOJA without GUI and run simulation in sim.csc > java -mx512m -jar dist/cooja.jar -nogui=sim.csc Build executable simulation JAR from mysim.csc > ant export-jar -DCSC="c:/mysim.csc" or > ant export-jar -DCSC="/home/user/sim.csc" The output JAR is saved to exported.jar </echo> </target> <target name="init"> <tstamp/> </target> <target name="export-jar" depends="init, jar"> <java fork="yes" dir="${build}" classname="se.sics.cooja.util.ExecuteJAR" maxmemory="512m"> <sysproperty key="user.language" value="en"/> <arg file="${CSC}"/> <arg file="exported.jar"/> <env key="LD_LIBRARY_PATH" value="."/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </java> </target> <target name="javadoc" depends="init"> <delete dir="${javadoc}" quiet="true"/> <mkdir dir="${javadoc}/"/> <javadoc destdir="${javadoc}"> <fileset dir="${java}/" includes="**/*.java"/> <classpath> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </javadoc> </target> <target name="compile" depends="init"> <mkdir dir="${build}"/> <javac srcdir="${java}" destdir="${build}" debug="on"> <classpath> <pathelement path="."/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </javac> </target> <target name="copy configs" depends="init"> <mkdir dir="${build}"/> <copy todir="${build}"> <fileset dir="${config}"/> </copy> </target> <target name="clean" depends="init"> <delete dir="${build}"/> <delete dir="${dist}"/> <ant antfile="build.xml" dir="apps/mrm" target="clean" inheritAll="false"/> <ant antfile="build.xml" dir="apps/mspsim" target="clean" inheritAll="false"/> <ant antfile="build.xml" dir="apps/avrora" target="clean" inheritAll="false"/> <ant antfile="build.xml" dir="apps/serial_socket" target="clean" inheritAll="false"/> <ant antfile="build.xml" dir="apps/collect-view" target="clean" inheritAll="false"/> </target> <target name="run" depends="init, compile, jar, copy configs"> <java fork="yes" dir="${build}" classname="se.sics.cooja.GUI" maxmemory="512m"> <sysproperty key="user.language" value="en"/> <arg line="${args}"/> <env key="LD_LIBRARY_PATH" value="."/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </java> </target> <target name="run_errorbox" depends="init, compile, jar, copy configs"> <java fork="yes" dir="${build}" classname="se.sics.cooja.GUI" maxmemory="512m"> <sysproperty key="user.language" value="en"/> <jvmarg value="-XX:+ShowMessageBoxOnError"/> <env key="LD_LIBRARY_PATH" value="."/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </java> </target> <target name="runprof" depends="init, compile, jar, copy configs"> <java fork="yes" dir="${build}" classname="se.sics.cooja.GUI"> <arg line="${args}"/> <env key="LD_LIBRARY_PATH" value="."/> <jvmarg line="-agentlib:yjpagent"/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </java> </target> <target name="runfree" depends="init, compile, jar, copy configs"> <java fork="yes" dir="${build}" classname="se.sics.cooja.GUI" maxmemory="1536m"> <arg line="${args}"/> <env key="LD_LIBRARY_PATH" value="."/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> <pathelement location="../mspsim/lib/jfreechart-1.0.11.jar"/> <pathelement location="../mspsim/lib/jcommon-1.0.14.jar"/> </classpath> </java> </target> <target name="run_bigmem" depends="init, compile, jar, copy configs"> <java fork="yes" dir="${build}" classname="se.sics.cooja.GUI" maxmemory="1536m"> <arg line="${args}"/> <env key="LD_LIBRARY_PATH" value="."/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </java> </target> <target name="jar" depends="jar_cooja"> <ant antfile="build.xml" dir="apps/mrm" target="jar" inheritAll="false"/> <ant antfile="build.xml" dir="apps/mspsim" target="jar" inheritAll="false"/> <ant antfile="build.xml" dir="apps/avrora" target="jar" inheritAll="false"/> <ant antfile="build.xml" dir="apps/serial_socket" target="jar" inheritAll="false"/> <ant antfile="build.xml" dir="apps/collect-view" target="jar" inheritAll="false"/> </target> <target name="run_nogui" depends="init, compile, jar, copy configs"> <java fork="yes" dir="${build}" classname="se.sics.cooja.GUI" maxmemory="512m"> <arg line="-nogui=${args}"/> <env key="LD_LIBRARY_PATH" value="."/> <classpath> <pathelement path="${build}"/> <pathelement location="lib/jdom.jar"/> <pathelement location="lib/log4j.jar"/> </classpath> </java> </target> <target name="run_applet" depends="init, compile, jar, copy configs"> <exec executable="appletviewer" dir="${build}"> <arg value="-J-Djava.security.policy=cooja.policy"/> <arg value="cooja.html"/> <env key="LD_LIBRARY_PATH" value="."/> <env key="CLASSPATH" path="${build}"/> </exec> </target> <target name="java_version" depends="init"> <exec executable="javac" dir="${build}"> <arg value="-version"/> </exec> </target> <target name="jar_cooja" depends="init, compile, copy configs"> <mkdir dir="${dist}"/> <jar destfile="${dist}/cooja.jar" basedir="${build}"> <manifest> <attribute name="Main-Class" value="se.sics.cooja.GUI"/> <attribute name="Class-Path" value=". lib/log4j.jar lib/jdom.jar"/> </manifest> </jar> <mkdir dir="${dist}/lib"/> <copy todir="${dist}/lib"> <fileset dir="${lib}"/> </copy> </target> </project>