Skip to content

Commit b5f924b

Browse files
committed
Add Windows+OSX packaging. Also fix #2 and #11
1 parent b236074 commit b5f924b

File tree

17 files changed

+821
-614
lines changed

17 files changed

+821
-614
lines changed

.gitignore

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
.classpath
2-
.project
3-
bin
1+
.classpath
2+
.project
3+
bin
4+
release
5+
*.class
6+
build
7+
.externalToolBuilders
48
release

Info.plist

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<!--
6+
The keys of the plist and their purpose are documented on Apple's developer website:
7+
8+
https://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html
9+
10+
Required Keys
11+
-->
12+
<key>CFBundlePackageType</key><string>APPL</string>
13+
<key>CFBundleName</key><string>gguploader</string>
14+
<key>CFBunderVersion</key><string>1.0.0</string>
15+
<key>CFBundleDisplayName</key><string>GGTracker Uploader</string>
16+
<key>CFBundleIdentifier</key><string>com.ggtracker.uploader</string>
17+
<key>CFBundleSignature</key><string>ggup</string>
18+
<key>CFBundleExecutable</key><string>ggtracker.jar</string>
19+
20+
<!-- Extras -->
21+
<key>CFBundleIconFile</key><string>gg.png</string>
22+
<key>NSHumanReadableCopyright</key><string>Copyright ggtracker, inc. 2012</string>
23+
24+
<key>CFBundleShortVersionString</key><string>1.0.0</string>
25+
<key>CFBundleInfoDictionaryVersion</key><string>6.0</string>
26+
27+
<key>IFMajorVersion</key><integer>0</integer>
28+
<key>IFMinorVersion</key><integer>1</integer>
29+
</dict>
30+
</plist>
Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
LICENSE version 1.0 2012-10-08
2-
3-
ggtracker uploader project
4-
Home page: http://ggtracker.com/uploader
5-
6-
Copyright (c) 2012 ggtracker, inc. <[email protected]>
7-
8-
This software is the property of ggtracker, inc.
9-
The software is distributed freely from the home page.
10-
The software is provided "as is" with no warranty. The author cannot be held responsible for damages caused by the software.
11-
Copying, modifying, distributing, refactoring without the author's permission
12-
is prohibited and protected by Law.
13-
14-
You should have received a copy of this license along with the product.
15-
If not or you found that someone violated the terms, please contact the author.
16-
17-
I reserve the right to change the license at any time without any warrant.
1+
LICENSE version 1.0 2012-10-08
2+
3+
ggtracker uploader project
4+
Home page: http://ggtracker.com/uploader
5+
6+
Copyright (c) 2012 ggtracker, inc. <[email protected]>
7+
8+
This software is the property of ggtracker, inc.
9+
The software is distributed freely from the home page.
10+
The software is provided "as is" with no warranty. The author cannot be held responsible for damages caused by the software.
11+
Copying, modifying, distributing, refactoring without the author's permission
12+
is prohibited and protected by Law.
13+
14+
You should have received a copy of this license along with the product.
15+
If not or you found that someone violated the terms, please contact the author.
16+
17+
ggtracker, inc. reserves the right to change the license at any time without any warrant.

build.xml

