mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-12 16:58:57 +00:00
use release tag for downloading latest github releases...
This commit is contained in:
@@ -49,4 +49,28 @@ public class RSSReader {
|
||||
}
|
||||
return message;
|
||||
}
|
||||
public static String getLatestReleaseTag() {
|
||||
String tag = "";
|
||||
try {
|
||||
RssReader reader = new RssReader();
|
||||
URL url = new URL("https://github.com/Card-Forge/forge/releases.atom");
|
||||
InputStream inputStream = url.openStream();
|
||||
List<Item> items = reader.read(inputStream).toList();
|
||||
for (Item i : items) {
|
||||
if (i.getLink().isPresent()) {
|
||||
try {
|
||||
String val = i.getLink().get();
|
||||
tag = val.substring(val.lastIndexOf("forge"));
|
||||
break;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
inputStream.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return tag;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -639,6 +639,12 @@ public class Main extends ForgeAndroidApplication {
|
||||
return new GitLogs().getLatest(buildDateOriginal, maxDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReleaseTag() {
|
||||
//android doesn't have release yet on github...
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openFile(String filename) {
|
||||
try {
|
||||
|
||||
@@ -84,6 +84,11 @@ public class Main extends IOSApplication.Delegate {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReleaseTag() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openFile(final String filename) {
|
||||
return new IOSFiles().local(filename).exists();
|
||||
|
||||
@@ -56,6 +56,11 @@ public class Main {
|
||||
return RSSReader.getCommitLog(buildDateOriginal, max);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReleaseTag() {
|
||||
return RSSReader.getLatestReleaseTag();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openFile(String filename) {
|
||||
try {
|
||||
|
||||
@@ -31,9 +31,19 @@ public class AssetsDownloader {
|
||||
public static void checkForUpdates(boolean exited, Runnable runnable) {
|
||||
if (exited)
|
||||
return;
|
||||
final String versionString = Forge.getDeviceAdapter().getVersionString();
|
||||
Forge.getSplashScreen().getProgressBar().setDescription("Checking for updates...");
|
||||
if (versionString.contains("GIT")) {
|
||||
if (!GuiBase.isAndroid()) {
|
||||
run(runnable);
|
||||
return;
|
||||
}
|
||||
}
|
||||
//currently for desktop/mobile-dev release on github
|
||||
String releaseTag = Forge.getDeviceAdapter().getReleaseTag();
|
||||
final String packageSize = GuiBase.isAndroid() ? "160MB" : "270MB";
|
||||
final String apkSize = "12MB";
|
||||
final String versionString = Forge.getDeviceAdapter().getVersionString();
|
||||
|
||||
final boolean isSnapshots = versionString.contains("SNAPSHOT");
|
||||
final String snapsURL = "https://downloads.cardforge.org/dailysnapshots/";
|
||||
final String releaseURL = "https://releases.cardforge.org/forge/forge-gui-android/";
|
||||
@@ -41,7 +51,6 @@ public class AssetsDownloader {
|
||||
FileHandle assetsDir = Gdx.files.absolute(ForgeConstants.ASSETS_DIR);
|
||||
FileHandle resDir = Gdx.files.absolute(ForgeConstants.RES_DIR);
|
||||
boolean mandatory = false;
|
||||
Forge.getSplashScreen().getProgressBar().setDescription("Checking for updates...");
|
||||
|
||||
String message;
|
||||
boolean connectedToInternet = Forge.getDeviceAdapter().isConnectedToInternet();
|
||||
@@ -55,8 +64,9 @@ public class AssetsDownloader {
|
||||
filename = "forge-android-" + version + "-signed-aligned.apk";
|
||||
installerURL = isSnapshots ? snapsURL + filename : releaseURL + version + "/" + filename;
|
||||
} else {
|
||||
filename = isSnapshots ? "forge-installer-" + version + ".jar" : "forge-gui-desktop-" + version + ".tar.bz2";
|
||||
String releaseBZ2URL = "https://github.com/Card-Forge/forge/releases/download/forge-" + version + "/";
|
||||
//current release on github is tar.bz2, update this to jar installer in the future...
|
||||
filename = isSnapshots ? "forge-installer-" + version + ".jar" : releaseTag.replace("forge-", "forge-gui-desktop-") + ".tar.bz2";
|
||||
String releaseBZ2URL = "https://github.com/Card-Forge/forge/releases/download/" + releaseTag + "/" + filename;
|
||||
String snapsBZ2URL = "https://downloads.cardforge.org/dailysnapshots/";
|
||||
installerURL = isSnapshots ? snapsBZ2URL : releaseBZ2URL;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public interface IDeviceAdapter {
|
||||
String getDownloadsDir();
|
||||
String getVersionString();
|
||||
String getLatestChanges(Date buildDateOriginal, Date maxDate);
|
||||
String getReleaseTag();
|
||||
boolean openFile(String filename);
|
||||
void setLandscapeMode(boolean landscapeMode);
|
||||
void preventSystemSleep(boolean preventSleep);
|
||||
|
||||
Reference in New Issue
Block a user