1
1
<?xml version="1.0"?>
4
Sweet Home 3D, Copyright (c) 2007-2011 Emmanuel PUYBARET / eTeks <info@eteks.com>.
4
Sweet Home 3D, Copyright (c) 2007-2012 Emmanuel PUYBARET / eTeks <info@eteks.com>.
6
6
Ant build file. Available targets :
7
7
- build : Builds SweetHome3D.jar file in build directory
10
10
- textures : Builds Textures.jar file in build directory
11
11
- help : Builds Help.jar file in build directory
13
- java3dLibraries : Builds JNLP Java 3D libraries in deploy/lib subdirectories
14
- javaWebStart : Builds Java Web Start signed files in deploy/lib directory
15
- applet : Builds applet signed files in deploy/lib directory
16
- viewer : Builds viewer signed files in deploy/lib directory
17
- jarExecutable : Builds SweetHome3D-version.jar file in install directory
18
- windowsInstaller : Builds SweetHome3D-version-windows.exe file in install directory
19
- macosxInstaller : Builds SweetHome3D-version-macosx.dmg file in install directory
20
- linux32Installer : Builds SweetHome3D-version-linux-x86.tgz file in install directory
21
- linux64Installer : Builds SweetHome3D-version-linux-x64.tgz file in install directory
22
- viewerInstaller : Builds SweetHome3DViewer-version.zip file in install directory
23
- sourceArchive : Builds SweetHome3D-version-src.zip file in install directory
24
- javadoc : Builds SweetHome3D-version-javadoc.zip file install directory
13
- java3dLibraries : Builds JNLP Java 3D libraries in deploy/lib subdirectories
14
- javaWebStart : Builds Java Web Start signed files in deploy/lib directory
15
- applet : Builds applet signed files in deploy/lib directory
16
- viewer : Builds viewer signed files in deploy/lib directory
17
- jarExecutable : Builds SweetHome3D-version.jar file in install directory
18
- windowsInstaller : Builds SweetHome3D-version-windows.exe file in install directory
19
- windowsSignedInstaller : Builds signed SweetHome3D-version-windows.exe file in install directory
20
- macosxInstaller : Builds SweetHome3D-version-macosx.dmg file in install directory
21
- macosxSignedInstaller : Builds signed SweetHome3D-version-macosx.dmg file in install directory
22
- linux32Installer : Builds SweetHome3D-version-linux-x86.tgz file in install directory
23
- linux64Installer : Builds SweetHome3D-version-linux-x64.tgz file in install directory
24
- viewerInstaller : Builds SweetHome3DViewer-version.zip file in install directory
25
- sourceArchive : Builds SweetHome3D-version-src.zip file in install directory
26
- javadoc : Builds SweetHome3D-version-javadoc.zip file install directory
26
28
- jdepend : Launchs a JDepend graphical UI to help update dependencies in PackageDependenciesTest
28
30
<project basedir="." default="javaWebStart" name="SweetHome3D">
29
31
<!-- The current version of Sweet Home 3D -->
30
<property name="version" value="3.5"/>
32
<property name="version" value="3.6"/>
32
34
<target name="build"
33
35
description="Builds build/SweetHome3D.jar with all its classes">
182
184
description="Builds deploy/lib/SweetHome3D.jar and signs jars required by Sweet Home 3D with Java Web Start">
183
185
<!-- Build SweetHome3DJavaWebStartBootstrap.jar file containing main class and signed JNLP file -->
184
186
<mkdir dir="build/JNLP-INF"/>
185
<copy file="deploy/SweetHome3D.jnlp" tofile="build/JNLP-INF/APPLICATION.JNLP"/>
187
<copy file="deploy/SweetHome3D.jnlp" tofile="build/JNLP-INF/APPLICATION.JNLP"/>
186
188
<mkdir dir="deploy/lib"/>
187
189
<zip destfile="deploy/lib/SweetHome3DJavaWebStartBootstrap.jar">
188
190
<zipfileset src="build/SweetHome3D.jar"
418
420
<echo message="install/SweetHome3D-${version}.jar ready for ftp"/>
421
<!-- Builds install/SweetHome3D-version-windows.exe installer able to install SweetHome3D.exe
422
with a Windows JRE and Sweet Home 3D libraries.
423
CAUTION : May be run only under Windows and requires a Windows 32 bits JRE, launch4j and Inno Setup
423
<!-- Builds Sweet Home 3D Windows launcher in install/windows/build directory.
424
CAUTION : May be run only under Windows and requires a Windows 32 bits JRE and launch4j
424
425
installed in their default location -->
425
<target name="windowsInstaller" depends="application,furniture,textures,help"
426
description="Builds install/SweetHome3D-version-windows.exe installer">
426
<target name="windowsLauncher" depends="application,furniture,textures,help"
427
description="Builds Sweet Home 3D Windows launcher">
427
428
<!-- Copy SweetHome3D JARs and Windows Java 3D DLLs and JARs for Java 3D
428
to install/windows/tmp/lib -->
429
<mkdir dir="install/windows/tmp/lib"/>
430
<move file="build/SweetHome3D.jar" todir="install/windows/tmp/lib" />
431
<move file="build/Furniture.jar" todir="install/windows/tmp/lib" />
432
<move file="build/Textures.jar" todir="install/windows/tmp/lib" />
433
<move file="build/Help.jar" todir="install/windows/tmp/lib" />
434
<copy todir="install/windows/tmp/lib" >
429
to install/windows/build/lib -->
430
<mkdir dir="install/windows/build/lib"/>
431
<move file="build/SweetHome3D.jar" todir="install/windows/build/lib" />
432
<move file="build/Furniture.jar" todir="install/windows/build/lib" />
433
<move file="build/Textures.jar" todir="install/windows/build/lib" />
434
<move file="build/Help.jar" todir="install/windows/build/lib" />
435
<copy todir="install/windows/build/lib" >
435
436
<fileset dir="lib">
436
437
<include name="*.jar"/>
439
440
<include name="*.dll"/>
442
<!-- Copy COPYING.TXT and licenses texts to install/windows/tmp/ -->
443
<copy file="COPYING.TXT" todir="install/windows/tmp"/>
444
<copy file="LICENSE.TXT" todir="install/windows/tmp" />
445
<copy file="THIRDPARTY-LICENSE-JAVA.TXT" todir="install/windows/tmp" />
446
<copy file="THIRDPARTY-LICENSE-JAVA3D.TXT" todir="install/windows/tmp" />
447
<copy file="THIRDPARTY-LICENSE-LOADER3DS.TXT" todir="install/windows/tmp" />
448
<copy file="THIRDPARTY-LICENSE-BATIK.TXT" todir="install/windows/tmp"/>
449
<copy file="THIRDPARTY-LICENSE-ITEXT.TXT" todir="install/windows/tmp" />
450
<copy file="THIRDPARTY-LICENSE-VECTORGRAPHICS.TXT" todir="install/windows/tmp" />
451
<copy file="THIRDPARTY-LICENSE-SUNFLOW.TXT" todir="install/windows/tmp" />
452
<copy file="THIRDPARTY-LICENSE-JMF.HTML" todir="install/windows/tmp"/>
453
<copy file="THIRDPARTY-LICENSE-LAUNCH4J.TXT" todir="install/windows/tmp" />
454
<copy file="THIRDPARTY-LICENSE-INNOSETUP.TXT" todir="install/windows/tmp" />
455
<copy file="THIRDPARTY-LICENSE-TANGO.TXT" todir="install/windows/tmp" />
456
<copy file="THIRDPARTY-LICENSE-CONTRIBUTIONS.TXT" todir="install/windows/tmp" />
443
<!-- Copy COPYING.TXT and licenses texts to install/windows/build/ -->
444
<copy file="COPYING.TXT" todir="install/windows/build"/>
445
<copy file="LICENSE.TXT" todir="install/windows/build" />
446
<copy file="THIRDPARTY-LICENSE-JAVA.TXT" todir="install/windows/build" />
447
<copy file="THIRDPARTY-LICENSE-JAVA3D.TXT" todir="install/windows/build" />
448
<copy file="THIRDPARTY-LICENSE-LOADER3DS.TXT" todir="install/windows/build" />
449
<copy file="THIRDPARTY-LICENSE-BATIK.TXT" todir="install/windows/build"/>
450
<copy file="THIRDPARTY-LICENSE-ITEXT.TXT" todir="install/windows/build" />
451
<copy file="THIRDPARTY-LICENSE-VECTORGRAPHICS.TXT" todir="install/windows/build" />
452
<copy file="THIRDPARTY-LICENSE-SUNFLOW.TXT" todir="install/windows/build" />
453
<copy file="THIRDPARTY-LICENSE-JMF.HTML" todir="install/windows/build"/>
454
<copy file="THIRDPARTY-LICENSE-LAUNCH4J.TXT" todir="install/windows/build" />
455
<copy file="THIRDPARTY-LICENSE-INNOSETUP.TXT" todir="install/windows/build" />
456
<copy file="THIRDPARTY-LICENSE-TANGO.TXT" todir="install/windows/build" />
457
<copy file="THIRDPARTY-LICENSE-CONTRIBUTIONS.TXT" todir="install/windows/build" />
458
<!-- Copy JRE to install/windows/tmp/jre... excluding files mentioned
459
<!-- Copy JRE to install/windows/build/jre... excluding files mentioned
459
460
in JRE README.TXT file (JRE bin/javaw.exe command excepted) -->
460
<copy todir="install/windows/tmp/jre6">
461
<copy todir="install/windows/build/jre6">
461
462
<fileset dir="C:\Program Files\Java\jre6">
462
463
<include name="*"/>
463
464
<include name="bin/**"/>
504
505
<exec executable="C:\Program Files\Launch4j\launch4jc.exe">
505
506
<arg value="${basedir}\install\windows\installerLaunch4j.xml"/>
510
<!-- Builds install/SweetHome3D-version-windows.exe installer able to install SweetHome3D.exe
511
with a Windows JRE and Sweet Home 3D libraries.
512
CAUTION : May be run only under Windows and requires a Windows 32 bits JRE, launch4j and Inno Setup
513
installed in their default location -->
514
<target name="windowsInstaller" depends="windowsLauncher"
515
description="Builds install/SweetHome3D-version-windows.exe installer">
508
516
<!-- Create SweetHome3D-version-windows.exe with Inno Setup -->
509
517
<exec executable="C:\Program Files\Inno Setup 5\ISCC.exe">
510
518
<arg value="${basedir}\install\windows\installerInnoSetup.iss"/>
513
521
<!-- Clean build directories -->
514
522
<delete dir="build"/>
515
<delete dir="install/windows/tmp"/>
523
<delete dir="install/windows/build"/>
517
525
<echo message="install/SweetHome3D-${version}-windows.exe ready for ftp"/>
520
<!-- Builds install/SweetHome3D-version-macosx.dmg archive that contains SweetHome3D.app
521
and Sweet Home 3D libraries.
522
CAUTION : May be run only under Mac OS X and requires Disk Utility -->
523
<target name="macosxInstaller" depends="application,furniture,textures,help"
524
description="Builds install/SweetHome3D-version-macosx.dmg archive">
528
<!-- Builds install/SweetHome3D-version-windows.exe signed installer able to install SweetHome3D.exe
529
with a Windows JRE and Sweet Home 3D libraries.
530
CAUTION : May be run only under Windows and requires a Windows 32 bits JRE, launch4j, Inno Setup
531
and SignTool included in Windows platform SDK installed in their default location -->
532
<target name="windowsSignedInstaller" depends="windowsLauncher"
533
description="Builds install/SweetHome3D-version-windows.exe installer">
534
<input message="Enter signature password:"
535
addproperty="password"/>
536
<!-- Sign Sweet Home 3D launcher -->
537
<exec executable="C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe">
540
<arg value="${basedir}\install\windows\keys.pfx"/>
542
<arg value="${password}"/>
543
<arg value="${basedir}\install\windows\build\SweetHome3D.exe"/>
545
<!-- Create signed SweetHome3D-version-windows.exe with Inno Setup -->
546
<exec executable="C:\Program Files\Inno Setup 5\ISCC.exe">
547
<arg value="/sSignToolPgm=$$qC:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe$$q sign /f $$q${basedir}\install\windows\keys.pfx$$q /p ${password} $p"/>
548
<arg value="${basedir}\install\windows\signedInstallerInnoSetup.iss"/>
551
<!-- Clean build directories -->
552
<delete dir="build"/>
553
<delete dir="install/windows/build"/>
555
<echo message="signed install/SweetHome3D-${version}-windows.exe ready for ftp"/>
558
<!-- Builds Sweet Home 3D Mac OS X application bundle in install/macosx/SweetHome3D-version directory. -->
559
<target name="macosxBundle" depends="application,furniture,textures,help"
560
description="Builds Sweet Home 3D Mac OS X application bundle">
525
561
<!-- Copy Sweet Home 3D files to install/macosx/SweetHome3D-version/Sweet Home 3D.app -->
526
562
<mkdir dir="install/macosx/SweetHome3D-${version}/"/>
527
563
<copy todir="install/macosx/SweetHome3D-${version}/Sweet Home 3D.app">
575
611
<copy file="THIRDPARTY-LICENSE-JMF.HTML" todir="install/macosx/SweetHome3D-${version}"/>
576
612
<copy file="THIRDPARTY-LICENSE-TANGO.TXT" todir="install/macosx/SweetHome3D-${version}" />
577
613
<copy file="THIRDPARTY-LICENSE-CONTRIBUTIONS.TXT" todir="install/macosx/SweetHome3D-${version}" />
616
<!-- Builds install/SweetHome3D-version-macosx.dmg archive that contains SweetHome3D.app
617
and Sweet Home 3D libraries.
618
CAUTION : May be run only under Mac OS X and requires Disk Utility -->
619
<target name="macosxInstaller" depends="macosxBundle"
620
description="Builds install/SweetHome3D-version-macosx.dmg archive">
579
621
<!-- Create install/SweetHome3D-version-macosx.dmg with Disk Utility -->
580
622
<delete file="install/SweetHome3D-${version}-macosx.dmg"/>
581
623
<exec executable="hdiutil">
592
634
<echo message="install/SweetHome3D-${version}-macosx.dmg ready for ftp"/>
637
<!-- Builds install/SweetHome3D-version-macosx.dmg signed archive that contains SweetHome3D.app
638
and Sweet Home 3D libraries.
639
CAUTION : May be run only under Mac OS X and requires hdutil, codesign
640
and a certificate imported in Keychain Access -->
641
<target name="macosxSignedInstaller" depends="macosxBundle"
642
description="Builds install/SweetHome3D-version-macosx.dmg archive">
643
<input message="Enter certificate name:"
644
addproperty="certificateName"/>
645
<!-- Sign Sweet Home 3D application bundle -->
646
<exec executable="codesign">
648
<arg value="${certificateName}"/>
649
<arg value="install/macosx/SweetHome3D-${version}/Sweet Home 3D.app"/>
652
<!-- Create install/SweetHome3D-version-macosx.dmg with Disk Utility -->
653
<delete file="install/SweetHome3D-${version}-macosx.dmg"/>
654
<exec executable="hdiutil">
655
<arg value="create"/>
656
<arg value="-srcfolder"/>
657
<arg value="install/macosx/SweetHome3D-${version}"/>
658
<arg value="install/SweetHome3D-${version}-macosx.dmg"/>
661
<!-- Sign Sweet Home 3D DMG image -->
662
<exec executable="codesign">
664
<arg value="${certificateName}"/>
665
<arg value="install/SweetHome3D-${version}-macosx.dmg"/>
668
<!-- Clean build directories -->
669
<delete dir="build"/>
670
<delete dir="install/macosx/SweetHome3D-${version}"/>
672
<echo message="signed install/SweetHome3D-${version}-macosx.dmg ready for ftp"/>
595
675
<!-- Builds install/SweetHome3D-version-linux-x86.tgz archive that contains SweetHome3D command
596
676
with a Linux JRE and Sweet Home 3D libraries.
597
CAUTION : Requires a Linux 32 bits JRE installed in jre1.6.0_32 -->
677
CAUTION : Requires a Linux 32 bits JRE installed in jre1.6.0_35 -->
598
678
<target name="linux32Installer" depends="application,furniture,textures,help"
599
679
description="Builds install/SweetHome3D-version-linux-x86.tgz archive">
600
680
<!-- Copy SweetHome3D.jar and Linux Java 3D DLLs and JARs for Java 3D
634
714
<!-- Copy JRE to install/linux/i386/SweetHome3D-version/jre... excluding files mentioned
635
715
in JRE README.TXT file (JRE bin/java command excepted) -->
636
<copy todir="install/linux/i386/SweetHome3D-${version}/jre1.6.0_32">
637
<fileset dir="jre1.6.0_32">
716
<copy todir="install/linux/i386/SweetHome3D-${version}/jre1.6.0_35">
717
<fileset dir="jre1.6.0_35">
638
718
<include name="**"/>
640
720
<exclude name="lib/ext/sunjce_provider.jar"/>
654
734
<tarfileset dir="install/linux/i386"
655
735
includes="SweetHome3D-${version}/**">
656
736
<exclude name="SweetHome3D-${version}/SweetHome3D"/>
657
<exclude name="SweetHome3D-${version}/jre1.6.0_32/bin/java"/>
737
<exclude name="SweetHome3D-${version}/jre1.6.0_35/bin/java"/>
659
739
<!-- Change executable permission of SweetHome3D and java commands -->
660
740
<tarfileset dir="install/linux/i386" mode="755">
661
741
<include name="SweetHome3D-${version}/SweetHome3D"/>
662
<include name="SweetHome3D-${version}/jre1.6.0_32/bin/java"/>
742
<include name="SweetHome3D-${version}/jre1.6.0_35/bin/java"/>
673
753
<!-- Builds install/SweetHome3D-version-linux-x64.tgz archive that contains SweetHome3D command
674
754
with a Linux JRE and Sweet Home 3D libraries.
675
CAUTION : Requires a Linux 64 bits JRE installed in jre1.6.0_32 -->
755
CAUTION : Requires a Linux 64 bits JRE installed in jre1.6.0_35 -->
676
756
<target name="linux64Installer" depends="application,furniture,textures,help"
677
757
description="Builds install/SweetHome3D-version-linux-x64.tgz archive">
678
758
<!-- Copy SweetHome3D.jar and Linux Java 3D DLLs and JARs for Java 3D
712
792
<!-- Copy JRE to install/linux/x64/SweetHome3D-version/jre... excluding files mentioned
713
793
in JRE README.TXT file (JRE bin/java command excepted) -->
714
<copy todir="install/linux/x64/SweetHome3D-${version}/jre1.6.0_32">
715
<fileset dir="jre1.6.0_32">
794
<copy todir="install/linux/x64/SweetHome3D-${version}/jre1.6.0_35">
795
<fileset dir="jre1.6.0_35">
716
796
<include name="**"/>
718
798
<exclude name="lib/ext/sunjce_provider.jar"/>
732
812
<tarfileset dir="install/linux/x64"
733
813
includes="SweetHome3D-${version}/**">
734
814
<exclude name="SweetHome3D-${version}/SweetHome3D"/>
735
<exclude name="SweetHome3D-${version}/jre1.6.0_32/bin/java"/>
815
<exclude name="SweetHome3D-${version}/jre1.6.0_35/bin/java"/>
737
817
<!-- Change executable permission of SweetHome3D and java commands -->
738
818
<tarfileset dir="install/linux/x64" mode="755">
739
819
<include name="SweetHome3D-${version}/SweetHome3D"/>
740
<include name="SweetHome3D-${version}/jre1.6.0_32/bin/java"/>
820
<include name="SweetHome3D-${version}/jre1.6.0_35/bin/java"/>