Skip to content

Commit cae290e

Browse files
committed
Fix Jarzilla on El Capitan (Mac OSX 10.11)
1 parent 26d69f2 commit cae290e

File tree

7 files changed

+448
-359
lines changed

7 files changed

+448
-359
lines changed

jarzilla/build.xml

Lines changed: 33 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ Jarzilla
33
-->
44
<project name="jarzilla" default="dist">
55

6-
<property file="google.properties" />
7-
8-
<property name="jarzilla.version" value="0.1.5" />
6+
<property name="jarzilla.version" value="0.1.6" />
97
<property name="jarzilla.mainClass" value="com.googlecode.jarzilla.Jarzilla" />
108

119
<path id="jarzilla.classpath">
@@ -27,7 +25,7 @@ Jarzilla
2725
-->
2826
<target name="compile" description="Compiles the code">
2927
<mkdir dir="build/jarzilla/classes" />
30-
<javac srcdir="src/main/java" destdir="build/jarzilla/classes" debug="on" target="1.5" includeantruntime="false">
28+
<javac srcdir="src/main/java" destdir="build/jarzilla/classes" debug="on" source="1.7" target="1.7" includeantruntime="false">
3129
<classpath refid="jarzilla.classpath" />
3230
</javac>
3331
<copy todir="build/jarzilla/classes">
@@ -52,51 +50,41 @@ Jarzilla
5250
<attribute name="Jarzilla-Version" value="${jarzilla.version}" />
5351
</manifest>
5452
</jar>
55-
5653
<property name="appdir" value="dist/Jarzilla.app"/>
57-
<mkdir dir="${appdir}/Contents/MacOS"/>
58-
<mkdir dir="${appdir}/Contents/Resources/Java"/>
59-
60-
<copy file="src/main/resources/JavaApplicationStub" todir="${appdir}/Contents/MacOS"/>
61-
<exec executable="chmod">
62-
<arg value="755" />
63-
<arg value="${appdir}/Contents/MacOS/JavaApplicationStub" />
64-
</exec>
65-
66-
<copy file="src/main/resources/Info.plist" todir="${appdir}/Contents" />
67-
<copy file="src/main/resources/jarzilla.icns" todir="${appdir}/Contents/Resources" />
68-
69-
<copy file="src/main/resources/jad" todir="${appdir}/Contents/Resources" />
70-
<exec executable="chmod">
71-
<arg value="755" />
72-
<arg value="${appdir}/Contents/Resources/jad" />
73-
</exec>
74-
75-
<copy file="dist/jarzilla.jar" todir="${appdir}/Contents/Resources/Java" />
76-
<copy todir="${appdir}/Contents/Resources/Java">
77-
<fileset dir="lib/runtime">
78-
<include name="*.jar" />
79-
<include name="*.jnilib" />
80-
</fileset>
81-
</copy>
82-
<exec executable="/Developer/Tools/SetFile">
83-
<arg value="-a" />
84-
<arg value="B" />
85-
<arg value="${appdir}" />
86-
</exec>
87-
88-
<copy file="src/main/resources/updater/schlepit.properties" todir="${appdir}" />
8954

90-
<taskdef name="schlepit"
91-
classname="com.googlecode.jarzilla.schlepit.build.SchlepItTask"
92-
classpath="lib/runtime/schlepit.jar" />
93-
94-
<zip destfile="dist/update.zip" basedir="${appdir}" />
95-
<schlepit version="${jarzilla.version}" fileName="jarzilla.schlepit" source="dist/update.zip" dest="dist/" />
55+
<taskdef name="jarbundler"
56+
classname="net.sourceforge.jarbundler.JarBundler"
57+
classpath="lib/compile/jarbundler-2.5.0.jar" />
58+
59+
<jarbundler
60+
dir="dist"
61+
name="Jarzilla"
62+
shortname="Jarzilla"
63+
icon="src/main/resources/jarzilla.icns"
64+
stubfile="src/main/resources/universalJavaApplicationStub"
65+
useJavaXKey="true"
66+
mainclass="${jarzilla.mainClass}"
67+
jvmversion="1.7+"
68+
signature="JARZ"
69+
bundleid="com.googlecode.jarzilla">
70+
71+
<resourcefilelist dir="src/main/resources" files="jad" />
72+
73+
<jarfilelist dir="dist" files="jarzilla.jar" />
74+
<jarfilelist dir="lib/runtime" files="forms-1.2.1.jar, jsyntaxpane-0.9.4.jar, mac_widgets.jar, quaqua-filechooser-only.jar, schlepit.jar, swingx-1.6.jar" />
75+
76+
<javafilelist dir="lib/runtime" files="libquaqua.jnilib, libquaqua64.jnilib" />
77+
78+
<documenttype name="Jar file"
79+
extensions="jar ear sar war zip"
80+
utis="com.sun.java-archive com.pkware.zip-archive"
81+
iconFile="src/main/resources/jarzilla.icns"
82+
role="Viewer"/>
83+
</jarbundler>
9684
</target>
9785

