Skip to content

Commit b48e07c

Browse files
author
Federico Fissore
committed
MacOSX: switching to bundled JVM (1.8), deprecating java 6
1 parent f183966 commit b48e07c

File tree

2 files changed

+74
-73
lines changed

2 files changed

+74
-73
lines changed

build/build.xml

+74-71
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,33 @@
55
<!--echo message="os.version = ${os.version}" /-->
66

77
<!-- Sets properties for macosx/windows/linux depending on current system -->
8-
<condition property="platform" value="macosx">
8+
<condition property="platform" value="macosx-old">
99
<and>
1010
<os family="mac" />
1111
<matches string="${os.version}" pattern="^10.[56]." />
1212
</and>
1313
</condition>
14-
<condition property="platform" value="macosx-java-latest"><os family="mac" /></condition>
14+
<condition property="platform" value="macosx"><os family="mac" /></condition>
1515
<condition property="platform" value="windows"><os family="windows" /></condition>
1616
<condition property="platform" value="linux32"><os family="unix" arch="i386" /></condition>
1717
<condition property="platform" value="linux64"><os family="unix" arch="amd64" /></condition>
1818

19+
<condition property="macosx"><equals arg1="${platform}" arg2="macosx-old" /></condition>
1920
<condition property="macosx"><equals arg1="${platform}" arg2="macosx" /></condition>
20-
<condition property="macosx"><equals arg1="${platform}" arg2="macosx-java-latest" /></condition>
21-
<condition property="macosx-java-latest"><equals arg1="${platform}" arg2="macosx-java-latest" /></condition>
2221
<condition property="windows"><equals arg1="${platform}" arg2="windows" /></condition>
2322
<condition property="linux32"><equals arg1="${platform}" arg2="linux32" /></condition>
2423
<condition property="linux64"><equals arg1="${platform}" arg2="linux64" /></condition>
2524
<condition property="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
2625
<condition property="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
2726

28-
<condition property="staging_folder" value="macosx"><equals arg1="${platform}" arg2="macosx-java-latest" /></condition>
2927
<condition property="staging_folder" value="macosx"><equals arg1="${platform}" arg2="macosx" /></condition>
28+
<condition property="staging_folder" value="macosx"><equals arg1="${platform}" arg2="macosx-old" /></condition>
3029
<condition property="staging_folder" value="windows"><equals arg1="${platform}" arg2="windows" /></condition>
3130
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
3231
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
3332

34-
<condition property="staging_hardware_folder" value="Arduino.app/Contents/Java/hardware"><equals arg1="${platform}" arg2="macosx-java-latest" /></condition>
35-
<condition property="staging_hardware_folder" value="Arduino.app/Contents/Resources/Java/hardware"><equals arg1="${platform}" arg2="macosx" /></condition>
33+
<condition property="staging_hardware_folder" value="Arduino.app/Contents/Java/hardware"><equals arg1="${platform}" arg2="macosx" /></condition>
34+
<condition property="staging_hardware_folder" value="Arduino.app/Contents/Resources/Java/hardware"><equals arg1="${platform}" arg2="macosx-old" /></condition>
3635
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="windows" /></condition>
3736
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linux32" /></condition>
3837
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linux64" /></condition>
@@ -195,9 +194,9 @@
195194
<!-- Mac OS X -->
196195
<!-- - - - - - - - -->
197196

198-
<target name="macosx-java-latest-clean" depends="macosx-clean" description="Clean Mac OS X build"/>
197+
<target name="macosx-clean" depends="macosx-old-clean" description="Clean Mac OS X build"/>
199198

200-
<target name="macosx-clean" depends="subprojects-clean" description="Clean Mac OS X build">
199+
<target name="macosx-old-clean" depends="subprojects-clean" description="Clean Mac OS X build">
201200
<delete dir="macosx/work" />
202201
<delete dir="macosx/working_dir" />
203202
<delete dir="macosx/working.dmg" />
@@ -218,7 +217,7 @@
218217
<fail message="wrong platform (${os.name})" />
219218
</target>
220219

221-
<target name="macosx-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build" description="Build Mac OS X version">
220+
<target name="macosx-old-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build" description="Build Mac OS X version">
222221
<mkdir dir="macosx/work" />
223222

224223
<!-- assemble the pde -->
@@ -246,7 +245,9 @@
246245

247246
</target>
248247

249-
<target name="macosx-java-latest-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build" description="Build Mac OS X version">
248+
<target name="macosx-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build" description="Build Mac OS X version">
249+
<fail unless="MACOSX_BUNDLED_JVM" message="MacOSX requires MACOSX_BUNDLED_JVM property set"/>
250+
250251
<antcall target="unzip">
251252
<param name="archive_file" value="${staging_folder}/appbundler-1.0ea-upstream1.jar.zip" />
252253
<param name="archive_url" value="http://arduino.cc/download.php?f=/appbundler-1.0ea-upstream1.jar.zip" />
@@ -259,7 +260,7 @@
259260
<taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="${staging_folder}/appbundler-1.0ea-upstream1/appbundler-1.0ea-upstream1.jar"/>
260261

