Skip to content

Commit

Permalink
1.4.4.2 (#58)
Browse files Browse the repository at this point in the history
* #54: Missing Preferences menu option on OS X

 - This hopefully fixes any OSX issues...
   (shamelessly pulled from RPtools 1.4.1-Dev branch)

Task-Url: #54

Signed-off-by: Jamz <Jamz@Nerps.net>

* #54: Missing Preferences menu option on OS X

 - Changelog update.

Task-Url: #54


Signed-off-by: Jamz <Jamz@Nerps.net>

* #54: Missing Preferences menu option on OS X

 - Spotless...

Task-Url: #54

Signed-off-by: Jamz <Jamz@Nerps.net>

* #54: Missing Preferences menu option on OS X

 - Edited change log

Task-Url: #54

Signed-off-by: Jamz <Jamz@Nerps.net>

* #54: Missing Preferences menu option on OS X

 - Oops, forgot to update version #.

Task-Url: #54

Signed-off-by: Jamz <Jamz@Nerps.net>

* #54: Missing Preferences menu option on OS X

 - Updated changelog

Task-Url: #54

Signed-off-by: Jamz <Jamz@Nerps.net>

* Bug Fix

 - Fixed AppUpdate to read from manifest under Java 9.
   (Will look for new updates again going forward)

Signed-off-by: Jamz <Jamz@Nerps.net>

* Applied spotless

Signed-off-by: Jamz <Jamz@Nerps.net>
  • Loading branch information
JamzTheMan authored Mar 20, 2018
1 parent dee469b commit 1ed2f64
Showing 1 changed file with 32 additions and 17 deletions.
49 changes: 32 additions & 17 deletions src/main/java/net/rptools/maptool/client/AppUpdate.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,12 @@
public class AppUpdate {
private static final Logger log = LogManager.getLogger(AppUpdate.class);

static final String GIT_HUB_API_URL = "https://api.github.com/repos/JamzTheMan/MapTool/releases/latest";
// TODO: Move this to a .properties config
static final String GIT_HUB_API_URL = "https://api.github.com/repos/JamzTheMan/MapTool/releases/latest?access_token=";
static final String GIT_HUB_OAUTH_TOKEN = "60a5595a0b90510f8d0fbe686e21be6ed1c0b787"; // Grants read-only access to public information

public static boolean gitHubReleases() {
AppPreferences.setSkipAutoUpdate(false);
// AppPreferences.setSkipAutoUpdate(false); // For testing only
if (AppPreferences.getSkipAutoUpdate())
return false;

Expand All @@ -43,25 +45,15 @@ public static boolean gitHubReleases() {
else if (AppUtil.MAC_OS_X)
DOWNLOAD_EXTENSION = ".pkg"; // Better default than .dmg?

// Attempt to get current commit out of JAR Manifest, if null is return, most likely ran from IDE/non-JAR version so skip
URLClassLoader cl = (URLClassLoader) MapTool.class.getClassLoader();
try {
URL url = cl.findResource("META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(url.openStream());

Attributes attr = manifest.getMainAttributes();
jarCommit = attr.getValue("Git-Commit-SHA");
log.info("Git-Commit-SHA from Manifest: " + jarCommit);
} catch (IOException e) {
log.error("No Git-Commit-SHA attribute found in MANIFEST.MF, skip looking for updates...", e);
}
// Get current commit from JAR Manifest
jarCommit = getCommitSHA();

// If we don't have a commit attribute from JAR, we're done!
if (jarCommit == null)
return false;

try {
response = HTTPUtil.getJsonPaylod(GIT_HUB_API_URL);
response = HTTPUtil.getJsonPaylod(GIT_HUB_API_URL + GIT_HUB_OAUTH_TOKEN);
log.debug("Response: " + response);
} catch (IOException e) {
log.error("Unable to reach " + GIT_HUB_API_URL, e.getLocalizedMessage());
Expand Down Expand Up @@ -117,7 +109,30 @@ else if (AppUtil.MAC_OS_X)
return false;
}

static boolean showMessage(String aTitle, String commit) {
public static String getCommitSHA() {
String jarCommit = "";

// Attempt to get current commit out of JAR Manifest, if null is return, most likely ran from IDE/non-JAR version so skip
// URLClassLoader cl = (URLClassLoader) MapTool.class.getClassLoader();
ClassLoader cl = MapTool.class.getClassLoader();

try {
// URL url = cl.findResource("META-INF/MANIFEST.MF");
URL url = cl.getResource("META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(url.openStream());

Attributes attr = manifest.getMainAttributes();
jarCommit = attr.getValue("Git-Commit-SHA");
log.info("Git-Commit-SHA from Manifest: " + jarCommit);
} catch (IOException e) {
log.error("No Git-Commit-SHA attribute found in MANIFEST.MF, skip looking for updates...", e);
return null;
}

return jarCommit;
}

private static boolean showMessage(String aTitle, String commit) {
JCheckBox dontAskCheckbox = new JCheckBox("Never check for updates again!");

String title = "Update Available";
Expand All @@ -139,7 +154,7 @@ static boolean showMessage(String aTitle, String commit) {
return (result == JOptionPane.YES_OPTION);
}

static void downloadFile(URL assetDownloadURL, long assetDownloadSize) {
private static void downloadFile(URL assetDownloadURL, long assetDownloadSize) {
final JFileChooser chooser = MapTool.getFrame().getSaveFileChooser();
chooser.setSelectedFile(new File(assetDownloadURL.getFile()));

Expand Down

0 comments on commit 1ed2f64

Please sign in to comment.