9886
<!--
99-
Publish the latest build to googlecode
87+
Publish the latest build as dmg
10088
-->
10189
<target name="publish" depends="clean, dist">
10290
<!-- create dmg -->
@@ -107,35 +95,6 @@ Jarzilla
10795
<exec executable="hdiutil" dir="${basedir}/dist">
10896
<arg line='convert "template.dmg" -format UDZO -imagekey zlib-level=9 -o "Jarzilla-${jarzilla.version}.dmg"' />
10997
</exec>
110-
111-
<input message="Publishing to googlecode: continue (y/n)?"
112-
validargs="y,n"
113-
addproperty="do.publish" />
114-
115-
<condition property="do.abort">
116-
<equals arg1="n" arg2="${do.publish}"/>
117-
</condition>
118-
<fail if="do.abort">Publishing aborted.</fail>
119-
120-
<taskdef classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpath="lib/compile/ant-googlecode-0.0.2.jar" name="gcupload"/>
121-
<property file="google.properties" />
122-
<gcupload
123-
username="${google.username}"
124-
password="${google.password}"
125-
projectname="jarzilla"
126-
filename="dist/jarzilla.schlepit"
127-
targetfilename="jarzilla.schlepit"
128-
summary="Jarzilla auto update package for version ${jarzilla.version}"
129-
verbose="true" />
130-
<gcupload
131-
username="${google.username}"
132-
password="${google.password}"
133-
projectname="jarzilla"
134-
filename="dist/jarzilla-${jarzilla.version}.dmg"
135-
targetfilename="Jarzilla-${jarzilla.version}.dmg"
136-
summary="Jarzilla version ${jarzilla.version}"
137-
labels="Featured"
138-
verbose="true" />
13998
</target>
14099

141-
</project>
100+
</project>
19.8 KB
Binary file not shown.

jarzilla/lib/compile/lombok.jar

-171 KB
Binary file not shown.

jarzilla/src/main/java/com/googlecode/jarzilla/Jarzilla.java

Lines changed: 17 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,7 @@
44
*/
55
package com.googlecode.jarzilla;
66

7-
import java.awt.BorderLayout;
8-
import java.awt.Cursor;
9-
import java.awt.event.ActionEvent;
10-
import java.awt.event.ActionListener;
11-
import java.awt.event.FocusAdapter;
12-
import java.awt.event.FocusEvent;
13-
import java.awt.event.KeyAdapter;
14-
import java.awt.event.KeyEvent;
15-
import java.io.File;
16-
import java.io.FileInputStream;
17-
import java.io.IOException;
18-
import java.util.ArrayList;
19-
import java.util.Collections;
20-
import java.util.Date;
21-
import java.util.List;
22-
import java.util.Properties;
23-
import java.util.zip.ZipEntry;
24-
import java.util.zip.ZipInputStream;
25-
26-
import javax.swing.AbstractAction;
27-
import javax.swing.AbstractButton;
28-
import javax.swing.ImageIcon;
29-
import javax.swing.JButton;
30-
import javax.swing.JFileChooser;
31-
import javax.swing.JFrame;
32-
import javax.swing.JMenu;
33-
import javax.swing.JMenuBar;
34-
import javax.swing.JMenuItem;
35-
import javax.swing.JOptionPane;
36-
import javax.swing.JTextField;
37-
import javax.swing.UIManager;
38-
397
import ch.randelshofer.quaqua.QuaquaManager;
40-
418
import com.apple.eawt.AppEvent.OpenFilesEvent;
429
import com.apple.eawt.AppEvent.QuitEvent;
4310
import com.apple.eawt.Application;
@@ -54,14 +21,27 @@
5421
import com.googlecode.jarzilla.core.ArchiveFile;
5522
import com.googlecode.jarzilla.core.ArchiveFileEntry;
5623
import com.googlecode.jarzilla.core.Utils;
57-
import com.googlecode.jarzilla.schlepit.Schlepper;
58-
import com.googlecode.jarzilla.schlepit.net.DownloadObserver;
59-
import com.googlecode.jarzilla.schlepit.net.Downloader;
6024
import com.googlecode.jarzilla.ui.DetailsMessageBox;
6125
import com.googlecode.jarzilla.ui.HelpDialog;
6226
import com.googlecode.jarzilla.ui.JarzillaBottomBar;
6327
import com.googlecode.jarzilla.ui.ResultsPanel;
64-
import com.googlecode.jarzilla.ui.UpdateDialog;
28+
29+
import javax.swing.*;
30+
import java.awt.*;
31+
import java.awt.event.ActionEvent;
32+
import java.awt.event.ActionListener;
33+
import java.awt.event.FocusAdapter;
34+
import java.awt.event.FocusEvent;
35+
import java.awt.event.KeyAdapter;
36+
import java.awt.event.KeyEvent;
37+
import java.io.File;
38+
import java.io.FileInputStream;
39+
import java.io.IOException;
40+
import java.util.ArrayList;
41+
import java.util.Collections;
42+
import java.util.List;
43+
import java.util.zip.ZipEntry;
44+
import java.util.zip.ZipInputStream;
6545