261262
<bundleapp
262-
jvmRequired="1.7"
263+
jvmRequired="1.8"
263264
outputdirectory="${staging_folder}/work"
264265
name="Arduino"
265266
displayname="Arduino"
@@ -274,6 +275,8 @@
274275
minimumsystemversion="10.7"
275276
highresolutioncapable="true">
276277

278+
<runtime dir="${MACOSX_BUNDLED_JVM}"/>
279+
277280
<arch name="x86_64"/>
278281
<arch name="i386"/>
279282

@@ -374,19 +377,19 @@
374377

375378
</target>
376379

377-
<target name="macosx-run" depends="macosx-build" description="Run Mac OS X version">
380+
<target name="macosx-old-run" depends="macosx-old-build" description="Run Mac OS X version">
378381
<antcall target="macosx-run-common"/>
379382
</target>
380383

381-
<target name="macosx-java-latest-run" depends="macosx-java-latest-build" description="Run Mac OS X version">
384+
<target name="macosx-run" depends="macosx-build" description="Run Mac OS X version">
382385
<antcall target="macosx-run-common"/>
383386
</target>
384387

385-
<target name="macosx-debug" depends="macosx-build" description="Run Mac OS X version">
388+
<target name="macosx-old-debug" depends="macosx-old-build" description="Run Mac OS X version">
386389
<antcall target="macosx-debug-common"/>
387390
</target>
388391

389-
<target name="macosx-java-latest-debug" depends="macosx-java-latest-build" description="Run Mac OS X version">
392+
<target name="macosx-debug" depends="macosx-build" description="Run Mac OS X version">
390393
<antcall target="macosx-debug-common"/>
391394
</target>
392395

@@ -457,11 +460,11 @@
457460
<!-- - - - - - - - - - - - - - - - - - - -->
458461
<!-- Build distribution file for MacOSX. -->
459462
<!-- - - - - - - - - - - - - - - - - - - -->
460-
<target name="macosx-dist" if="macosx" depends="macosx-build" description="Create a downloadable .zip for the Mac OS X version">
463+
<target name="macosx-old-dist" if="macosx" depends="macosx-old-build" description="Create a downloadable .zip for the Mac OS X version">
461464
<antcall target="macosx-dist-common"/>
462465
</target>
463466

464-
<target name="macosx-java-latest-dist" if="macosx" depends="macosx-java-latest-build" description="Create a downloadable .zip for the Mac OS X version">
467+
<target name="macosx-dist" if="macosx" depends="macosx-build" description="Create a downloadable .zip for the Mac OS X version">
465468
<antcall target="macosx-dist-common"/>
466469
</target>
467470

@@ -479,59 +482,59 @@
479482
</echo>
480483
</target>
481484

