Skip to content

Commit 9ae8e49

Browse files
author
dlsmith
committed
Changed Windows app build process to use launch4j. Modified Mac and Windows releases to produce zip files wrapping the applications.
git-svn-id: file:///tmp/test-svn/trunk@4380 fe72c1cf-3628-48e9-8b72-1c46755d3cff
1 parent 814cfeb commit 9ae8e49

File tree

9 files changed

+49
-37
lines changed

9 files changed

+49
-37
lines changed

drjava/build.xml

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
<!-- Don't use or inherit the CLASSPATH environment variable for anything -->
1010
<property name="build.sysclasspath" value="ignore" />
1111

12+
<property environment="env" />
13+
<property name="java14-home" value="${env.JAVA14_HOME}" />
14+
<property name="clover-jar" value="${env.CLOVER_JAR}" />
15+
<property name="launch4j-home" value="${env.LAUNCH4J_HOME}" />
16+
<property name="findbugs-home" value="${env.FINDBUGS_HOME}" />
17+
1218
<!-- Extension containing various tools, including "for" and "if" -->
1319
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="lib/buildlib/ant-contrib.jar"/>
1420

@@ -22,12 +28,20 @@
2228
<taskdef resource="com/cenqua/ant/antlib.xml" classpath="lib/buildlib/cenquatasks.jar" />
2329

2430
<!-- fornum task, used for test-repeat -->
25-
<taskdef name="fornum" classname="edu.rice.cs.plt.ant.ForNumTask" classpath="lib/buildlib/plt-ant.jar" onerror="report"/>
31+
<taskdef name="fornum" classname="edu.rice.cs.plt.ant.ForNumTask" classpath="lib/buildlib/plt-ant.jar" onerror="report" />
32+
33+
<!-- findbugs task -->
34+
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="lib/buildlib/findbugs-ant.jar" />
35+
36+
<!-- launch4j task, used to create the Windows executable -->
37+
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask">
38+
<classpath>
39+
<pathelement location="${launch4j-home}/launch4j.jar" />
40+
<pathelement location="${launch4j-home}/lib/xstream.jar" />
41+
</classpath>
42+
</taskdef>
2643

2744
<extendclasspath path="lib/buildlib/junit.jar" />
28-
<extendclasspath path="lib/buildlib/findbugs-ant.jar" />
29-
30-
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
3145

3246
<!-- Load the property file if it exists -->
3347
<if>
@@ -48,10 +62,6 @@
4862
<property name="is-development" value="yes" /> <!-- Development or stable release -->
4963
<property name="tag-append" value="" /> <!-- "stable", "beta", or none -->
5064

51-
<property environment="env" />
52-
<property name="java14-home" value="${env.JAVA14_HOME}" />
53-
<property name="clover-jar" value="${env.CLOVER_JAR}" />
54-
5565
<!-- Default settings for properties -->
5666
<property name="test-spec" value="*" />
5767
<property name="test-repeat" value="1" />
@@ -89,6 +99,9 @@
8999
<echo message="JAVA14_HOME: Home folder of the Java 1.4 JRE or J2SDK" />
90100
<echo message="PATH: 'svn' needs to refer to the Subversion client executable" />
91101
<echo message="CLOVER_JAR: Location of the Clover jar file" />
102+
<echo message="FINDBUGS_HOME: Location of the FindBugs installation" />
103+
<echo message="LAUNCH4J_HOME: Location of the Launch4j installation (used to " />
104+
<echo message=" generate a Windows application)." />
92105
<echo message="" />
93106
<echo message="Ant may also require the following, depending on your platform:" />
94107
<echo message="JAVA_HOME: Location of the JDK (many targets here require Java 5+)" />
@@ -620,7 +633,7 @@
620633
<fail message="FindBugs installation not found, or FINDBUGS_HOME environment variable not set."
621634
unless="findbugs-exists" />
622635
<delete file="${basedir}/findbugs.html" />
623-
<findbugs home="${env.FINDBUGS_HOME}"
636+
<findbugs home="${findbugs-home}"
624637
output="html"
625638
jvmargs="-Xmx512M"
626639
failOnError="true"
@@ -915,20 +928,14 @@
915928
<delete dir="benchmarkSources" failonerror="${clean-can-fail}" />
916929
<delete dir="benchmarkResults" failonerror="${clean-can-fail}" />
917930

