Skip to content

Commit 82e8a31

Browse files
committed
external checksum
1 parent 42a6139 commit 82e8a31

13 files changed

Lines changed: 80 additions & 25 deletions

lib/src/main/java/io/github/projectunified/mcserverupdater/UpdateBuilder.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -321,13 +321,11 @@ public CompletableFuture<UpdateStatus> executeAsync() {
321321

322322
try {
323323
if (outputFile.exists()) {
324-
if (update instanceof Checksum) {
325-
Checksum checksum = (Checksum) update;
326-
if (checksum.checksum(outputFile)) {
327-
return UpdateStatus.UP_TO_DATE;
328-
} else if (checkOnly) {
329-
return UpdateStatus.OUT_OF_DATE;
330-
}
324+
Checksum checksum = update.getChecksumChecker();
325+
if (checksum.checksum(outputFile)) {
326+
return UpdateStatus.UP_TO_DATE;
327+
} else if (checkOnly) {
328+
return UpdateStatus.OUT_OF_DATE;
331329
}
332330
} else if (Utils.isFailedToCreateFile(outputFile)) {
333331
return UpdateStatus.FILE_FAILED;

lib/src/main/java/io/github/projectunified/mcserverupdater/api/BibliothekUpdater.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.projectunified.mcserverupdater.api;
22

33
import io.github.projectunified.mcserverupdater.UpdateBuilder;
4+
import io.github.projectunified.mcserverupdater.api.checksum.FileDigestChecksum;
45
import io.github.projectunified.mcserverupdater.util.VersionQuery;
56
import io.github.projectunified.mcserverupdater.util.WebUtils;
67
import org.json.JSONArray;
@@ -88,6 +89,11 @@ public final String getChecksum() {
8889
}
8990
}
9091

92+
@Override
93+
public Checksum getChecksumChecker() {
94+
return this;
95+
}
96+
9197
@Override
9298
public InputStream getInputStream() {
9399
String downloadName;

lib/src/main/java/io/github/projectunified/mcserverupdater/api/GithubBranchUpdater.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.projectunified.mcserverupdater.api;
22

33
import io.github.projectunified.mcserverupdater.UpdateBuilder;
4+
import io.github.projectunified.mcserverupdater.api.checksum.SimpleChecksum;
45
import io.github.projectunified.mcserverupdater.util.VersionQuery;
56
import io.github.projectunified.mcserverupdater.util.WebUtils;
67
import org.json.JSONArray;
@@ -86,6 +87,16 @@ public void setChecksum(File file) throws Exception {
8687
updateBuilder.checksumConsumer().accept(getChecksum());
8788
}
8889

90+
@Override
91+
public String getCurrentChecksum(File file) throws Exception {
92+
return updateBuilder.checksumSupplier().get();
93+
}
94+
95+
@Override
96+
public Checksum getChecksumChecker() {
97+
return this;
98+
}
99+
89100
@Override
90101
public InputStream getInputStream() {
91102
String build = getBuild();
@@ -100,11 +111,6 @@ public InputStream getInputStream() {
100111
return WebUtils.getInputStreamOrNull(url, updateBuilder);
101112
}
102113

103-
@Override
104-
public String getCurrentChecksum(File file) throws Exception {
105-
return updateBuilder.checksumSupplier().get();
106-
}
107-
108114
@Override
109115
public DebugConsumer getDebugConsumer() {
110116
return updateBuilder.debugConsumer();

lib/src/main/java/io/github/projectunified/mcserverupdater/api/JenkinsUpdater.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.projectunified.mcserverupdater.api;
22

33
import io.github.projectunified.mcserverupdater.UpdateBuilder;
4+
import io.github.projectunified.mcserverupdater.api.checksum.SimpleChecksum;
45
import io.github.projectunified.mcserverupdater.util.VersionQuery;
56
import io.github.projectunified.mcserverupdater.util.WebUtils;
67
import org.json.JSONArray;
@@ -97,6 +98,11 @@ public void setChecksum(File file) throws Exception {
9798
updateBuilder.checksumConsumer().accept(getChecksum());
9899
}
99100

101+
@Override
102+
public Checksum getChecksumChecker() {
103+
return this;
104+
}
105+
100106
@Override
101107
public InputStream getInputStream() {
102108
String url = getArtifactUrl();

lib/src/main/java/io/github/projectunified/mcserverupdater/api/Updater.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
public interface Updater {
66
boolean update(File file) throws Exception;
77

8+
Checksum getChecksumChecker();
9+
810
DebugConsumer getDebugConsumer();
911

1012
default void debug(String message) {

lib/src/main/java/io/github/projectunified/mcserverupdater/api/FileDigestChecksum.java renamed to lib/src/main/java/io/github/projectunified/mcserverupdater/api/checksum/FileDigestChecksum.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.projectunified.mcserverupdater.api;
1+
package io.github.projectunified.mcserverupdater.api.checksum;
22

33
import io.github.projectunified.mcserverupdater.util.Utils;
44

lib/src/main/java/io/github/projectunified/mcserverupdater/api/SimpleChecksum.java renamed to lib/src/main/java/io/github/projectunified/mcserverupdater/api/checksum/SimpleChecksum.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
package io.github.projectunified.mcserverupdater.api;
1+
package io.github.projectunified.mcserverupdater.api.checksum;
2+
3+
import io.github.projectunified.mcserverupdater.api.Checksum;
4+
import io.github.projectunified.mcserverupdater.api.DebugConsumer;
25

36
import java.io.File;
47

@@ -7,19 +10,17 @@ public interface SimpleChecksum extends Checksum {
710

811
String getCurrentChecksum(File file) throws Exception;
912

13+
DebugConsumer getDebugConsumer();
14+
1015
@Override
1116
default boolean checksum(File file) throws Exception {
1217
String checksum = getChecksum();
13-
if (this instanceof Updater) {
14-
((Updater) this).debug("Checksum: " + checksum);
15-
}
18+
getDebugConsumer().consume("Checksum: " + checksum);
1619
if (checksum == null) {
1720
return false;
1821
}
1922
String currentChecksum = getCurrentChecksum(file);
20-
if (this instanceof Updater) {
21-
((Updater) this).debug("Current checksum: " + currentChecksum);
22-
}
23+
getDebugConsumer().consume("Current checksum: " + currentChecksum);
2324
return currentChecksum.equals(checksum);
2425
}
2526
}

lib/src/main/java/io/github/projectunified/mcserverupdater/updater/FabricUpdater.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package io.github.projectunified.mcserverupdater.updater;
22

33
import io.github.projectunified.mcserverupdater.UpdateBuilder;
4+
import io.github.projectunified.mcserverupdater.api.Checksum;
45
import io.github.projectunified.mcserverupdater.api.DebugConsumer;
56
import io.github.projectunified.mcserverupdater.api.InputStreamUpdater;
6-
import io.github.projectunified.mcserverupdater.api.SimpleChecksum;
7+
import io.github.projectunified.mcserverupdater.api.checksum.SimpleChecksum;
78
import io.github.projectunified.mcserverupdater.util.VersionQuery;
89
import io.github.projectunified.mcserverupdater.util.WebUtils;
910
import org.json.JSONArray;
@@ -109,6 +110,11 @@ public String getCurrentChecksum(File file) throws Exception {
109110
return updateBuilder.checksumSupplier().get();
110111
}
111112

113+
@Override
114+
public Checksum getChecksumChecker() {
115+
return this;
116+
}
117+
112118
@Override
113119
public DebugConsumer getDebugConsumer() {
114120
return updateBuilder.debugConsumer();

lib/src/main/java/io/github/projectunified/mcserverupdater/updater/MohistUpdater.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package io.github.projectunified.mcserverupdater.updater;
22

33
import io.github.projectunified.mcserverupdater.UpdateBuilder;
4+
import io.github.projectunified.mcserverupdater.api.Checksum;
45
import io.github.projectunified.mcserverupdater.api.DebugConsumer;
5-
import io.github.projectunified.mcserverupdater.api.FileDigestChecksum;
66
import io.github.projectunified.mcserverupdater.api.InputStreamUpdater;
7+
import io.github.projectunified.mcserverupdater.api.checksum.FileDigestChecksum;
78
import io.github.projectunified.mcserverupdater.util.VersionQuery;
89
import io.github.projectunified.mcserverupdater.util.WebUtils;
910
import org.json.JSONArray;
@@ -74,6 +75,11 @@ public InputStream getInputStream() {
7475
return WebUtils.getInputStreamOrNull(String.format(downloadUrl, version), updateBuilder);
7576
}
7677

78+
@Override
79+
public Checksum getChecksumChecker() {
80+
return this;
81+
}
82+
7783
@Override
7884
public DebugConsumer getDebugConsumer() {
7985
return updateBuilder.debugConsumer();

lib/src/main/java/io/github/projectunified/mcserverupdater/updater/PaperUpdater.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package io.github.projectunified.mcserverupdater.updater;
22

33
import io.github.projectunified.mcserverupdater.UpdateBuilder;
4+
import io.github.projectunified.mcserverupdater.api.Checksum;
45
import io.github.projectunified.mcserverupdater.api.DebugConsumer;
5-
import io.github.projectunified.mcserverupdater.api.FileDigestChecksum;
66
import io.github.projectunified.mcserverupdater.api.InputStreamUpdater;
7+
import io.github.projectunified.mcserverupdater.api.checksum.FileDigestChecksum;
78
import io.github.projectunified.mcserverupdater.util.VersionQuery;
89
import io.github.projectunified.mcserverupdater.util.WebUtils;
910
import org.json.JSONArray;
@@ -84,6 +85,11 @@ public InputStream getInputStream() {
8485
}
8586
}
8687

88+
@Override
89+
public Checksum getChecksumChecker() {
90+
return this;
91+
}
92+
8793
@Override
8894
public DebugConsumer getDebugConsumer() {
8995
return updateBuilder.debugConsumer();

0 commit comments

Comments
 (0)