mirror of
https://github.com/haveno-dex/haveno.git
synced 2026-01-08 02:55:35 -05:00
Merge 96db6ba6b6 into eb492d3ebd
This commit is contained in:
commit
4b6d4e3fff
11 changed files with 220 additions and 166 deletions
32
build.gradle
32
build.gradle
|
|
@ -56,7 +56,7 @@ configure(subprojects) {
|
|||
httpcoreVersion = '4.4.13'
|
||||
ioVersion = '2.6'
|
||||
jacksonVersion = '2.12.1'
|
||||
javafxVersion = '21.0.2'
|
||||
javafxVersion = '21.0.9'
|
||||
javaxAnnotationVersion = '1.2'
|
||||
jcsvVersion = '1.4.0'
|
||||
jetbrainsAnnotationsVersion = '13.0'
|
||||
|
|
@ -84,6 +84,10 @@ configure(subprojects) {
|
|||
os = (osName == 'mac' && (osArch.contains('aarch64') || osArch.contains('arm'))) ? 'mac-aarch64' : osName
|
||||
}
|
||||
|
||||
configurations {
|
||||
javafxVerification
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
//mavenLocal()
|
||||
|
|
@ -685,6 +689,32 @@ configure(project(':desktop')) {
|
|||
implementation "org.openjfx:javafx-swing:$javafxVersion:$os"
|
||||
implementation "org.openjfx:javafx-base:$javafxVersion:$os"
|
||||
implementation "org.openjfx:javafx-graphics:$javafxVersion:$os"
|
||||
|
||||
// verification-only dependencies
|
||||
javafxVerification "org.openjfx:javafx-controls:$javafxVersion:mac"
|
||||
javafxVerification "org.openjfx:javafx-controls:$javafxVersion:mac-aarch64"
|
||||
javafxVerification "org.openjfx:javafx-controls:$javafxVersion:win"
|
||||
javafxVerification "org.openjfx:javafx-controls:$javafxVersion:linux"
|
||||
|
||||
javafxVerification "org.openjfx:javafx-fxml:$javafxVersion:mac"
|
||||
javafxVerification "org.openjfx:javafx-fxml:$javafxVersion:mac-aarch64"
|
||||
javafxVerification "org.openjfx:javafx-fxml:$javafxVersion:win"
|
||||
javafxVerification "org.openjfx:javafx-fxml:$javafxVersion:linux"
|
||||
|
||||
javafxVerification "org.openjfx:javafx-swing:$javafxVersion:mac"
|
||||
javafxVerification "org.openjfx:javafx-swing:$javafxVersion:mac-aarch64"
|
||||
javafxVerification "org.openjfx:javafx-swing:$javafxVersion:win"
|
||||
javafxVerification "org.openjfx:javafx-swing:$javafxVersion:linux"
|
||||
|
||||
javafxVerification "org.openjfx:javafx-base:$javafxVersion:mac"
|
||||
javafxVerification "org.openjfx:javafx-base:$javafxVersion:mac-aarch64"
|
||||
javafxVerification "org.openjfx:javafx-base:$javafxVersion:win"
|
||||
javafxVerification "org.openjfx:javafx-base:$javafxVersion:linux"
|
||||
|
||||
javafxVerification "org.openjfx:javafx-graphics:$javafxVersion:mac"
|
||||
javafxVerification "org.openjfx:javafx-graphics:$javafxVersion:mac-aarch64"
|
||||
javafxVerification "org.openjfx:javafx-graphics:$javafxVersion:win"
|
||||
javafxVerification "org.openjfx:javafx-graphics:$javafxVersion:linux"
|
||||
}
|
||||
|
||||
test {
|
||||
|
|
|
|||
|
|
@ -1761,7 +1761,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
|
|||
request.getReserveTxKeyImages(),
|
||||
verifiedTx.getFee().longValueExact(),
|
||||
signature); // TODO (woodser): no need for signature to be part of SignedOffer?
|
||||
addSignedOffer(signedOffer);
|
||||
UserThread.execute(() -> addSignedOffer(signedOffer));
|
||||
requestPersistence();
|
||||
|
||||
// send response with signature
|
||||
|
|
|
|||
|
|
@ -420,7 +420,12 @@ public abstract class DisputeManager<T extends DisputeList<Dispute>> extends Sup
|
|||
if (reOpen) {
|
||||
dispute = storedDisputeOptional.get();
|
||||
} else {
|
||||
disputeList.add(dispute);
|
||||
final Dispute finalDispute = dispute;
|
||||
UserThread.execute(() -> {
|
||||
synchronized (disputeList.getObservableList()) {
|
||||
disputeList.add(finalDispute);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -556,15 +561,17 @@ public abstract class DisputeManager<T extends DisputeList<Dispute>> extends Sup
|
|||
}
|
||||
|
||||
public void removeDisputes(Trade trade) {
|
||||
T disputeList = getDisputeList();
|
||||
synchronized (disputeList.getObservableList()) {
|
||||
for (Dispute dispute : trade.getDisputes()) {
|
||||
disputeList.remove(dispute);
|
||||
UserThread.execute(() -> {
|
||||
T disputeList = getDisputeList();
|
||||
synchronized (disputeList.getObservableList()) {
|
||||
for (Dispute dispute : trade.getDisputes()) {
|
||||
disputeList.remove(dispute);
|
||||
}
|
||||
}
|
||||
}
|
||||
trade.setDisputeState(Trade.DisputeState.NO_DISPUTE);
|
||||
clearPendingMessage();
|
||||
requestPersistence();
|
||||
trade.setDisputeState(Trade.DisputeState.NO_DISPUTE);
|
||||
clearPendingMessage();
|
||||
requestPersistence();
|
||||
});
|
||||
}
|
||||
|
||||
// arbitrator receives dispute opened message from opener, opener's peer receives from arbitrator
|
||||
|
|
@ -694,7 +701,11 @@ public abstract class DisputeManager<T extends DisputeList<Dispute>> extends Sup
|
|||
if (reOpen) {
|
||||
trade.setDisputeState(Trade.DisputeState.DISPUTE_OPENED);
|
||||
} else {
|
||||
disputeList.add(dispute);
|
||||
UserThread.execute(() -> {
|
||||
synchronized (disputeList) {
|
||||
disputeList.add(dispute);
|
||||
}
|
||||
});
|
||||
trade.advanceDisputeState(Trade.DisputeState.DISPUTE_OPENED);
|
||||
}
|
||||
|
||||
|
|
@ -822,9 +833,12 @@ public abstract class DisputeManager<T extends DisputeList<Dispute>> extends Sup
|
|||
dispute = storedDisputeOptional.get();
|
||||
dispute.reOpen();
|
||||
} else {
|
||||
synchronized (disputeList) {
|
||||
disputeList.add(dispute);
|
||||
}
|
||||
final Dispute finalDispute = dispute;
|
||||
UserThread.execute(() -> {
|
||||
synchronized (disputeList) {
|
||||
disputeList.add(finalDispute);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// get trade
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package haveno.daemon.grpc;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import haveno.common.UserThread;
|
||||
import haveno.common.config.Config;
|
||||
import haveno.common.proto.ProtoUtil;
|
||||
import haveno.core.api.CoreApi;
|
||||
|
|
@ -66,64 +68,72 @@ public class GrpcDisputesService extends DisputesImplBase {
|
|||
|
||||
@Override
|
||||
public void getDispute(GetDisputeRequest req, StreamObserver<GetDisputeReply> responseObserver) {
|
||||
try {
|
||||
var dispute = coreApi.getDispute(req.getTradeId());
|
||||
var reply = GetDisputeReply.newBuilder()
|
||||
.setDispute(dispute.toProtoMessage())
|
||||
.build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
exceptionHandler.handleExceptionAsWarning(log, getClass().getName() + ".getDispute", cause, responseObserver);
|
||||
}
|
||||
UserThread.execute(() -> {
|
||||
try {
|
||||
var dispute = coreApi.getDispute(req.getTradeId());
|
||||
var reply = GetDisputeReply.newBuilder()
|
||||
.setDispute(dispute.toProtoMessage())
|
||||
.build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
exceptionHandler.handleExceptionAsWarning(log, getClass().getName() + ".getDispute", cause, responseObserver);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDisputes(GetDisputesRequest req, StreamObserver<GetDisputesReply> responseObserver) {
|
||||
try {
|
||||
var disputes = coreApi.getDisputes();
|
||||
var disputesProtobuf = disputes.stream()
|
||||
.map(d -> d.toProtoMessage())
|
||||
.collect(Collectors.toList());
|
||||
var reply = GetDisputesReply.newBuilder()
|
||||
.addAllDisputes(disputesProtobuf)
|
||||
.build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
exceptionHandler.handleException(log, cause, responseObserver);
|
||||
}
|
||||
UserThread.execute(() -> {
|
||||
try {
|
||||
var disputes = coreApi.getDisputes();
|
||||
var disputesProtobuf = disputes.stream()
|
||||
.map(d -> d.toProtoMessage())
|
||||
.collect(Collectors.toList());
|
||||
var reply = GetDisputesReply.newBuilder()
|
||||
.addAllDisputes(disputesProtobuf)
|
||||
.build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
exceptionHandler.handleException(log, cause, responseObserver);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resolveDispute(ResolveDisputeRequest req, StreamObserver<ResolveDisputeReply> responseObserver) {
|
||||
try {
|
||||
var winner = ProtoUtil.enumFromProto(DisputeResult.Winner.class, req.getWinner().name());
|
||||
var reason = ProtoUtil.enumFromProto(DisputeResult.Reason.class, req.getReason().name());
|
||||
coreApi.resolveDispute(req.getTradeId(), winner, reason, req.getSummaryNotes(), req.getCustomPayoutAmount());
|
||||
var reply = ResolveDisputeReply.newBuilder().build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
cause.printStackTrace();
|
||||
exceptionHandler.handleExceptionAsWarning(log, getClass().getName() + ".resolveDispute", cause, responseObserver);
|
||||
}
|
||||
UserThread.execute(() -> {
|
||||
try {
|
||||
var winner = ProtoUtil.enumFromProto(DisputeResult.Winner.class, req.getWinner().name());
|
||||
var reason = ProtoUtil.enumFromProto(DisputeResult.Reason.class, req.getReason().name());
|
||||
coreApi.resolveDispute(req.getTradeId(), winner, reason, req.getSummaryNotes(), req.getCustomPayoutAmount());
|
||||
var reply = ResolveDisputeReply.newBuilder().build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
cause.printStackTrace();
|
||||
exceptionHandler.handleExceptionAsWarning(log, getClass().getName() + ".resolveDispute", cause, responseObserver);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendDisputeChatMessage(SendDisputeChatMessageRequest req,
|
||||
StreamObserver<SendDisputeChatMessageReply> responseObserver) {
|
||||
try {
|
||||
var attachmentsProto = req.getAttachmentsList();
|
||||
var attachments = attachmentsProto.stream().map(a -> Attachment.fromProto(a))
|
||||
.collect(Collectors.toList());
|
||||
coreApi.sendDisputeChatMessage(req.getDisputeId(), req.getMessage(), new ArrayList(attachments));
|
||||
var reply = SendDisputeChatMessageReply.newBuilder().build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
exceptionHandler.handleException(log, cause, responseObserver);
|
||||
}
|
||||
UserThread.execute(() -> {
|
||||
try {
|
||||
var attachmentsProto = req.getAttachmentsList();
|
||||
var attachments = attachmentsProto.stream().map(a -> Attachment.fromProto(a))
|
||||
.collect(Collectors.toList());
|
||||
coreApi.sendDisputeChatMessage(req.getDisputeId(), req.getMessage(), new ArrayList(attachments));
|
||||
var reply = SendDisputeChatMessageReply.newBuilder().build();
|
||||
responseObserver.onNext(reply);
|
||||
responseObserver.onCompleted();
|
||||
} catch (Throwable cause) {
|
||||
exceptionHandler.handleException(log, cause, responseObserver);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
final ServerInterceptor[] interceptors() {
|
||||
|
|
|
|||
|
|
@ -77,18 +77,18 @@ task getJavaBinariesDownloadURLs {
|
|||
// -- macOS ( -> use the tar.gz JDK link)
|
||||
// -- windows ( -> use the .zip JDK link)
|
||||
Map jdk21Binaries = [
|
||||
'linux' : 'https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-linux-amd64-full.tar.gz',
|
||||
'linux-sha256' : '7eda80851fba1da023e03446c77100f19e7c770491b0d5bc9f893044e1b2b69b',
|
||||
'linux-aarch64' : 'https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-linux-aarch64-full.tar.gz',
|
||||
'linux-aarch64-sha256' : 'a477fc72085f30b03bf71fbed47923cea3b6f33b5b6a5a74718623b772a3a043',
|
||||
'mac' : 'https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-macos-amd64-full.tar.gz',
|
||||
'mac-sha256' : '42b528206595e559803b6f9f6bdbbf236ec6d10684058f46bc5261f5498d345c',
|
||||
'mac-aarch64' : 'https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-macos-aarch64-full.tar.gz',
|
||||
'mac-aarch64-sha256' : 'eba73a9bff7234220dc9a1da7f44b3d7ed2a562663eadc1c53bd74b355839a55',
|
||||
'windows' : 'https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-windows-amd64-full.zip',
|
||||
'windows-sha256' : 'f823eff0234af5bef095e53e5431191dbee8c2e42ca321eda23148a15cbf8d5b',
|
||||
'windows-aarch64' : 'https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-windows-aarch64-full.zip',
|
||||
'windows-aarch64-sha256': 'a2e9edecaf9637f83ef1cddab3a74f39ac55f8e1a479f10f3584ad939dfadd0a'
|
||||
'linux' : 'https://download.bell-sw.com/java/21.0.9+15/bellsoft-jdk21.0.9+15-linux-amd64-full.tar.gz',
|
||||
'linux-sha256' : 'cada3343156c10dab634a7caca586941665af8f58a680664846adc2a27542968',
|
||||
'linux-aarch64' : 'https://download.bell-sw.com/java/21.0.9+15/bellsoft-jdk21.0.9+15-linux-aarch64-full.tar.gz',
|
||||
'linux-aarch64-sha256' : '09081d587a59f48d2900d62f3008f5a786a27932d68d64eeb4938aa715bf1ea8',
|
||||
'mac' : 'https://download.bell-sw.com/java/21.0.9+15/bellsoft-jdk21.0.9+15-macos-amd64-full.tar.gz',
|
||||
'mac-sha256' : 'f7ceb9743fe96da0e3b07f64aa23c6f54c39d134af01ed56869db0864c0cd13d',
|
||||
'mac-aarch64' : 'https://download.bell-sw.com/java/21.0.9+15/bellsoft-jdk21.0.9+15-macos-aarch64-full.tar.gz',
|
||||
'mac-aarch64-sha256' : '6af4be6c59c2ac4e2d89ee940e26f19ec09ea86fac0405058bc3d7f1f805b78c',
|
||||
'windows' : 'https://download.bell-sw.com/java/21.0.9+15/bellsoft-jdk21.0.9+15-windows-amd64-full.zip',
|
||||
'windows-sha256' : 'ff1260f6c234799cebeb4df08b68da3fd066ad6e4209c67dd3de7bc4fb7e9a35',
|
||||
'windows-aarch64' : 'https://download.bell-sw.com/java/21.0.9+15/bellsoft-jdk21.0.9+15-windows-aarch64-full.zip',
|
||||
'windows-aarch64-sha256': '5396566e494ebca5119681cb9961f69310b5b315d24ca1b4c897b71ebfc4fbed'
|
||||
]
|
||||
|
||||
String osKey
|
||||
|
|
|
|||
|
|
@ -314,37 +314,39 @@ public class PendingTradesDataModel extends ActivatableDataModel {
|
|||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private void onListChanged() {
|
||||
synchronized (tradeManager.getObservableList()) {
|
||||
UserThread.execute(() -> {
|
||||
synchronized (tradeManager.getObservableList()) {
|
||||
|
||||
// add or remove listener for hidden trades
|
||||
for (Trade trade : tradeManager.getObservableList()) {
|
||||
if (isTradeShown(trade)) {
|
||||
if (hiddenTrades.contains(trade)) {
|
||||
UserThread.execute(() -> trade.stateProperty().removeListener(hiddenStateChangeListener));
|
||||
hiddenTrades.remove(trade);
|
||||
}
|
||||
} else {
|
||||
if (!hiddenTrades.contains(trade)) {
|
||||
UserThread.execute(() -> trade.stateProperty().addListener(hiddenStateChangeListener));
|
||||
hiddenTrades.add(trade);
|
||||
// add or remove listener for hidden trades
|
||||
for (Trade trade : tradeManager.getObservableList()) {
|
||||
if (isTradeShown(trade)) {
|
||||
if (hiddenTrades.contains(trade)) {
|
||||
UserThread.execute(() -> trade.stateProperty().removeListener(hiddenStateChangeListener));
|
||||
hiddenTrades.remove(trade);
|
||||
}
|
||||
} else {
|
||||
if (!hiddenTrades.contains(trade)) {
|
||||
UserThread.execute(() -> trade.stateProperty().addListener(hiddenStateChangeListener));
|
||||
hiddenTrades.add(trade);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add shown trades to list
|
||||
synchronized (list) {
|
||||
list.clear();
|
||||
list.addAll(tradeManager.getObservableList().stream()
|
||||
.filter(trade -> isTradeShown(trade))
|
||||
.map(trade -> new PendingTradesListItem(trade, btcFormatter))
|
||||
.collect(Collectors.toList()));
|
||||
|
||||
// add shown trades to list
|
||||
synchronized (list) {
|
||||
list.clear();
|
||||
list.addAll(tradeManager.getObservableList().stream()
|
||||
.filter(trade -> isTradeShown(trade))
|
||||
.map(trade -> new PendingTradesListItem(trade, btcFormatter))
|
||||
.collect(Collectors.toList()));
|
||||
|
||||
// we sort by date, earliest first
|
||||
list.sort((o1, o2) -> o2.getTrade().getDate().compareTo(o1.getTrade().getDate()));
|
||||
// we sort by date, earliest first
|
||||
list.sort((o1, o2) -> o2.getTrade().getDate().compareTo(o1.getTrade().getDate()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
selectBestItem();
|
||||
selectBestItem();
|
||||
});
|
||||
}
|
||||
|
||||
private boolean isTradeShown(Trade trade) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ On Linux and macOS, install Java JDK 21:
|
|||
|
||||
```
|
||||
curl -s "https://get.sdkman.io" | bash
|
||||
sdk install java 21.0.2.fx-librca
|
||||
sdk install java 21.0.9.fx-librca
|
||||
```
|
||||
|
||||
Alternatively, on Ubuntu 22.04:
|
||||
|
|
@ -47,7 +47,7 @@ On Windows, install MSYS2 and Java JDK 21:
|
|||
|
||||
32-bit: `pacman -S mingw-w64-i686-toolchain make mingw-w64-i686-cmake git`
|
||||
6. `curl -s "https://get.sdkman.io" | bash`
|
||||
7. `sdk install java 21.0.2.fx-librca`
|
||||
7. `sdk install java 21.0.9.fx-librca`
|
||||
|
||||
## Fork and build Haveno
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ On all platforms, install Java JDK 21:
|
|||
|
||||
```
|
||||
curl -s "https://get.sdkman.io" | bash
|
||||
sdk install java 21.0.2.fx-librca
|
||||
sdk install java 21.0.9.fx-librca
|
||||
```
|
||||
|
||||
Restart the terminal for the changes to take effect.
|
||||
|
|
|
|||
|
|
@ -2405,86 +2405,83 @@
|
|||
<sha256 value="0859ba0d5cfeefb13964e5862c036faa48a0bccff4932638fb13fe3445df33f7" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.openjfx" name="javafx-base" version="21.0.2">
|
||||
<artifact name="javafx-base-21.0.2-linux.jar">
|
||||
<sha256 value="a8f3674bac12b07acda55191579586cfe9f842b91bf06bee08b14d06397a3ffd" origin="Generated by Gradle"/>
|
||||
<component group="org.openjfx" name="javafx-base" version="21.0.9">
|
||||
<artifact name="javafx-base-21.0.9-linux.jar">
|
||||
<sha256 value="c31ce9b91ae005b461f1839d1e0d39ebf1872e71dad12672961b099f7fb25db7" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-base-21.0.2-mac-aarch64.jar">
|
||||
<sha256 value="41d00909245d4af11ef53962171abe01c36ac02b916a6b37cc3860d48b3c471e" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-base-21.0.9-mac-aarch64.jar">
|
||||
<sha256 value="eb41a8159be86e3e76ee0f2e18b2bce85e8613da3188fdce13527a7dda644222" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-base-21.0.2-mac.jar">
|
||||
<sha256 value="94e7dee515ab829a3911cf5d5ccb00c7144056190195cc1725d052f70a21ffe5" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-base-21.0.9-mac.jar">
|
||||
<sha256 value="77563ef0a587cb61069253e793bda6db6c05e7a08024b3a21ced2f0d8a5130c9" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-base-21.0.2-win.jar">
|
||||
<sha256 value="c7628cdb5bd36029d7cb8fd087ac2f69c407f8f4b959f416eddaaf50a6f57323" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-base-21.0.9-win.jar">
|
||||
<sha256 value="95d680b5d0b1ed9358376b12fc2f30f10e813f04f929e51698eb5507867cd408" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-base-21.0.2.jar">
|
||||
<sha256 value="6437ceabf3c0da57ccc08b1cd5430f655923cfef0bcfdae89273f4a267912fbd" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-base-21.0.9.jar">
|
||||
<sha256 value="31bcb252641eed1fdfc6a89d361ad75532a02af8fea198fd3bc48b5ec128c1b0" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.openjfx" name="javafx-controls" version="21.0.2">
|
||||
<artifact name="javafx-controls-21.0.2-linux.jar">
|
||||
<sha256 value="c6ddb7e90c0fe256c212fd331d297a03a4840c61a6b330893ffc54c2d7c6326b" origin="Generated by Gradle"/>
|
||||
<component group="org.openjfx" name="javafx-controls" version="21.0.9">
|
||||
<artifact name="javafx-controls-21.0.9-linux.jar">
|
||||
<sha256 value="1ccf2346e15fed71e8ca93ad6201789c26723fb50baf65209627430a24991c15" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-controls-21.0.2-mac-aarch64.jar">
|
||||
<sha256 value="5b6a41895b1fa5e2a52acc08f7be9494e87d3ed307b76fd2c698b4eadbc5ab35" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-controls-21.0.9-mac-aarch64.jar">
|
||||
<sha256 value="d5abb1fbfccf5cd678e13ff79446f4b4bf306413b3147e8df78dccd1c98a43f1" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-controls-21.0.2-mac.jar">
|
||||
<sha256 value="6cd73004e5ef92ce7be00c4f2ac4be2ab26fdd4a8dba3a58cf95d261a10f352b" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-controls-21.0.9-mac.jar">
|
||||
<sha256 value="5d32885166eba7f8e6d347ea9f95844b2f3e5f8acdb6b51bd8be92727a98d38e" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-controls-21.0.2-win.jar">
|
||||
<sha256 value="3be19bed6f59f0c6fa022d9ecc7a7b9ab5a062867864054f78e1bd4836037093" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-controls-21.0.9-win.jar">
|
||||
<sha256 value="991a8fbdcb289e717b3f5ada39d2c948d9a7cd8c798a9e2311a4b574274dd1e2" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-controls-21.0.2.jar">
|
||||
<sha256 value="0673842ff63bfe06476ee095a6b25bb0a1d074d87b9f8d42148ecb5b036081b0" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-controls-21.0.9.jar">
|
||||
<sha256 value="44a3ee7fc4ef878dc4bbf72cbf54d9c3d829c02196ec1077f69e8b02a9892f19" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.openjfx" name="javafx-fxml" version="21.0.2">
|
||||
<artifact name="javafx-fxml-21.0.2-linux.jar">
|
||||
<sha256 value="24fefcf2354e183c5a5decb65f090c1fe896f88ec7f7a3730f473bd251a4ee19" origin="Generated by Gradle"/>
|
||||
<component group="org.openjfx" name="javafx-fxml" version="21.0.9">
|
||||
<artifact name="javafx-fxml-21.0.9-linux.jar">
|
||||
<sha256 value="c5982ef2f73db64848f3cdea2d1c918a2c0a8891b454412bcc106a7dcf6e2217" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-fxml-21.0.2-mac-aarch64.jar">
|
||||
<sha256 value="c6521279f68bdbc5bba3082c6b3c50b5100c919aa34fedff66246bca89fd9201" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-fxml-21.0.9-mac-aarch64.jar">
|
||||
<sha256 value="f3f360e5d52b00e07f226fc141c443fd7c7fc46faac89f84190f45122088c6f5" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-fxml-21.0.2-mac.jar">
|
||||
<sha256 value="c599615e11b2d8ed9d68afa8f82b749fc46bc5eb0ee1611097c15f312e34950d" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-fxml-21.0.9-mac.jar">
|
||||
<sha256 value="b9b72f52aa3635f5f75bf13449c398191bf0f5a950caa8e1952aa90802317435" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-fxml-21.0.2-win.jar">
|
||||
<sha256 value="7bb4c8c58ebd241e425206bd5cb79e9cf0f624701ab85cf7802d4b91f68e1ce5" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-fxml-21.0.9-win.jar">
|
||||
<sha256 value="e5319d6e5e2b27e6f5b840d5fe7abd3a016857115cc0b2b733336b701d681acc" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.openjfx" name="javafx-graphics" version="21.0.2">
|
||||
<artifact name="javafx-graphics-21.0.2-linux.jar">
|
||||
<sha256 value="a1951e6db7616f143b2a4bc31e6cae26960e7956658015839f60830a9cf5016b" origin="Generated by Gradle"/>
|
||||
<component group="org.openjfx" name="javafx-graphics" version="21.0.9">
|
||||
<artifact name="javafx-graphics-21.0.9-linux.jar">
|
||||
<sha256 value="5e68feb4acd2012ceafe5d2fe2f9eacae868936283c6f0de1ca3c83fbe0e34a3" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-graphics-21.0.2-mac-aarch64.jar">
|
||||
<sha256 value="098e545644378ad521f03686464d0be202c99d11b2a234cf4d51dd5d11287e61" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-graphics-21.0.9-mac-aarch64.jar">
|
||||
<sha256 value="e78affd7b4b2c3704716fa4097a7427152e23de353e384618ca87747068646df" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-graphics-21.0.2-mac.jar">
|
||||
<sha256 value="289fab031737ad5a4a5eabd9d5c7f52b6e2a506cab9dcab0356eb37c08a73a2e" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-graphics-21.0.9-mac.jar">
|
||||
<sha256 value="b18362d022a0071a8b5c21ec906d0a27587ed300eec7c0e8cd46beba5879b9a8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-graphics-21.0.2-win.jar">
|
||||
<sha256 value="55947b98e30424b831f8e1f0e80656355d244f2d57df679841a2e07cbbd84729" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-graphics-21.0.9-win.jar">
|
||||
<sha256 value="97d85e83cf16964ab015ff735df6f7f11fe115f78144ca8f1949e89a8bfddd78" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-graphics-21.0.2.jar">
|
||||
<sha256 value="3d4585f884bf64094b0771a78c5046b62eb8db9f15cc01cdc4136d72f26d4188" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-graphics-21.0.9.jar">
|
||||
<sha256 value="f8374c61285d852ff16e4f576566bc6e049308a535d61851a611018fec5e7515" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.openjfx" name="javafx-swing" version="21.0.2">
|
||||
<artifact name="javafx-swing-21.0.2-linux.jar">
|
||||
<sha256 value="67a4369cd556ed9b8b6970116e5f5f7f55ef64e54aaddbcc3f7950f7590631b5" origin="Generated by Gradle"/>
|
||||
<component group="org.openjfx" name="javafx-swing" version="21.0.9">
|
||||
<artifact name="javafx-swing-21.0.9-linux.jar">
|
||||
<sha256 value="fa86819f94a900ff723e12f878ad28e6233b1d881101f846abe992b53935fc5f" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-swing-21.0.2-mac-aarch64.jar">
|
||||
<sha256 value="5e6b5f10350915d92e2df8d602646eccf9b7f62c56fe04849a6b6f647d50fb74" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-swing-21.0.9-mac-aarch64.jar">
|
||||
<sha256 value="9559ca8feda141d60511a72b832a3e50d5aaa8ecbcf01fefcb629f13ed690065" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-swing-21.0.2-mac.jar">
|
||||
<sha256 value="2f047f7a4e5bc8e9603c23b168b472590a0a0607ba16b6c62d5f9b4f361d12ad" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-swing-21.0.9-mac.jar">
|
||||
<sha256 value="e3b3933b0d065e3a650c9ebb18b2a47146cfab390542b0464bcd87329af07054" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-swing-21.0.2-mac.jar-aarch64">
|
||||
<sha256 value="5e6b5f10350915d92e2df8d602646eccf9b7f62c56fe04849a6b6f647d50fb74" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="javafx-swing-21.0.2-win.jar">
|
||||
<sha256 value="d34a842a7e6fe4712f691dc578503376da8206352fefb17350005e89164db9ec" origin="Generated by Gradle"/>
|
||||
<artifact name="javafx-swing-21.0.9-win.jar">
|
||||
<sha256 value="66a8a72f6ac586c016d2372fb94dec509b5fdc6816d38d96586d8349b67e1e4f" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.opentest4j" name="opentest4j" version="1.2.0">
|
||||
|
|
|
|||
|
|
@ -25,9 +25,10 @@ cd /D "%~dp0"
|
|||
|
||||
title Install Java
|
||||
|
||||
set jdk_version=21.0.2
|
||||
set jdk_filename=openjdk-%jdk_version%_windows-x64_bin
|
||||
set jdk_url=https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_windows-x64_bin.zip
|
||||
set jdk_version=21.0.9
|
||||
set jdk_build=10
|
||||
set jdk_filename=OpenJDK21U-jdk_x64_windows_hotspot_%jdk_version%_%jdk_build%
|
||||
set jdk_url=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9+10/OpenJDK21U-jdk_x64_windows_hotspot_21.0.9_10.zip
|
||||
|
||||
if exist "%PROGRAMFILES%\Java\openjdk\jdk-%jdk_version%" (
|
||||
echo %PROGRAMFILES%\Java\openjdk\jdk-%jdk_version% already exists, skipping install
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ set -e
|
|||
unameOut="$(uname -s)"
|
||||
case "${unameOut}" in
|
||||
Linux*)
|
||||
JAVA_HOME=/usr/lib/jvm/openjdk-21.0.2
|
||||
JDK_FILENAME=openjdk-21.0.2_linux-x64_bin.tar.gz
|
||||
JDK_URL=https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz
|
||||
JAVA_HOME=/usr/lib/jvm/openjdk-21.0.9
|
||||
JDK_FILENAME=OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz
|
||||
JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9+10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz
|
||||
|
||||
# Determine which package manager to use depending on the distribution
|
||||
declare -A osInfo;
|
||||
|
|
@ -52,9 +52,9 @@ case "${unameOut}" in
|
|||
update-alternatives --set javac $JAVA_HOME/bin/javac
|
||||
;;
|
||||
Darwin*)
|
||||
JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-21.0.2.jdk/Contents/Home
|
||||
JDK_FILENAME=openjdk-21.0.2_macos-x64_bin.tar.gz
|
||||
JDK_URL=https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_macos-x64_bin.tar.gz
|
||||
JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-21.0.9.jdk/Contents/Home
|
||||
JDK_FILENAME=OpenJDK21U-jdk_x64_mac_hotspot_21.0.9_10.tar.gz
|
||||
JDK_URL=https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9+10/OpenJDK21U-jdk_x64_mac_hotspot_21.0.9_10.tar.gz
|
||||
if [ ! -d "$JAVA_HOME" ]; then
|
||||
if [[ $(command -v brew) == "" ]]; then
|
||||
echo "Installing Homebrew"
|
||||
|
|
@ -66,10 +66,10 @@ case "${unameOut}" in
|
|||
|
||||
brew install curl
|
||||
curl -L -O $JDK_URL
|
||||
sudo mkdir /Library/Java/JavaVirtualMachines/openjdk-21.0.2.jdk | sudo bash
|
||||
sudo mkdir /Library/Java/JavaVirtualMachines/openjdk-21.0.9.jdk | sudo bash
|
||||
gunzip -c $JDK_FILENAME | tar xopf -
|
||||
sudo mv jdk-21.0.2.jdk/* /Library/Java/JavaVirtualMachines/openjdk-21.0.2.jdk
|
||||
sudo rmdir jdk-21.0.2.jdk
|
||||
sudo mv jdk-21.0.9+10/* /Library/Java/JavaVirtualMachines/openjdk-21.0.9.jdk
|
||||
sudo rmdir jdk-21.0.9+10
|
||||
rm $JDK_FILENAME
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue