contiki/tools/cooja/build.xml
2012-03-09 14:58:04 +01:00

227 lines
7.8 KiB
XML

<?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"
includeantruntime="false">
<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="run64" 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="-d64 -XX:+ShowMessageBoxOnError"/>
<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}" includeantruntime="false">
<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>