6646
/**
6747
* Jarzilla application class
@@ -252,129 +232,6 @@ public void handleQuit(ApplicationEvent event)
252232
}
253233
});
254234
}
255-
256-
// update
257-
try
258-
{
259-
Jarzilla.update();
260-
}
261-
catch (Exception e)
262-
{
263-
System.out.println("Update error: " + e.getMessage());
264-
}
265-
}
266-
267-
/**
268-
* @throws Exception
269-
*/
270-
public static void update() throws Exception
271-
{
272-
Schlepper schlepper = new Schlepper();
273-
String path = schlepper.getDirectory(Jarzilla.class);
274-
path = path.substring(0, path.indexOf("Jarzilla.app") + 13);
275-
String propertiesPath = path + "schlepit.properties";
276-
277-
Properties props = schlepper.getProperties(propertiesPath);
278-
String version = props.getProperty("version");
279-
String updateUrl = props.getProperty("updateUrl");
280-
String lastUpdateCheck = props.getProperty("lastUpdateCheck");
281-
282-
System.out.println(path);
283-
System.out.println("Version: " + version);
284-
System.out.println("UpdateUrl: " + updateUrl);
285-
System.out.println("lastUpdateCheck: " + lastUpdateCheck);
286-
287-
long millis = 0;
288-
if (lastUpdateCheck != null)
289-
{
290-
try
291-
{
292-
millis = Long.valueOf(lastUpdateCheck);
293-
}
294-
catch (Exception e)
295-
{
296-
// ignore
297-
}
298-
}
299-
300-
long elapsed = new Date().getTime() - millis;
301-
302-
// update last update check time once a month
303-
if (millis == 0 || elapsed >= 2628000000L) {
304-
props.setProperty("lastUpdateCheck", Long.valueOf(new Date().getTime()).toString());
305-
schlepper.setProperties(propertiesPath, props);
306-
}
307-
308-
// if a month hasn't passed yet, don't check for update
309-
if (elapsed < 2628000000L)
310-
{
311-
System.out.println("Canceling update check, not enough time elapsed: " + elapsed);
312-
return;
313-
}
314-
315-
DownloadObserver observer = new DownloadObserver()
316-
{
317-
private UpdateDialog updateDialog = new UpdateDialog();
318-
319-
@Override
320-
public void onUpdateAvailable(final Downloader downloader)
321-
{
322-
updateDialog.setOkActionListener(new ActionListener()
323-
{
324-
@Override
325-
public void actionPerformed(ActionEvent e)
326-
{
327-
updateDialog.setProgressVisible(true);
328-
synchronized(downloader)
329-
{
330-
downloader.notify();
331-
}
332-
}
333-
});
334-
updateDialog.setNotNowActionListener(new ActionListener()
335-
{
336-
@Override
337-
public void actionPerformed(ActionEvent e)
338-
{
339-
updateDialog.dispose();
340-
}
341-
});
342-
updateDialog.setVisible(true);
343-
}
344-
345-
@Override
346-
public void onUpdateComplete(final Downloader downloader)
347-
{
348-
updateDialog.confirmRestart();
349-
updateDialog.setRestartActionListener(new ActionListener()
350-
{
351-
@Override
352-
public void actionPerformed(ActionEvent e)
353-
{
354-
synchronized(downloader)
355-
{
356-
downloader.notify();
357-
}
358-
updateDialog.dispose();
359-
}
360-
});
361-
}
362-
363-
@Override
364-
public boolean downloadProgress(int percentDone, long secondsLeft)
365-
{
366-
updateDialog.setProgress(percentDone);
367-
return true;
368-
}
369-
};
370-
371-
boolean updated = schlepper.schlep(version, updateUrl, path, observer);
372-
if (updated)
373-
{
374-
new ProcessBuilder("open", "-n", path).start();
375-
Thread.sleep(500);
376-
System.exit(0);
377-
}
378235
}
379236

380237
/** */

0 commit comments

Comments
 (0)