Lines changed: 104 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,104 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
2-
3-
<project name="ggtracker uploader builder" default="buildRelease" basedir=".">
4-
5-
<description>
6-
ggtracker uploader builder. Can build releases.
7-
</description>
8-
9-
<!-- Folder properties -->
10-
11-
<property name="appFolder" value="app-folder"/>
12-
<property name="resourcesFolder" value="release/release-resources"/>
13-
<property name="buildFolder" value="release/ggtracker uploader"/>
14-
15-
<!-- Targets -->
16-
17-
<target name="clearBuildFolder" description="Clears the release build folder">
18-
<delete dir="${buildFolder}"/>
19-
<mkdir dir="${buildFolder}"/>
20-
</target>
21-
22-
<target name="buildRelease" depends="clearBuildFolder" description="Creates a ggtracker uploader release">
23-
<!-- Copy static files -->
24-
<copy todir="${buildFolder}" preservelastmodified="true">
25-
<fileset dir="${appFolder}"/>
26-
</copy>
27-
28-
<!-- Create ggtracker-uploader.jar -->
29-
<jar manifest="${resourcesFolder}/ggtracker-uploader-manifest.mf" basedir="bin" destfile="${buildFolder}/lib/ggtracker-uploader.jar" />
30-
31-
<!-- Index jars -->
32-
33-
<echo>Release build successful, release placed in folder: ${buildFolder}</echo>
34-
</target>
35-
36-
</project>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<project name="ggtracker uploader builder" default="compile" basedir=".">
4+
5+
<description>
6+
ggtracker uploader builder. Can build releases.
7+
</description>
8+
9+
<!-- Folder properties -->
10+
11+
<property name="appFolder" value="app-folder"/>
12+
<property name="resourcesFolder" value="release/release-resources"/>
13+
<property name="buildFolder" value="build"/>
14+
15+
<property name="launch4j.dir" location="C:\Program Files (x86)\Launch4j" />
16+
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" />
17+
18+
<target name="clean">
19+
<delete dir="build"/>
20+
</target>
21+
22+
<target name="compile">
23+
<mkdir dir="build/classes"/>
24+
<javac srcdir="src" destdir="build/classes" includeantruntime="false">
25+
<classpath>
26+
<fileset dir="libs">
27+
<include name="*.jar"/>
28+
</fileset>
29+
</classpath>
30+
</javac>
31+
</target>
32+
33+
<target name="package" depends="compile">
34+
<mkdir dir="build/gguploader" />
35+
36+
<!-- Why does the class loader only find things in the com.ggtracker.uploader package? -->
37+
<copy todir="build/classes/com/ggtracker/uploader/resources" preservelastmodified="true">
38+
<fileset dir="resources" />
39+
</copy>
40+
41+
<jar manifest="manifest.mf" basedir="build/classes" destFile="build/gguploader/gguploader.jar" />
42+
<copy todir="build/gguploader/libs" preservelastmodified="true">
43+
<fileset dir="libs" />
44+
</copy>
45+
</target>
46+
47+
<target name="run" depends="package">
48+
<java jar="build/gguploader/gguploader.jar" fork="true" />
49+
</target>
50+
51+
<target name="package-windows" depends="package">
52+
<mkdir dir="build/gguploader-windows/libs" />
53+
<copy todir="build/gguploader-windows/libs">
54+
<fileset dir="build/gguploader/libs" />
55+
</copy>
56+
<copy todir="build/gguploader-windows/">
57+
<fileset dir=".">
58+
<include name="gg.ico" />
59+
<include name="LICENSE.txt" />
60+
</fileset>
61+
</copy>
62+
<launch4j configFile="launch4j.xml" />
63+
</target>
64+
65+
<target name="package-osx" depends="package">
66+
<mkdir dir="build/gguploader-osx/gguploader.app/Contents/MacOS/libs" />
67+
<copy todir="build/gguploader-osx/gguploader.app/Contents/MacOS" file="build/gguploader/gguploader.jar" />
68+
<copy todir="build/gguploader-osx/gguploader.app/Contents/MacOS/libs" >
69+
<fileset dir="build/gguploader/libs" />
70+
</copy>
71+
72+
<mkdir dir="build/gguploader-osx/gguploader.app/Contents/Resources" />
73+
<copy todir="build/gguploader-osx/gguploader.app/Contents/Resources">
74+
<fileset dir=".">
75+
<include name="Info.plist" />
76+
<include name="LICENSE.txt" />
77+
</fileset>
78+
<fileset dir="resources">
79+
<include name="gg.png" />
80+
</fileset>
81+
</copy>
82+
</target>
83+
84+
<!--
85+
86+
<target name="clearBuildFolder" description="Clears the release build folder">
87+
<delete dir="${buildFolder}"/>
88+
<mkdir dir="${buildFolder}"/>
89+
</target>
90+
91+
<target name="buildRelease" depends="clearBuildFolder" description="Creates a ggtracker uploader release">
92+
<copy todir="${buildFolder}" preservelastmodified="true">
93+
<fileset dir="${appFolder}"/>
94+
</copy>
95+
<jar manifest="${resourcesFolder}/ggtracker-uploader-manifest.mf" basedir="bin" destfile="${buildFolder}/lib/ggtracker-uploader.jar" />
96+
97+
<launch4j configFile="./release/release-resources/ggtracker-uploader-launch4j.xml" />
98+
99+
<echo>Release build successful, release placed in folder: ${buildFolder}</echo>
100+
</target>
101+
102+
-->
103+
104+
</project>

gg.ico

31.3 KB
Binary file not shown.

launch4j.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<launch4jConfig>
2+
<dontWrapJar>false</dontWrapJar>
3+
<headerType>gui</headerType>
4+
<jar>build/gguploader/gguploader.jar</jar>
5+
<outfile>build/gguploader-windows/gguploader.exe</outfile>
6+
<errTitle>GGTracker Auto-Uploader</errTitle>
7+
<cmdLine></cmdLine>
8+
<chdir>.</chdir>
9+
<priority>normal</priority>
10+
<downloadUrl>http://java.com/download</downloadUrl>
11+
<supportUrl>http://ggtracker.com/uploader</supportUrl>
12+
<customProcName>false</customProcName>
13+
<stayAlive>false</stayAlive>
14+
<manifest></manifest>
15+
<icon>gg.ico</icon>
16+
<classPath>
17+
<mainClass>com/ggtracker/uploader/GgtrackerUploader</mainClass>
18+
<cp>libs/jna.jar</cp>
19+
<cp>libs/platform.jar</cp>
20+
</classPath>
21+
<jre>
22+
<path></path>
23+
<minVersion>1.6.0</minVersion>
24+
<maxVersion></maxVersion>
25+
<jdkPreference>preferJre</jdkPreference>
26+
</jre>
27+
<versionInfo>
28+
<fileVersion>1.0.0.0</fileVersion>
29+
<txtFileVersion>1.0</txtFileVersion>
30+
<fileDescription>ggtracker uploader</fileDescription>
31+
<copyright>ggtracker, inc.</copyright>
32+
<productVersion>1.0.0.0</productVersion>
33+
<txtProductVersion>1.0</txtProductVersion>
34+
<productName>ggtracker uploader, http://ggtracker.com/uploader</productName>
35+
<companyName>ggtracker, inc.</companyName>
36+
<internalName>ggtracker uploader</internalName>
37+
<originalFilename>ggtracker-uploader.exe</originalFilename>
38+
</versionInfo>
39+
</launch4jConfig>
File renamed without changes.

manifest.mf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Manifest-Version: 1.0
2+
Main-Class: com.ggtracker.uploader.GgtrackerUploader
3+
Class-Path: libs/jna.jar libs/platform.jar resources ./

0 commit comments

Comments
 (0)