1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-29 10:24:12 +01:00
Arduino/app/build.xml

106 lines
3.7 KiB
XML
Raw Normal View History

<?xml version="1.0"?>
<project name="Arduino PDE" default="build">
2012-12-04 13:38:02 +01:00
<target name="clean" description="Clean the build directories">
<delete dir="bin" />
<delete file="pde.jar" />
</target>
<target name="compile" description="Compile sources">
<condition property="core-built">
<available file="../core/core.jar" />
</condition>
<fail unless="core-built" message="Please build the core library first and make sure it sits in ../core/core.jar" />
<mkdir dir="bin" />
<!-- ant seems to nuke ${java.home} for some reason, pointing at the JRE
subfolder instead of the actual JDK found at JAVA_HOME.
To avoid this, we grab the actual JAVA_HOME environment variable
and use that to specify the location of tools.jar. -->
<!-- if someone is better with ant please help clean this up -->
<property environment="env" />
<property name="java_home" value="${env.JAVA_HOME}" />
<condition property="linux"><os family="unix" /></condition>
2012-12-04 13:38:02 +01:00
<fail if="linux" unless="java_home"
message="The JAVA_HOME variable must be set to the location of a full JDK. For instance, on Ubuntu Linux, this might be /usr/lib/jvm/java-6-sun." />
<condition property="windows"><os family="windows" /></condition>
2012-12-04 13:38:02 +01:00
<fail if="windows" unless="java_home"
message="The JAVA_HOME variable must be set to the location of a full JDK. For instance, on Windows, this might be c:\jdk1.6.0_18." />
<!--
<dirname property="blah" file="${java.home}" />
<echo message="here! ${java.home}/lib/tools.jar or there: ${blah}" />
<echo message="override ${env.JAVA_HOME}/lib/tools.jar" />
<fail />
-->
<javac source="1.5" target="1.5"
2012-12-04 13:38:02 +01:00
srcdir="src"
destdir="bin"
encoding="UTF-8"
includeAntRuntime="false"
debug="true"
2012-12-04 13:38:02 +01:00
classpath="../core/core.jar; ${env.JAVA_HOME}/lib/tools.jar; lib/apple.jar; lib/ecj.jar; lib/jna.jar; lib/RXTXcomm.jar" />
<copy todir="bin" overwrite="true" verbose="true">
<fileset dir="src" includes="**/*.properties" />
</copy>
</target>
2012-12-04 13:38:02 +01:00
<target name="test" description="Runs the test">
<mkdir dir="test-bin"/>
<javac source="1.5" target="1.5"
srcdir="test"
destdir="test-bin"
encoding="UTF-8"
includeAntRuntime="false"
debug="true">
<classpath>
<pathelement location="bin"/>
<pathelement location="../core/core.jar"/>
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
<pathelement location="lib/apple.jar"/>
<pathelement location="lib/ecj.jar"/>
<pathelement location="lib/jna.jar"/>
<pathelement location="lib/RXTXcomm.jar"/>
<pathelement location="test-lib/junit-4.11.jar"/>
</classpath>
</javac>
<copy todir="test-bin" overwrite="true" verbose="true">
<fileset dir="test" includes="**/*.zip" />
<fileset dir="test" includes="**/*.txt" />
</copy>
<junit printsummary="yes" haltonfailure="yes">
<classpath>
<pathelement location="bin"/>
<pathelement location="test-bin"/>
<pathelement location="../core/core.jar"/>
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
<pathelement location="lib/apple.jar"/>
<pathelement location="lib/ecj.jar"/>
<pathelement location="lib/jna.jar"/>
<pathelement location="lib/RXTXcomm.jar"/>
<pathelement location="test-lib/junit-4.11.jar"/>
</classpath>
<formatter type="plain"/>
<batchtest fork="yes" todir="test-bin">
<fileset dir="test">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="build" depends="compile,test" description="Build PDE">
<jar basedir="bin" destfile="pde.jar" />
</target>
</project>