482-
<target name="macosx-dist-old" if="macosx" depends="macosx-build" description="Create a .dmg of the Mac OS X version">
483-
<!-- now build the dmg -->
484-
<gunzip src="macosx/template.dmg.gz" dest="macosx/working.dmg" />
485-
486-
<mkdir dir="macosx/working_dir" />
487-
<exec executable="hdiutil">
488-
<arg line="attach macosx/working.dmg -noautoopen -mountpoint macosx/working_dir" />
489-
<!--<arg line="attach macosx/working.dmg -noautoopen -quiet -mountpoint macosx/working_dir" />-->
490-
</exec>
491-
492-
<copy todir="macosx/working_dir">
493-
<fileset dir="macosx/work" />
494-
</copy>
495-
496-
<!-- The ant copy command does not preserve permissions. -->
497-
<chmod file="macosx/working_dir/Arduino.app/Contents/MacOS/JavaApplicationStub" perm="+x" />
498-
<chmod perm="+x">
499-
<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin" includes="**/*" />
500-
<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr/bin" includes="**/*" />
501-
<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr-3/bin" includes="**/*" />
502-
<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr-4/bin" includes="**/*" />
503-
<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/libexec/gcc/avr/3.4.6/" includes="**/cc1*" />
504-
<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/libexec/gcc/avr/4.3.2/" includes="**/cc1*" />
505-
</chmod>
506-
507-
<!-- Pause briefly for the OS to catch up with the DMG changes.
508-
This prevents "hdiutil: couldn't eject "disk3" - Resource busy"
509-
errors when ejecting the disk in the next step.
510-
You may need to set this value higher for your system. -->
511-
<sleep seconds="3" />
512-
513-
<exec executable="hdiutil">
514-
<!--<arg line="detach macosx/working_dir -quiet -force" />-->
515-
<arg line="detach macosx/working_dir" />
516-
</exec>
517-
518-
<delete file="macosx/arduino-*.dmg" />
519-
<exec executable="hdiutil">
520-
<arg line="convert macosx/working.dmg -quiet -format UDZO -imagekey zlib-level=9 -o macosx/arduino-${version}.dmg" />
521-
</exec>
522-
523-
<!-- Clean up the interim files. -->
524-
<delete file="macosx/working.dmg" />
525-
<delete dir="macosx/working_dir" />
526-
527-
<echo>
528-
=======================================================
529-
Arduino for Mac OS X was built. Grab the image from
530-
531-
macosx/arduino-${version}.dmg
532-
=======================================================
533-
</echo>
534-
</target>
485+
<!--<target name="macosx-dist-old" if="macosx" depends="macosx-build" description="Create a .dmg of the Mac OS X version">-->
486+
<!--&lt;!&ndash; now build the dmg &ndash;&gt;-->
487+
<!--<gunzip src="macosx/template.dmg.gz" dest="macosx/working.dmg" />-->
488+
489+
<!--<mkdir dir="macosx/working_dir" />-->
490+
<!--<exec executable="hdiutil">-->
491+
<!--<arg line="attach macosx/working.dmg -noautoopen -mountpoint macosx/working_dir" />-->
492+
<!--&lt;!&ndash;<arg line="attach macosx/working.dmg -noautoopen -quiet -mountpoint macosx/working_dir" />&ndash;&gt;-->
493+
<!--</exec>-->
494+
495+
<!--<copy todir="macosx/working_dir">-->
496+
<!--<fileset dir="macosx/work" />-->
497+
<!--</copy>-->
498+
499+
<!--&lt;!&ndash; The ant copy command does not preserve permissions. &ndash;&gt;-->
500+
<!--<chmod file="macosx/working_dir/Arduino.app/Contents/MacOS/JavaApplicationStub" perm="+x" />-->
501+
<!--<chmod perm="+x">-->
502+
<!--<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin" includes="**/*" />-->
503+
<!--<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr/bin" includes="**/*" />-->
504+
<!--<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr-3/bin" includes="**/*" />-->
505+
<!--<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr-4/bin" includes="**/*" />-->
506+
<!--<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/libexec/gcc/avr/3.4.6/" includes="**/cc1*" />-->
507+
<!--<fileset dir="macosx/working_dir/Arduino.app/Contents/Resources/Java/hardware/tools/avr/libexec/gcc/avr/4.3.2/" includes="**/cc1*" />-->
508+
<!--</chmod>-->
509+
510+
<!--&lt;!&ndash; Pause briefly for the OS to catch up with the DMG changes. -->
511+
<!--This prevents "hdiutil: couldn't eject "disk3" - Resource busy"-->
512+
<!--errors when ejecting the disk in the next step.-->
513+
<!--You may need to set this value higher for your system. &ndash;&gt;-->
514+
<!--<sleep seconds="3" />-->
515+
516+
<!--<exec executable="hdiutil">-->
517+
<!--&lt;!&ndash;<arg line="detach macosx/working_dir -quiet -force" />&ndash;&gt;-->
518+
<!--<arg line="detach macosx/working_dir" />-->
519+
<!--</exec>-->
520+
521+
<!--<delete file="macosx/arduino-*.dmg" />-->
522+
<!--<exec executable="hdiutil">-->
523+
<!--<arg line="convert macosx/working.dmg -quiet -format UDZO -imagekey zlib-level=9 -o macosx/arduino-${version}.dmg" />-->
524+
<!--</exec>-->
525+
526+
<!--&lt;!&ndash; Clean up the interim files. &ndash;&gt;-->
527+
<!--<delete file="macosx/working.dmg" />-->
528+
<!--<delete dir="macosx/working_dir" />-->
529+
530+
<!--<echo>-->
531+
<!--=======================================================-->
532+
<!--Arduino for Mac OS X was built. Grab the image from-->
533+
534+
<!--macosx/arduino-${version}.dmg-->
535+
<!--=======================================================-->
536+
<!--</echo>-->
537+
<!--</target>-->
535538

536539
<!-- - - - - - - - -->
537540
<!-- Linux -->

build/build_all_dist.bash

-2
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,3 @@ mv windows/arduino-*-windows.zip ../
1818
ant -Djava.net.preferIPv4Stack=true -Dplatform=macosx $@ clean dist
1919
mv macosx/arduino-*-macosx.zip ../
2020

21-
ant -Djava.net.preferIPv4Stack=true -Dplatform=macosx-java-latest $@ clean dist
22-
mv macosx/arduino-*-macosx-java-latest.zip ../

0 commit comments

Comments
 (0)