Fix update
This commit is contained in:
@@ -18,7 +18,7 @@ if (buildnumber == null)
|
|||||||
|
|
||||||
def versionroot = System.getenv("VERSION_ROOT")
|
def versionroot = System.getenv("VERSION_ROOT")
|
||||||
if (versionroot == null)
|
if (versionroot == null)
|
||||||
versionroot = "3.0"
|
versionroot = "3.1"
|
||||||
|
|
||||||
String mavenVersion = versionroot + '.' + buildnumber
|
String mavenVersion = versionroot + '.' + buildnumber
|
||||||
version = mavenVersion
|
version = mavenVersion
|
||||||
|
|||||||
@@ -49,6 +49,14 @@ public final class Launcher extends Application {
|
|||||||
Controllers.initialize(primaryStage);
|
Controllers.initialize(primaryStage);
|
||||||
primaryStage.setResizable(false);
|
primaryStage.setResizable(false);
|
||||||
primaryStage.setScene(Controllers.getScene());
|
primaryStage.setScene(Controllers.getScene());
|
||||||
|
|
||||||
|
UPDATE_CHECKER.process(false)
|
||||||
|
.then(Task.of(Schedulers.javafx(), () -> {
|
||||||
|
if (UPDATE_CHECKER.isOutOfDate())
|
||||||
|
Controllers.showUpdate();
|
||||||
|
}))
|
||||||
|
.start();
|
||||||
|
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
CRASH_REPORTER.uncaughtException(Thread.currentThread(), e);
|
CRASH_REPORTER.uncaughtException(Thread.currentThread(), e);
|
||||||
@@ -65,13 +73,6 @@ public final class Launcher extends Application {
|
|||||||
|
|
||||||
Logging.LOG.info("*** " + TITLE + " ***");
|
Logging.LOG.info("*** " + TITLE + " ***");
|
||||||
|
|
||||||
UPDATE_CHECKER.process(false)
|
|
||||||
.then(Task.of(Schedulers.javafx(), () -> {
|
|
||||||
if (UPDATE_CHECKER.isOutOfDate())
|
|
||||||
Controllers.showUpdate();
|
|
||||||
}))
|
|
||||||
.start();
|
|
||||||
|
|
||||||
launch(args);
|
launch(args);
|
||||||
} catch (Throwable e) { // Fucking JavaFX will suppress the exception and will break our crash reporter.
|
} catch (Throwable e) { // Fucking JavaFX will suppress the exception and will break our crash reporter.
|
||||||
CRASH_REPORTER.uncaughtException(Thread.currentThread(), e);
|
CRASH_REPORTER.uncaughtException(Thread.currentThread(), e);
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.jackhuang.hmcl.ui;
|
package org.jackhuang.hmcl.ui;
|
||||||
|
|
||||||
|
import com.jfoenix.concurrency.JFXUtilities;
|
||||||
import com.jfoenix.controls.JFXDialog;
|
import com.jfoenix.controls.JFXDialog;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
|||||||
@@ -43,11 +43,14 @@ public final class IntVersionNumber extends VersionNumber {
|
|||||||
if (!(o instanceof IntVersionNumber))
|
if (!(o instanceof IntVersionNumber))
|
||||||
return 0;
|
return 0;
|
||||||
IntVersionNumber other = (IntVersionNumber) o;
|
IntVersionNumber other = (IntVersionNumber) o;
|
||||||
int len = Math.min(this.version.size(), other.version.size());
|
int len = Math.max(this.version.size(), other.version.size());
|
||||||
for (int i = 0; i < len; ++i)
|
for (int i = 0; i < len; ++i) {
|
||||||
if (!version.get(i).equals(other.version.get(i)))
|
int thisInt = Lang.get(this.version, i).orElse(0);
|
||||||
return version.get(i).compareTo(other.version.get(i));
|
int otherInt = Lang.get(other.version, i).orElse(0);
|
||||||
return Integer.compare(this.version.size(), other.version.size());
|
if (thisInt != otherInt)
|
||||||
|
return Integer.compare(thisInt, otherInt);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -40,13 +40,11 @@ public abstract class VersionNumber implements Comparable<VersionNumber> {
|
|||||||
throw new IllegalArgumentException("The version " + version + " is malformed, only dots and digits are allowed.");
|
throw new IllegalArgumentException("The version " + version + " is malformed, only dots and digits are allowed.");
|
||||||
|
|
||||||
String[] s = version.split("\\.");
|
String[] s = version.split("\\.");
|
||||||
int last = s.length - 1;
|
ArrayList<Integer> versions = new ArrayList<>(s.length);
|
||||||
for (int i = s.length - 1; i >= 0; --i)
|
for (String value : s) versions.add(Integer.parseInt(value));
|
||||||
if (Integer.parseInt(s[i]) == 0)
|
while (!versions.isEmpty() && versions.get(versions.size() - 1) == 0)
|
||||||
last = i;
|
versions.remove(versions.size() - 1);
|
||||||
ArrayList<Integer> versions = new ArrayList<>(last + 1);
|
|
||||||
for (int i = 0; i <= last; ++i)
|
|
||||||
versions.add(Integer.parseInt(s[i]));
|
|
||||||
return new IntVersionNumber(Collections.unmodifiableList(versions));
|
return new IntVersionNumber(Collections.unmodifiableList(versions));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user