mirror of
https://github.com/arduino/Arduino.git
synced 2025-01-26 15:52:14 +01:00
767867bacb
Fonts on Windows became ugly, reverting whole the commit since it brings no visible changes to Linux and OSX This reverts commit 6c5e58445402597f0472fbf4da9e518ff38b399b.
1058 lines
44 KiB
XML
1058 lines
44 KiB
XML
<?xml version="1.0"?>
|
|
<project name="Arduino" default="build">
|
|
<!--echo message="os.name = ${os.name}" /-->
|
|
<!--echo message="os.arch = ${os.arch}" /-->
|
|
<!--echo message="os.version = ${os.version}" /-->
|
|
|
|
<tstamp>
|
|
<format property="BUILD_DATE" pattern="yyyy/MM/dd hh:mm"/>
|
|
</tstamp>
|
|
|
|
<!-- Sets properties for macosx/windows/linux depending on current system -->
|
|
<condition property="platform" value="macosx-old">
|
|
<and>
|
|
<os family="mac" />
|
|
<matches string="${os.version}" pattern="^10.[56]." />
|
|
</and>
|
|
</condition>
|
|
<condition property="macosx-old"><equals arg1="${platform}" arg2="macosx-old" /></condition>
|
|
<fail if="macosx-old" message="MacOSX older than 10.7 are not supported"/>
|
|
|
|
<condition property="platform" value="macosx"><os family="mac" /></condition>
|
|
<condition property="platform" value="windows"><os family="windows" /></condition>
|
|
<condition property="platform" value="linux32"><os family="unix" arch="i386" /></condition>
|
|
<condition property="platform" value="linux64"><os family="unix" arch="amd64" /></condition>
|
|
|
|
<condition property="macosx"><equals arg1="${platform}" arg2="macosx" /></condition>
|
|
<condition property="windows"><equals arg1="${platform}" arg2="windows" /></condition>
|
|
<condition property="linux32"><equals arg1="${platform}" arg2="linux32" /></condition>
|
|
<condition property="linux64"><equals arg1="${platform}" arg2="linux64" /></condition>
|
|
<condition property="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
|
|
<condition property="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
|
|
|
|
<condition property="staging_folder" value="macosx"><equals arg1="${platform}" arg2="macosx" /></condition>
|
|
<condition property="staging_folder" value="windows"><equals arg1="${platform}" arg2="windows" /></condition>
|
|
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
|
|
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
|
|
|
|
<condition property="staging_hardware_folder" value="Arduino.app/Contents/Java/hardware"><equals arg1="${platform}" arg2="macosx" /></condition>
|
|
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="windows" /></condition>
|
|
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linux32" /></condition>
|
|
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linux64" /></condition>
|
|
|
|
<condition property="arch-bits" value="32">
|
|
<equals arg1="${platform}" arg2="linux32"/>
|
|
</condition>
|
|
<condition property="arch-bits" value="64">
|
|
<equals arg1="${platform}" arg2="linux64"/>
|
|
</condition>
|
|
|
|
<condition property="launch4j-download-unpack-target-name" value="launch4j-windows"><os family="windows" /></condition>
|
|
<property name="launch4j-download-unpack-target-name" value="launch4j-linux"/>
|
|
|
|
<property name="MACOSX_BUNDLED_JVM" value="${java.home}/../"/>
|
|
<property name="WINDOWS_BUNDLED_JVM" value="${java.home}"/>
|
|
<property name="LINUX32_BUNDLED_JVM" value="none"/>
|
|
<property name="LINUX64_BUNDLED_JVM" value="none"/>
|
|
<condition property="linux-bundle-jvm-task" value="noop">
|
|
<and>
|
|
<equals arg1="${LINUX32_BUNDLED_JVM}" arg2="none"/>
|
|
<equals arg1="${LINUX64_BUNDLED_JVM}" arg2="none"/>
|
|
</and>
|
|
</condition>
|
|
<condition property="linux-bundle-jvm-task" value="bundle">
|
|
<or>
|
|
<not>
|
|
<equals arg1="${LINUX32_BUNDLED_JVM}" arg2="none"/>
|
|
</not>
|
|
<not>
|
|
<equals arg1="${LINUX64_BUNDLED_JVM}" arg2="none"/>
|
|
</not>
|
|
</or>
|
|
</condition>
|
|
|
|
<property name="portable" value="false" />
|
|
|
|
<property name="ARDUINO-BUILDER-VERSION" value="1.3.9" />
|
|
|
|
<!-- Libraries required for running arduino -->
|
|
<fileset dir=".." id="runtime.jars">
|
|
<include name="arduino-core/arduino-core.jar" />
|
|
<include name="app/pde.jar" />
|
|
<include name="app/lib/*.jar" />
|
|
<include name="arduino-core/lib/*.jar" />
|
|
</fileset>
|
|
|
|
<target name="build" description="Build Arduino.">
|
|
<antcall target="${platform}-build" />
|
|
|
|
<antcall target="generate-hourly-build-txt"/>
|
|
</target>
|
|
|
|
<target name="run" description="Packs and runs Arduino">
|
|
<antcall target="${platform}-run" />
|
|
</target>
|
|
|
|
<target name="start" description="Starts Arduino">
|
|
<antcall target="${platform}-start" />
|
|
</target>
|
|
|
|
<target name="dist" depends="revision-check" description="Build Arduino for distribution.">
|
|
<input message="Enter version number:" addproperty="version" defaultvalue="${revision}"/>
|
|
<condition property="full-version" value="${version}-${platform}">
|
|
<not>
|
|
<equals arg1="${portable}" arg2="true"/>
|
|
</not>
|
|
</condition>
|
|
<condition property="full-version" value="${version}-${platform}-portable">
|
|
<equals arg1="${portable}" arg2="true"/>
|
|
</condition>
|
|
<antcall target="${platform}-dist">
|
|
<param name="full-version" value="${full-version}"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<!-- "§$§$&, ant doesn't have a built-in help target :( -->
|
|
<target name="help" description="Show project help">
|
|
<java classname="org.apache.tools.ant.Main">
|
|
<arg value="-p" />
|
|
</java>
|
|
</target>
|
|
|
|
<target name="test" depends="subprojects-test"/>
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - -->
|
|
<!-- Subprojects: Core, App, Libraries -->
|
|
<!-- - - - - - - - - - - - - - - - - - -->
|
|
|
|
<target name="subprojects-clean">
|
|
<subant buildpath="../arduino-core" target="clean"/>
|
|
<subant buildpath="../app" target="clean"/>
|
|
</target>
|
|
|
|
<target name="subprojects-build">
|
|
<subant buildpath="../arduino-core" target="build"/>
|
|
<subant buildpath="../app" target="build"/>
|
|
</target>
|
|
|
|
<target name="subprojects-test">
|
|
<subant buildpath="../app" target="test"/>
|
|
</target>
|
|
|
|
<!-- - - - - - - - - -->
|
|
<!-- Basic Assembly -->
|
|
<!-- - - - - - - - - -->
|
|
|
|
<target name="assemble">
|
|
<fail unless="target.path" message="Do not call assemble from the command line." />
|
|
|
|
<!-- copy shared tools folder -->
|
|
<copy todir="${target.path}/tools">
|
|
<fileset dir="shared/tools" />
|
|
</copy>
|
|
|
|
<copy file="shared/icons/48x48/apps/arduino.png" tofile="${target.path}/lib/arduino_small.png"/>
|
|
|
|
<antcall target="assemble-hardware" />
|
|
|
|
<!-- copy shared examples folder -->
|
|
<copy todir="${target.path}/examples">
|
|
<fileset dir="shared/examples" />
|
|
</copy>
|
|
|
|
<mkdir dir="${target.path}/reference"/>
|
|
|
|
<!-- Unzip documentation -->
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="shared/reference-1.6.6-3.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/reference-1.6.6-3.zip" />
|
|
<param name="final_folder" value="${target.path}/reference/www.arduino.cc" />
|
|
<param name="dest_folder" value="${target.path}/reference/" />
|
|
</antcall>
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="shared/Galileo_help_files-1.6.2.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/Galileo_help_files-1.6.2.zip" />
|
|
<param name="final_folder" value="${target.path}/reference/Galileo_help_files" />
|
|
<param name="dest_folder" value="${target.path}/reference/" />
|
|
</antcall>
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="shared/Edison_help_files-1.6.2.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/Edison_help_files-1.6.2.zip" />
|
|
<param name="final_folder" value="${target.path}/reference/Edison_help_files" />
|
|
<param name="dest_folder" value="${target.path}/reference/" />
|
|
</antcall>
|
|
|
|
<!-- Write the revision file! -->
|
|
<echo file="${target.path}/lib/version.txt" message="${version}" />
|
|
|
|
<antcall target="assemble-libraries" />
|
|
</target>
|
|
|
|
<!-- copy library folder -->
|
|
<target name="assemble-libraries" unless="light_bundle">
|
|
<copy todir="${target.path}/libraries">
|
|
<fileset dir="../libraries"/>
|
|
</copy>
|
|
|
|
<download-library name="Firmata" version="2.5.0" tag="2.5.0"/>
|
|
<download-library name="Bridge" version="1.6.0"/>
|
|
<download-library name="Robot_Control" version="1.0.2"/>
|
|
<download-library name="Robot_Motor" version="1.0.2"/>
|
|
<download-library name="RobotIRremote" version="1.0.2"/>
|
|
<download-library name="SpacebrewYun" version="1.0.0"/>
|
|
<download-library name="Temboo" version="1.1.4" githubuser="temboo"/>
|
|
<download-library name="Esplora" version="1.0.4"/>
|
|
<download-library name="Mouse" version="1.0.0"/>
|
|
<download-library name="Keyboard" version="1.0.0"/>
|
|
</target>
|
|
|
|
<macrodef name="download-library">
|
|
<attribute name="name"/>
|
|
<attribute name="version"/>
|
|
<attribute name="tag" default="@{version}"/>
|
|
<attribute name="githubuser" default="arduino-libraries"/>
|
|
<sequential>
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="@{name}-@{version}.zip"/>
|
|
<param name="archive_url" value="https://github.com/@{githubuser}/@{name}/archive/@{tag}.zip"/>
|
|
<param name="final_folder" value="${target.path}/libraries/@{name}-@{version}"/>
|
|
<param name="dest_folder" value="${target.path}/libraries"/>
|
|
</antcall>
|
|
<move file="${target.path}/libraries/@{name}-@{version}" tofile="${target.path}/libraries/@{name}"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<!-- copy hardware folder -->
|
|
<target name="assemble-hardware" unless="light_bundle">
|
|
<copy todir="${target.path}/hardware">
|
|
<fileset dir="../hardware">
|
|
<exclude name="arduino/sam/**"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- - - - - - - - - -->
|
|
<!-- Revision check -->
|
|
<!-- - - - - - - - - -->
|
|
<target name="revision-check">
|
|
<!-- figure out the revision number -->
|
|
<loadfile srcfile="shared/revisions.txt" property="revision">
|
|
<filterchain>
|
|
<ignoreblank />
|
|
<headfilter lines="1"/>
|
|
<tokenfilter>
|
|
<linetokenizer includeDelims="false" />
|
|
<!-- grab the thing from the first line that's 4 digits -->
|
|
<containsregex pattern="ARDUINO ([^ ]*)" />
|
|
<replaceregex pattern="ARDUINO ([^ ]*).*" replace="\1" />
|
|
</tokenfilter>
|
|
<tokenfilter>
|
|
<stringtokenizer suppressdelims="true" />
|
|
</tokenfilter>
|
|
</filterchain>
|
|
</loadfile>
|
|
<echo message="Latest revision detected in shared/revision.txt is: ${revision}" />
|
|
|
|
<!-- figure out the revision number in base.java -->
|
|
<loadfile srcfile="../arduino-core/src/processing/app/BaseNoGui.java"
|
|
property="revision.base">
|
|
<filterchain>
|
|
<tokenfilter>
|
|
<linetokenizer />
|
|
<containsregex pattern="String VERSION_NAME = "/>
|
|
<replaceregex pattern=".*"(.*)".*" flags="g" replace="\1"/>
|
|
</tokenfilter>
|
|
</filterchain>
|
|
</loadfile>
|
|
<echo message=" Revision in BaseNoGui.java is: ${revision.base}" />
|
|
</target>
|
|
|
|
<!-- - - - - - - - -->
|
|
<!-- Mac OS X -->
|
|
<!-- - - - - - - - -->
|
|
<target name="macosx-clean" depends="subprojects-clean" description="Clean Mac OS X build">
|
|
<delete dir="macosx/work" />
|
|
<delete dir="macosx/working_dir" />
|
|
<delete dir="macosx/working.dmg" />
|
|
<delete file="macosx/arduino-*.dmg" />
|
|
<delete>
|
|
<fileset dir="macosx" includes="arduino-*macosx*.zip"/>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="macosx-checkos" unless="macosx">
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Mac OS X can only be built on Mac OS X.
|
|
|
|
Bye.
|
|
=======================================================
|
|
</echo>
|
|
<fail message="wrong platform (${os.name})" />
|
|
</target>
|
|
|
|
<target name="macosx-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build" description="Build Mac OS X version">
|
|
<fail unless="MACOSX_BUNDLED_JVM" message="MacOSX requires MACOSX_BUNDLED_JVM property set"/>
|
|
<mkdir dir="${staging_folder}/work" />
|
|
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="${staging_folder}/appbundler-1.0ea-arduino4.jar.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/appbundler-1.0ea-arduino4.jar.zip" />
|
|
<param name="final_folder" value="${staging_folder}/appbundler-1.0ea-arduino4" />
|
|
<param name="dest_folder" value="${staging_folder}/appbundler-1.0ea-arduino4" />
|
|
</antcall>
|
|
|
|
<taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="${staging_folder}/appbundler-1.0ea-arduino4/appbundler-1.0ea-arduino4.jar"/>
|
|
|
|
<bundleapp
|
|
jvmRequired="1.8"
|
|
jrepreferred="true"
|
|
outputdirectory="${staging_folder}/work"
|
|
name="Arduino"
|
|
displayname="Arduino"
|
|
executablename="Arduino"
|
|
identifier="cc.arduino.Arduino"
|
|
shortversion="${version}"
|
|
version="${revision}"
|
|
signature="Pde1"
|
|
icon="macosx/processing.icns"
|
|
mainclassname="processing.app.Base"
|
|
copyright="Arduino LLC"
|
|
applicationCategory="public.app-category.education"
|
|
minimumsystemversion="10.7"
|
|
highresolutioncapable="true">
|
|
|
|
<runtime dir="${MACOSX_BUNDLED_JVM}"/>
|
|
|
|
<arch name="x86_64"/>
|
|
<arch name="i386"/>
|
|
|
|
<classpath refid="runtime.jars"/>
|
|
|
|
<option value="-Dapple.awt.application.name=Arduino"/>
|
|
<option value="-Dapple.laf.useScreenMenuBar=true"/>
|
|
<option value="-Dcom.apple.macos.use-file-dialog-packages=true"/>
|
|
<option value="-Dcom.apple.smallTabs=true"/>
|
|
<option value="-Dcom.apple.macos.useScreenMenuBar=true"/>
|
|
<option value="-DAPP_DIR=$APP_ROOT/Contents/Java"/>
|
|
<option value="-Djava.ext.dirs=$JVM_RUNTIME/Contents/Home/lib/ext/:$JVM_RUNTIME/Contents/Home/jre/lib/ext/"/>
|
|
|
|
<!--
|
|
<option value="-Dapple.awt.showGrowBox=false"/>
|
|
<option value="-Dapple.awt.Antialiasing=false"/>
|
|
<option value="-Dapple.awt.TextAntialiasing=true"/>
|
|
<option value="-Dcom.apple.hwaccel=true"/>
|
|
<option value="-Dapple.awt.graphics.UseQuartz=true"/>
|
|
-->
|
|
|
|
<!--<option value="-Dcom.apple.macos.useScreenMenuBar=true"/>-->
|
|
|
|
<!-- Workaround since the icon parameter for bundleapp doesn't work -->
|
|
<option value="-Xdock:name=Arduino"/>
|
|
<option value="-Dcom.apple.mrj.application.apple.menu.about.name=Arduino"/>
|
|
<option value="-Dfile.encoding=UTF-8"/>
|
|
|
|
<option value="-Xms128M"/>
|
|
<option value="-Xmx512M"/>
|
|
<option value="-splash:$APP_ROOT/Contents/Java/lib/splash.png"/>
|
|
|
|
<bundledocument extensions="ino,c,cpp,h"
|
|
icon="macosx/pde.icns"
|
|
name="Arduino Source File"
|
|
role="Editor" ispackage="false">
|
|
</bundledocument>
|
|
|
|
</bundleapp>
|
|
|
|
<mkdir dir="${staging_folder}/work/${staging_hardware_folder}" />
|
|
|
|
<copy todir="${staging_folder}/work/${staging_hardware_folder}/../">
|
|
<fileset dir="shared" includes="lib/**" />
|
|
<fileset file="shared/revisions.txt" />
|
|
</copy>
|
|
|
|
<mkdir dir="${staging_folder}/work" />
|
|
<mkdir dir="${staging_folder}/work/${staging_hardware_folder}" />
|
|
|
|
<antcall target="macosx-build-avr-toolchain" />
|
|
|
|
<antcall target="package-library-index-json-bundle"/>
|
|
|
|
<antcall target="assemble">
|
|
<param name="target.path" value="${staging_folder}/work/${staging_hardware_folder}/.." />
|
|
</antcall>
|
|
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="./libastylej-2.05.1.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/libastylej-2.05.1.zip" />
|
|
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
|
|
<param name="dest_folder" value="${staging_folder}" />
|
|
</antcall>
|
|
<copy file="macosx/libastylej-2.05.1/libastylej.jnilib" todir="macosx/work/${staging_hardware_folder}/../lib/" />
|
|
<chmod perm="755" file="macosx/work/${staging_hardware_folder}/../lib/libastylej.jnilib" />
|
|
<copy file="macosx/libastylej-2.05.1/libastylej.jnilib" tofile="macosx/work/${staging_hardware_folder}/../lib/libastylej.dylib" />
|
|
<chmod perm="755" file="macosx/work/${staging_hardware_folder}/../lib/libastylej.dylib" />
|
|
|
|
<delete dir="${staging_folder}/arduino-builder-macosx" includeemptydirs="true"/>
|
|
<mkdir dir="${staging_folder}/arduino-builder-macosx"/>
|
|
<antcall target="untar">
|
|
<param name="archive_file" value="./arduino-builder-macosx-${ARDUINO-BUILDER-VERSION}.tar.bz2" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/tools/arduino-builder-macosx-${ARDUINO-BUILDER-VERSION}.tar.bz2" />
|
|
<param name="final_folder" value="${staging_folder}/arduino-builder-macosx/arduino-builder" />
|
|
<param name="dest_folder" value="${staging_folder}/arduino-builder-macosx" />
|
|
</antcall>
|
|
<copy file="${staging_folder}/arduino-builder-macosx/arduino-builder" tofile="macosx/work/${staging_hardware_folder}/../arduino-builder" />
|
|
<chmod perm="755" file="macosx/work/${staging_hardware_folder}/../arduino-builder" />
|
|
<move file="${staging_folder}/arduino-builder-macosx/tools" tofile="macosx/work/${staging_hardware_folder}/../tools-builder"/>
|
|
<copy todir="macosx/work/${staging_hardware_folder}" overwrite="true">
|
|
<fileset dir="${staging_folder}/arduino-builder-macosx/hardware" includes="*.txt"/>
|
|
</copy>
|
|
<delete dir="${staging_folder}/arduino-builder-macosx" includeemptydirs="true"/>
|
|
|
|
<antcall target="portable-${portable}">
|
|
<param name="parentdir" value="macosx/work/${staging_hardware_folder}/.." />
|
|
</antcall>
|
|
</target>
|
|
|
|
<!-- Unzip AVR tools -->
|
|
<target name="macosx-build-avr-toolchain" unless="light_bundle">
|
|
<antcall target="avr-toolchain-bundle">
|
|
<param name="unpack_target" value="untar"/>
|
|
<param name="gcc_archive_file" value="avr-gcc-4.8.1-arduino5-i386-apple-darwin11.tar.bz2"/>
|
|
<param name="gcc_version" value="4.8.1-arduino5"/>
|
|
<param name="avrdude_archive_file" value="avrdude-6.0.1-arduino5-r2-i386-apple-darwin11.tar.bz2"/>
|
|
<param name="avrdude_version" value="6.0.1-arduino5"/>
|
|
</antcall>
|
|
|
|
<chmod perm="+x">
|
|
<fileset dir="${staging_folder}/work/${staging_hardware_folder}/tools" includes="**/bin/*"/>
|
|
<fileset dir="${staging_folder}/work/${staging_hardware_folder}/tools" includes="**/libexec/gcc/avr/4.8.1/*"/>
|
|
</chmod>
|
|
|
|
<!-- macosx gatekeeper workaround. See https://github.com/arduino/Arduino/issues/3468 -->
|
|
<chmod perm="-x">
|
|
<fileset dir="${staging_folder}/work/${staging_hardware_folder}/tools" includes="**/bin/avrdude_bin" />
|
|
</chmod>
|
|
</target>
|
|
|
|
<target name="macosx-run" depends="build,start"/>
|
|
|
|
<target name="macosx-start">
|
|
<exec executable="macosx/work/Arduino.app/Contents/MacOS/Arduino" spawn="false" failonerror="true"/>
|
|
</target>
|
|
|
|
<!-- - - - - - - - - - - - - - - - -->
|
|
<!-- Sign application for MacOSX. -->
|
|
<!-- - - - - - - - - - - - - - - - -->
|
|
<target name="macosx-signed-dist" if="macosx" depends="macosx-singed-dist-check, dist"
|
|
description="Create a downloadable and signed .zip for the Mac OS X version">
|
|
<fail unless="version" message="Please set the property 'version' to correctly sign distribution file" />
|
|
|
|
<!-- Remove everything from working folder -->
|
|
<delete dir="macosx/work/Arduino.app" />
|
|
|
|
<!-- Unzip unsigned app into working dir -->
|
|
<exec executable="unzip" dir="macosx/work" failonerror="true">
|
|
<arg line="../arduino-${version}-${platform}.zip" />
|
|
</exec>
|
|
|
|
<!-- Unlock keychain file -->
|
|
<exec executable="security" dir="macosx/work" failonerror="true">
|
|
<arg line="unlock-keychain -p "${macosx-sign-keychain-pass}" "${macosx-sign-keychain}"" />
|
|
</exec>
|
|
|
|
<!-- Sign app -->
|
|
<exec executable="codesign" dir="macosx/work" failonerror="true">
|
|
<arg line="--keychain "${macosx-sign-keychain}" --force -s "${macosx-sign-id}" --deep -v Arduino.app/" />
|
|
</exec>
|
|
|
|
<!-- Check for successful signing -->
|
|
<exec executable="codesign" dir="macosx/work" failonerror="true">
|
|
<arg line="-vvvv Arduino.app/" />
|
|
</exec>
|
|
|
|
<delete file="macosx/arduino-${version}-${platform}.zip" />
|
|
|
|
<!-- Create signed zip file -->
|
|
<exec executable="zip" dir="macosx/work" failonerror="true">
|
|
<arg line="-q -r ../arduino-${full-version}-signed.zip ." />
|
|
</exec>
|
|
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Mac OS X built and signed.
|
|
|
|
macosx/arduino-${full-version}-signed.zip
|
|
=======================================================
|
|
</echo>
|
|
</target>
|
|
|
|
<target name="macosx-singed-dist-check">
|
|
<fail unless="macosx-sign-keychain" message="Please set the property 'macosx-sign-keychain' to the correct keychain file" />
|
|
<fail unless="macosx-sign-keychain-pass" message="Please set the property 'macosx-sign-keychain-pass' with the password to unlock the keychain" />
|
|
<fail unless="macosx-sign-id" message="Please set the property 'macosx-sign-id' to the correct cert identifier" />
|
|
</target>
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - -->
|
|
<!-- Build distribution file for MacOSX. -->
|
|
<!-- - - - - - - - - - - - - - - - - - - -->
|
|
<target name="macosx-dist" if="macosx" depends="build" description="Create a downloadable .zip for the Mac OS X version">
|
|
<exec executable="zip" dir="macosx/work" failonerror="true">
|
|
<arg line="-q -r ../arduino-${full-version}.zip ." />
|
|
</exec>
|
|
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Mac OS X was built. Grab the image from
|
|
|
|
macosx/arduino-${full-version}.zip
|
|
=======================================================
|
|
</echo>
|
|
</target>
|
|
|
|
<!-- - - - - - - - -->
|
|
<!-- Linux -->
|
|
<!-- - - - - - - - -->
|
|
|
|
<target name="linux-clean" depends="subprojects-clean" description="Clean linux version">
|
|
<delete dir="linux/work" />
|
|
<delete>
|
|
<fileset dir="linux" includes="arduino-*linux*.tar.xz"/>
|
|
</delete>
|
|
<delete>
|
|
<fileset dir="linux" includes="arduino-*linux*.tar.xz"/>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="linux-checkos" unless="linux">
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Linux can only be built on unix systems.
|
|
|
|
Bye.
|
|
=======================================================
|
|
</echo>
|
|
|
|
<fail message="wrong platform (${os.name})" />
|
|
</target>
|
|
|
|
<target name="linux-build" depends="revision-check, linux-checkos, subprojects-build" description="Build linux version">
|
|
<mkdir dir="linux/work" />
|
|
<mkdir dir="linux/work/${staging_hardware_folder}" />
|
|
|
|
<copy todir="linux/work">
|
|
<fileset dir="shared" includes="lib/**" />
|
|
<fileset file="shared/revisions.txt" />
|
|
</copy>
|
|
|
|
<copy todir="linux/work">
|
|
<fileset dir="linux/dist" includes="lib/**" />
|
|
</copy>
|
|
|
|
<copy todir="linux/work/lib">
|
|
<fileset dir="shared" includes="icons/**/*.png" />
|
|
</copy>
|
|
|
|
<copy todir="linux/work/lib" flatten="true">
|
|
<fileset refid="runtime.jars" />
|
|
</copy>
|
|
|
|
<antcall target="assemble">
|
|
<param name="target.path" value="linux/work" />
|
|
</antcall>
|
|
|
|
<copy tofile="linux/work/lib/arduino-arduinoide.xml" file="linux/dist/mime.xml" />
|
|
<copy todir="linux/work/lib" file="linux/dist/desktop.template" />
|
|
|
|
<copy todir="linux/work" file="linux/dist/arduino" />
|
|
<copy todir="linux/work" file="linux/dist/install.sh" />
|
|
<copy todir="linux/work" file="linux/dist/uninstall.sh" />
|
|
|
|
<chmod perm="ugo+x">
|
|
<fileset dir="linux/work" includes="arduino" />
|
|
<fileset dir="linux/work" includes="**/*.sh" />
|
|
</chmod>
|
|
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="./libastylej-2.05.1.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/libastylej-2.05.1.zip" />
|
|
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
|
|
<param name="dest_folder" value="${staging_folder}" />
|
|
</antcall>
|
|
<copy file="linux/libastylej-2.05.1/libastylej${arch-bits}.so" tofile="linux/work/lib/libastylej.so" />
|
|
<chmod perm="755" file="linux/work/lib/libastylej.so" />
|
|
|
|
<antcall target="portable-${portable}">
|
|
<param name="parentdir" value="linux/work" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="linux32-build" depends="linux-build" description="Build linux (32-bit) version">
|
|
<antcall target="linux-jvm-${linux-bundle-jvm-task}">
|
|
<param name="JVM" value="${LINUX32_BUNDLED_JVM}"/>
|
|
</antcall>
|
|
|
|
<delete dir="${staging_folder}/arduino-builder-linux32" includeemptydirs="true"/>
|
|
<mkdir dir="${staging_folder}/arduino-builder-linux32"/>
|
|
<antcall target="untar">
|
|
<param name="archive_file" value="./arduino-builder-linux32-${ARDUINO-BUILDER-VERSION}.tar.bz2" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/tools/arduino-builder-linux32-${ARDUINO-BUILDER-VERSION}.tar.bz2" />
|
|
<param name="final_folder" value="${staging_folder}/arduino-builder-linux32/arduino-builder" />
|
|
<param name="dest_folder" value="${staging_folder}/arduino-builder-linux32" />
|
|
</antcall>
|
|
<copy file="${staging_folder}/arduino-builder-linux32/arduino-builder" tofile="linux/work/arduino-builder" />
|
|
<chmod perm="755" file="linux/work/arduino-builder" />
|
|
<move file="${staging_folder}/arduino-builder-linux32/tools" tofile="linux/work/tools-builder"/>
|
|
<copy todir="linux/work/hardware" overwrite="true">
|
|
<fileset dir="${staging_folder}/arduino-builder-linux32/hardware" includes="*.txt"/>
|
|
</copy>
|
|
<delete dir="${staging_folder}/arduino-builder-linux32" includeemptydirs="true"/>
|
|
|
|
<antcall target="avr-toolchain-bundle">
|
|
<param name="unpack_target" value="untar"/>
|
|
<param name="gcc_archive_file" value="avr-gcc-4.8.1-arduino5-i686-pc-linux-gnu.tar.bz2"/>
|
|
<param name="gcc_version" value="4.8.1-arduino5"/>
|
|
<param name="avrdude_archive_file" value="avrdude-6.0.1-arduino5-i686-pc-linux-gnu.tar.bz2"/>
|
|
<param name="avrdude_version" value="6.0.1-arduino5"/>
|
|
</antcall>
|
|
|
|
<antcall target="package-library-index-json-bundle"/>
|
|
</target>
|
|
|
|
<target name="linux64-build" depends="linux-build" description="Build linux (64-bit) version">
|
|
<antcall target="linux-jvm-${linux-bundle-jvm-task}">
|
|
<param name="JVM" value="${LINUX64_BUNDLED_JVM}"/>
|
|
</antcall>
|
|
|
|
<delete dir="${staging_folder}/arduino-builder-linux64" includeemptydirs="true"/>
|
|
<mkdir dir="${staging_folder}/arduino-builder-linux64"/>
|
|
<antcall target="untar">
|
|
<param name="archive_file" value="./arduino-builder-linux64-${ARDUINO-BUILDER-VERSION}.tar.bz2" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/tools/arduino-builder-linux64-${ARDUINO-BUILDER-VERSION}.tar.bz2" />
|
|
<param name="final_folder" value="${staging_folder}/arduino-builder-linux64/arduino-builder" />
|
|
<param name="dest_folder" value="${staging_folder}/arduino-builder-linux64" />
|
|
</antcall>
|
|
<copy file="${staging_folder}/arduino-builder-linux64/arduino-builder" tofile="linux/work/arduino-builder" />
|
|
<chmod perm="755" file="linux/work/arduino-builder" />
|
|
<move file="${staging_folder}/arduino-builder-linux64/tools" tofile="linux/work/tools-builder"/>
|
|
<copy todir="linux/work/hardware" overwrite="true">
|
|
<fileset dir="${staging_folder}/arduino-builder-linux64/hardware" includes="*.txt"/>
|
|
</copy>
|
|
<delete dir="${staging_folder}/arduino-builder-linux64" includeemptydirs="true"/>
|
|
|
|
<antcall target="avr-toolchain-bundle">
|
|
<param name="unpack_target" value="untar"/>
|
|
<param name="gcc_archive_file" value="avr-gcc-4.8.1-arduino5-x86_64-pc-linux-gnu.tar.bz2"/>
|
|
<param name="gcc_version" value="4.8.1-arduino5"/>
|
|
<param name="avrdude_archive_file" value="avrdude-6.0.1-arduino5-x86_64-pc-linux-gnu.tar.bz2"/>
|
|
<param name="avrdude_version" value="6.0.1-arduino5"/>
|
|
</antcall>
|
|
|
|
<antcall target="package-library-index-json-bundle"/>
|
|
</target>
|
|
|
|
<target name="linux-jvm-noop"/>
|
|
|
|
<target name="linux-jvm-bundle">
|
|
<mkdir dir="${staging_folder}/work/java" />
|
|
|
|
<exec executable="rsync">
|
|
<arg value="-a"/>
|
|
<arg value="${JVM}"/>
|
|
<arg value="${staging_folder}/work/java/"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="linux32-run" depends="build,start"/>
|
|
|
|
<target name="linux64-run" depends="build,start"/>
|
|
|
|
<target name="linux32-start">
|
|
<exec executable="./linux/work/arduino" spawn="false" failonerror="true"/>
|
|
</target>
|
|
|
|
<target name="linux64-start">
|
|
<exec executable="./linux/work/arduino" spawn="false" failonerror="true"/>
|
|
</target>
|
|
|
|
<!-- Set '${dist_file}_available' property if toolchain dist_file is downloaded -->
|
|
<!-- Set '${dist_file}_installed' property if toolchain is installed in working directory -->
|
|
<!-- hardware/tools/${dist_check_file} is checked for existence -->
|
|
<target name="untar-unzip-check">
|
|
<available file="${archive_file}" property="${archive_file}_available" />
|
|
<available file="${final_folder}" property="${archive_file}_installed" />
|
|
</target>
|
|
|
|
<!-- Retrieve tool -->
|
|
<target name="untar-unzip-download" depends="untar-unzip-check" unless="${archive_file}_available">
|
|
<get src="${archive_url}" dest="${archive_file}" verbose="true" ignoreerrors="true" />
|
|
</target>
|
|
|
|
<target name="untar-unzip-checksum" depends="untar-unzip-download">
|
|
<echo>Testing checksum of "${archive_file}"</echo>
|
|
<checksum file="${archive_file}" algorithm="sha" fileext=".sha" verifyproperty="checksum.matches"/>
|
|
<condition property="checksum.matches.fail">
|
|
<equals arg1="${checksum.matches}" arg2="false"/>
|
|
</condition>
|
|
<fail if="checksum.matches.fail">Checksum failed.
|
|
|
|
File ${archive_file} failed checksum.
|
|
Please remove "${archive_file}" to download it again.
|
|
</fail>
|
|
</target>
|
|
|
|
<!-- Ensure that the tool is downloaded and test checksums, if everything's ok unzip it on the tools folder -->
|
|
<target name="untar" depends="untar-unzip-checksum" unless="${archive_file}_installed">
|
|
<echo>Untarring ${archive_file} into folder ${dest_folder}</echo>
|
|
<exec executable="tar" failonerror="true">
|
|
<arg value="xf"/>
|
|
<arg value="${archive_file}"/>
|
|
<arg value="--directory=${dest_folder}"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="unzip" depends="untar-unzip-checksum" unless="${archive_file}_installed">
|
|
<echo>Unzipping ${archive_file} into folder ${dest_folder}</echo>
|
|
<mkdir dir="${dest_folder}" />
|
|
<exec executable="unzip" failonerror="true">
|
|
<arg value="-q" />
|
|
<arg value="-n" />
|
|
<arg value="-d" />
|
|
<arg value="${dest_folder}" />
|
|
<arg value="${archive_file}" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="unzip-with-ant-task" depends="untar-unzip-checksum" unless="${archive_file}_installed">
|
|
<echo>Unzipping ${archive_file} into folder ${dest_folder}</echo>
|
|
<mkdir dir="${dest_folder}" />
|
|
<unzip src="${archive_file}" dest="${dest_folder}"/>
|
|
</target>
|
|
|
|
<target name="linux-dist" depends="build"
|
|
description="Build .tar.xz of linux version">
|
|
|
|
<move file="linux/work" tofile="linux/arduino-${version}" />
|
|
|
|
<exec executable="tar" dir="linux" failonerror="true">
|
|
<arg value="--lzma"/>
|
|
<arg value="-c"/>
|
|
<arg value="-f"/>
|
|
<arg value="arduino-${full-version}.tar.xz"/>
|
|
<arg value="arduino-${version}"/>
|
|
</exec>
|
|
|
|
<move file="linux/arduino-${version}" tofile="linux/work" />
|
|
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Linux was built. Grab the archive from
|
|
|
|
linux/arduino-${full-version}.tar.xz
|
|
=======================================================
|
|
</echo>
|
|
</target>
|
|
|
|
<target name="linux32-dist" depends="linux-dist"
|
|
description="Build .tar.xz of linux version" />
|
|
|
|
<target name="linux64-dist" depends="linux-dist"
|
|
description="Build .tar.xz of linux version" />
|
|
|
|
<!-- - - - - - - - -->
|
|
<!-- Windows -->
|
|
<!-- - - - - - - - -->
|
|
|
|
<target name="windows-clean" depends="subprojects-clean"
|
|
description="Clean windows version">
|
|
<delete dir="windows/work" />
|
|
<delete>
|
|
<fileset dir="windows" includes="arduino-*windows*.zip"/>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="windows-checkos" unless="windows">
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Windows can only be built on windows.
|
|
|
|
Bye.
|
|
=======================================================
|
|
</echo>
|
|
|
|
<fail message="wrong platform (${os.name})" />
|
|
</target>
|
|
|
|
<target name="download-launch4j-windows">
|
|
<antcall target="unzip-with-ant-task">
|
|
<param name="archive_file" value="windows/launch4j-3.8-win32.zip"/>
|
|
<param name="archive_url" value="http://downloads.sourceforge.net/project/launch4j/launch4j-3/3.8/launch4j-3.8-win32.zip"/>
|
|
<param name="final_folder" value="windows/launcher/launch4j"/>
|
|
<param name="dest_folder" value="windows/launcher/"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="download-launch4j-linux">
|
|
<antcall target="untar">
|
|
<param name="archive_file" value="windows/launch4j-3.8-linux.tgz"/>
|
|
<param name="archive_url" value="http://downloads.sourceforge.net/project/launch4j/launch4j-3/3.8/launch4j-3.8-linux.tgz"/>
|
|
<param name="final_folder" value="windows/launcher/launch4j"/>
|
|
<param name="dest_folder" value="windows/launcher/"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="windows-build"
|
|
depends="revision-check, windows-checkos, subprojects-build"
|
|
description="Build windows version">
|
|
<mkdir dir="windows/work" />
|
|
<mkdir dir="windows/work/${staging_hardware_folder}" />
|
|
|
|
<copy todir="windows/work/lib">
|
|
<fileset dir="shared" includes="icons/**/*.png"/>
|
|
</copy>
|
|
|
|
<!-- assemble the pde -->
|
|
<mkdir dir="windows/work/lib" />
|
|
<copy todir="windows/work/lib" flatten="true">
|
|
<fileset refid="runtime.jars" />
|
|
</copy>
|
|
|
|
<copy todir="windows/work">
|
|
<fileset dir="shared" includes="lib/**" />
|
|
<fileset file="shared/revisions.txt" />
|
|
</copy>
|
|
|
|
<fixcrlf file="windows/work/revisions.txt" eol="dos"/>
|
|
<fixcrlf file="windows/work/lib/formatter.conf" eol="dos"/>
|
|
|
|
<copy todir="windows/work">
|
|
<fileset dir="windows/dist" includes="*.dll" />
|
|
</copy>
|
|
|
|
<copy todir="windows/work">
|
|
<fileset dir="windows/dist" includes="drivers/**" />
|
|
</copy>
|
|
|
|
<antcall target="windows-build-avr-toolchain" />
|
|
|
|
<antcall target="unzip">
|
|
<param name="archive_file" value="./libastylej-2.05.1.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/libastylej-2.05.1.zip" />
|
|
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
|
|
<param name="dest_folder" value="${staging_folder}" />
|
|
</antcall>
|
|
<copy file="windows/libastylej-2.05.1/AStylej.dll" todir="windows/work/lib" />
|
|
<copy file="windows/msvcp100.dll" todir="windows/work" />
|
|
<copy file="windows/msvcr100.dll" todir="windows/work" />
|
|
|
|
<!-- Copy listComPort.exe tool -->
|
|
<copy todir="windows/work/hardware/tools">
|
|
<fileset file="windows/listComPorts.exe" />
|
|
</copy>
|
|
<chmod perm="755">
|
|
<fileset file="windows/work/hardware/tools/listComPorts.exe" />
|
|
</chmod>
|
|
|
|
<delete dir="${staging_folder}/arduino-builder-windows" includeemptydirs="true"/>
|
|
<mkdir dir="${staging_folder}/arduino-builder-windows"/>
|
|
<antcall target="unzip-with-ant-task">
|
|
<param name="archive_file" value="./arduino-builder-windows-${ARDUINO-BUILDER-VERSION}.zip" />
|
|
<param name="archive_url" value="http://downloads.arduino.cc/tools/arduino-builder-windows-${ARDUINO-BUILDER-VERSION}.zip" />
|
|
<param name="final_folder" value="${staging_folder}/arduino-builder-windows/arduino-builder.exe" />
|
|
<param name="dest_folder" value="${staging_folder}/arduino-builder-windows" />
|
|
</antcall>
|
|
<copy file="${staging_folder}/arduino-builder-windows/arduino-builder.exe" tofile="windows/work/arduino-builder.exe" />
|
|
<chmod perm="755" file="windows/work/arduino-builder.exe" />
|
|
<move file="${staging_folder}/arduino-builder-windows/tools" tofile="windows/work/tools-builder"/>
|
|
<chmod perm="755" file="windows/work/tools-builder/ctags/5.8-arduino5/ctags.exe" />
|
|
<copy todir="windows/work/hardware" overwrite="true">
|
|
<fileset dir="${staging_folder}/arduino-builder-windows/hardware" includes="*.txt"/>
|
|
</copy>
|
|
<delete dir="${staging_folder}/arduino-builder-windows" includeemptydirs="true"/>
|
|
|
|
<antcall target="assemble">
|
|
<param name="target.path" value="windows/work" />
|
|
</antcall>
|
|
|
|
<delete dir="windows/launcher/launch4j"/>
|
|
<antcall target="download-${launch4j-download-unpack-target-name}" />
|
|
|
|
<property name="launch4j.dir" value="windows/launcher/launch4j/" />
|
|
<taskdef name="launch4j"
|
|
classname="net.sf.launch4j.ant.Launch4jTask"
|
|
classpath="${launch4j.dir}/launch4j.jar; ${launch4j.dir}/lib/xstream.jar" />
|
|
|
|
<copy todir="windows/work">
|
|
<fileset dir="windows/launcher"
|
|
includes="application.ico, config.xml, config_debug.xml, arduino.l4j.ini"/>
|
|
</copy>
|
|
<launch4j configFile="windows/work/config.xml" fileVersion="${revision}.0" txtFileVersion="${revision}" productVersion="${revision}.0" txtProductVersion="${revision}"/>
|
|
<launch4j configFile="windows/work/config_debug.xml" fileVersion="${revision}.0" txtFileVersion="${revision}" productVersion="${revision}.0" txtProductVersion="${revision}"/>
|
|
<delete dir="windows/work" includes="application.ico, config.xml, config_debug.xml" />
|
|
<copy file="windows/work/arduino.l4j.ini" tofile="windows/work/arduino_debug.l4j.ini" />
|
|
|
|
<!-- cygwin requires html, dll, and exe to have the +x flag -->
|
|
<chmod perm="755">
|
|
<fileset dir="windows/work" includes="**/*.html, **/*.dll, **/*.exe" />
|
|
</chmod>
|
|
|
|
<!-- For JVM within JDK, release file is in parent directory -->
|
|
<property file="${WINDOWS_BUNDLED_JVM}/release" prefix="windows"/>
|
|
<property file="${WINDOWS_BUNDLED_JVM}/../release" prefix="windows"/>
|
|
|
|
<fail message="It looks like ${WINDOWS_BUNDLED_JVM} does not contain a Windows JVM">
|
|
<condition>
|
|
<not>
|
|
<equals arg1="${windows.OS_NAME}" arg2=""Windows""/>
|
|
</not>
|
|
</condition>
|
|
</fail>
|
|
|
|
<copy todir="${staging_folder}/work/java" includeemptydirs="true" preservelastmodified="true" overwrite="true" failonerror="true">
|
|
<fileset dir="${WINDOWS_BUNDLED_JVM}" includes="*/**"/>
|
|
</copy>
|
|
|
|
<antcall target="portable-${portable}">
|
|
<param name="parentdir" value="${staging_folder}/work" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="windows-build-avr-toolchain">
|
|
<antcall target="avr-toolchain-bundle">
|
|
<param name="unpack_target" value="unzip"/>
|
|
<param name="gcc_archive_file" value="avr-gcc-4.8.1-arduino5-i686-mingw32.zip"/>
|
|
<param name="gcc_version" value="4.8.1-arduino5"/>
|
|
<param name="avrdude_archive_file" value="avrdude-6.0.1-arduino5-i686-mingw32.zip"/>
|
|
<param name="avrdude_version" value="6.0.1-arduino5"/>
|
|
</antcall>
|
|
|
|
<antcall target="package-library-index-json-bundle"/>
|
|
</target>
|
|
|
|
<target name="windows-run" depends="build,start"/>
|
|
|
|
<target name="windows-start">
|
|
<exec executable="windows/work/arduino.exe" dir="windows/work" spawn="false" failonerror="true"/>
|
|
</target>
|
|
|
|
<target name="windows-dist" depends="build" description="Create .zip files of windows version">
|
|
<zip destfile="windows/arduino-${full-version}.zip" level="9">
|
|
<zipfileset dir="windows/work" prefix="arduino-${version}"/>
|
|
</zip>
|
|
|
|
<echo>
|
|
=======================================================
|
|
Arduino for Windows was built. Grab the archive from
|
|
|
|
windows/arduino-${full-version}.zip
|
|
=======================================================
|
|
</echo>
|
|
</target>
|
|
|
|
|
|
<!-- - - - - - - - -->
|
|
<!-- Source -->
|
|
<!-- - - - - - - - -->
|
|
|
|
<target name="source-dist" depends="revision-check"
|
|
description="Build .tar.gz of source code">
|
|
<input message="Enter version number:"
|
|
addproperty="version"
|
|
defaultvalue="${revision}" />
|
|
|
|
<tar compression="gzip" destfile="arduino-${version}-src.tar.gz">
|
|
<tarfileset dir="../"
|
|
prefix="arduino-${version}"
|
|
excludes="**/*.tgz,
|
|
**/*.bz2,
|
|
**/build/macosx/,
|
|
**/build/windows/,
|
|
**/work/,
|
|
**/.git/,
|
|
**/*.class"
|
|
/>
|
|
</tar>
|
|
|
|
<echo>
|
|
=======================================================
|
|
Arduino source distribution was built. Grab the archive from
|
|
|
|
arduino-${version}-src.tar.gz
|
|
=======================================================
|
|
</echo>
|
|
</target>
|
|
|
|
|
|
<!-- - - - - - - - -->
|
|
<!-- Run It! -->
|
|
<!-- - - - - - - - -->
|
|
|
|
<target name="clean" description="Perform a spring cleaning"
|
|
depends="linux-clean, windows-clean, macosx-clean, subprojects-clean">
|
|
</target>
|
|
|
|
<target name="avr-toolchain-bundle" unless="light_bundle">
|
|
<!-- Unzip AVR tools -->
|
|
<mkdir dir="${staging_folder}/work/${staging_hardware_folder}/tmp/gcc"/>
|
|
|
|
<antcall target="${unpack_target}">
|
|
<param name="archive_file" value="${staging_folder}/${gcc_archive_file}"/>
|
|
<param name="archive_url" value="http://downloads.arduino.cc/tools/${gcc_archive_file}"/>
|
|
<param name="final_folder" value="${staging_folder}/work/${staging_hardware_folder}/tmp/gcc/${gcc_version}/"/>
|
|
<param name="dest_folder" value="${staging_folder}/work/${staging_hardware_folder}/tmp/gcc/"/>
|
|
</antcall>
|
|
|
|
<mkdir dir="${staging_folder}/work/${staging_hardware_folder}/tmp/avrdude"/>
|
|
|
|
<antcall target="${unpack_target}">
|
|
<param name="archive_file" value="${staging_folder}/${avrdude_archive_file}"/>
|
|
<param name="archive_url" value="http://downloads.arduino.cc/tools/${avrdude_archive_file}"/>
|
|
<param name="final_folder" value="${staging_folder}/work/${staging_hardware_folder}/tmp/avrdude/${avrdude_version}"/>
|
|
<param name="dest_folder" value="${staging_folder}/work/${staging_hardware_folder}/tmp/avrdude/"/>
|
|
</antcall>
|
|
|
|
<move file="${staging_folder}/work/${staging_hardware_folder}/tmp/gcc/avr" tofile="${staging_folder}/work/${staging_hardware_folder}/tools/avr"/>
|
|
<move file="${staging_folder}/work/${staging_hardware_folder}/tmp/avrdude/avrdude-6.0.1" tofile="${staging_folder}/work/${staging_hardware_folder}/tools/avr"/>
|
|
<antcall target="macosx-fix-bundled-toolchain-missing-symlinks"/>
|
|
|
|
<echo append="true" file="${staging_folder}/work/${staging_hardware_folder}/tools/avr/builtin_tools_versions.txt" message="arduino.avrdude=${avrdude_version}${line.separator}"/>
|
|
<echo append="true" file="${staging_folder}/work/${staging_hardware_folder}/tools/avr/builtin_tools_versions.txt" message="arduino.avr-gcc=${gcc_version}${line.separator}"/>
|
|
</target>
|
|
|
|
<target name="package-library-index-json-bundle">
|
|
<mkdir dir="${staging_folder}/work/${staging_hardware_folder}/../dist/"/>
|
|
|
|
<get src="http://downloads.arduino.cc/packages/package_index.json.gz" dest="${staging_folder}/work/${staging_hardware_folder}/../dist/" verbose="true" skipexisting="false" />
|
|
<gunzip src="${staging_folder}/work/${staging_hardware_folder}/../dist/package_index.json.gz" dest="${staging_folder}/work/${staging_hardware_folder}/../dist/"/>
|
|
<delete file="${staging_folder}/work/${staging_hardware_folder}/../dist/package_index.json.gz"/>
|
|
|
|
<get src="http://downloads.arduino.cc/packages/package_index.json.sig" dest="${staging_folder}/work/${staging_hardware_folder}/../dist/" verbose="true" skipexisting="false" />
|
|
|
|
<get src="http://downloads.arduino.cc/libraries/library_index.json.gz" dest="${staging_folder}/work/${staging_hardware_folder}/../dist/" verbose="true" skipexisting="false" />
|
|
<gunzip src="${staging_folder}/work/${staging_hardware_folder}/../dist/library_index.json.gz" dest="${staging_folder}/work/${staging_hardware_folder}/../dist/"/>
|
|
<delete file="${staging_folder}/work/${staging_hardware_folder}/../dist/library_index.json.gz"/>
|
|
|
|
<delete dir="${staging_folder}/work/${staging_hardware_folder}/tmp"/>
|
|
</target>
|
|
|
|
<target name="macosx-fix-bundled-toolchain-missing-symlinks" if="macosx">
|
|
<exec executable="mv" failonerror="true">
|
|
<arg value="${staging_folder}/work/${staging_hardware_folder}/tmp/avrdude/avrdude-6.0.1/lib/libusb.dylib"/>
|
|
<arg value="${staging_folder}/work/${staging_hardware_folder}/tools/avr/lib/"/>
|
|
</exec>
|
|
<exec executable="mv" failonerror="true">
|
|
<arg value="${staging_folder}/work/${staging_hardware_folder}/tmp/avrdude/avrdude-6.0.1/lib/libusb-1.0.dylib"/>
|
|
<arg value="${staging_folder}/work/${staging_hardware_folder}/tools/avr/lib/"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="generate-hourly-build-txt" if="hourly">
|
|
<echo file="${staging_folder}/work/${staging_hardware_folder}/../lib/hourlyBuild.txt">${BUILD_DATE}</echo>
|
|
</target>
|
|
|
|
<target name="portable-true">
|
|
<mkdir dir="${parentdir}/portable"/>
|
|
</target>
|
|
<target name="portable-false"/>
|
|
</project>
|