918-
<delete failonerror="${clean-can-fail}">
931+
<delete includeemptydirs="true" failonerror="${clean-can-fail}">
919932
<fileset dir="testFiles">
920933
<exclude name="**" />
921934
<!-- Additional test output files should be listed here -->
922935
</fileset>
923-
</delete>
924-
925-
<delete includeemptydirs="true" failonerror="${clean-can-fail}">
926936
<fileset dir="${basedir}">
927937
<patternset refid="generated-sources" />
928938
</fileset>
929-
</delete>
930-
931-
<delete includeemptydirs="true" failonerror="${clean-can-fail}">
932939
<fileset dir="${basedir}" defaultexcludes="no">
933940
<include name="TEST*" />
934941
<include name="src/**/*.class" />
@@ -943,7 +950,7 @@
943950
</delete>
944951

945952
</target>
946-
953+
947954
<target name="clean-products" unless="skip-clean">
948955
<echo message="Deleting all final build products" />
949956

@@ -954,11 +961,10 @@
954961
<include name="*.jar" />
955962
<include name="*.zip" />
956963
<include name="*.tar.gz" />
957-
<include name="${ant.project.name}-*" />
964+
<include name="findbugs.html" />
958965
</fileset>
959966
</delete>
960-
961-
<delete file="${basedir}/findbugs.html" />
967+
962968
</target>
963969

964970

@@ -1059,29 +1065,25 @@
10591065
<mkdir dir="${mac-app-dir}" />
10601066
<filter token="VERSION" value="${version-tag}" />
10611067
<copy todir="${mac-app-dir}/${readable-project-name}.app" filtering="yes" >
1062-
<fileset dir="packaging/${readable-project-name}.app" excludes="**/*jar-goes-here" />
1068+
<fileset dir="packaging/mac/${readable-project-name}.app" excludes="**/*jar-goes-here" />
10631069
</copy>
10641070
<copy file="${ant.project.name}.jar"
10651071
todir="${mac-app-dir}/${readable-project-name}.app/Contents/Resources/Java" />
1066-
<tar tarfile="${mac-app-dir}/${version-tag}-osx.tar">
1067-
<tarfileset dir="${mac-app-dir}" includes="${readable-project-name}.app/**"
1068-
excludes="${readable-project-name}.app/Contents/MacOS/${readable-project-name}" />
1069-
<tarfileset dir="${mac-app-dir}" mode="755"
1070-
includes="${readable-project-name}.app/Contents/MacOS/${readable-project-name}" />
1071-
</tar>
1072-
<gzip src="${mac-app-dir}/${version-tag}-osx.tar" destfile="${version-tag}-osx.tar.gz" />
1072+
<zip destfile="${version-tag}-osx.zip" basedir="${mac-app-dir}" />
10731073
</target>
10741074

10751075
<target name="windows-app" depends="assert-jar-exists, resolve-version-tag">
1076-
<echo message="Creating ${version-tag}.exe" />
1077-
<concat destfile="${version-tag}.exe" binary="yes">
1078-
<filelist dir="${basedir}">
1079-
<!-- TODO: This should probably include WinExecutor.exe and the icon file
1080-
rather than using the generated WinExecutorFor... -->
1081-
<file name="packaging/WinExecutorFor${readable-project-name}.exe" />
1082-
<file name="${ant.project.name}.jar" />
1083-
</filelist>
1084-
</concat>
1076+
<echo message="Creating ${version-tag}-windows.zip" />
1077+
<property name="windows-app-dir" value="${version-tag}/windows" />
1078+
<mkdir dir="${windows-app-dir}" />
1079+
<filter token="VERSION" value="${version-tag}" />
1080+
<copy todir="${windows-app-dir}" filtering="yes" >
1081+
<fileset dir="packaging/windows" />
1082+
</copy>
1083+
<copy file="${ant.project.name}.jar" todir="${windows-app-dir}" />
1084+
<launch4j configfile="${windows-app-dir}/launch4j-config.xml" />
1085+
<zip destfile="${version-tag}-windows.zip" basedir="${windows-app-dir}"
1086+
includes="${readable-project-name}.exe" />
10851087
</target>
10861088

10871089
<target name="src-zip" depends="resolve-version-tag">
-96.5 KB
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.

drjava/packaging/DrJava.app/Contents/Resources/DrJava.icns renamed to drjava/packaging/mac/DrJava.app/Contents/Resources/DrJava.icns

File renamed without changes.

drjava/packaging/DrJava.app/Contents/Resources/Java/DrJava.jar-goes-here renamed to drjava/packaging/mac/DrJava.app/Contents/Resources/Java/DrJava.jar-goes-here

File renamed without changes.
5.87 KB
Binary file not shown.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<launch4jConfig>
2+
<headerType>gui</headerType>
3+
<outfile>DrJava.exe</outfile>
4+
<jar>drjava.jar</jar>
5+
<errTitle>DrJava</errTitle>
6+
<icon>drjava.ico</icon>
7+
<jre>
8+
<minVersion>1.4.0</minVersion>
9+
</jre>
10+
</launch4jConfig>

0 commit comments

Comments
 (0)