Homebrew fixes

This commit is contained in:
crschnick 2023-05-01 09:21:14 +00:00
parent e1fa5a9c52
commit 9f4359a4eb
2 changed files with 25 additions and 28 deletions

View file

@ -9,7 +9,7 @@ import javafx.scene.layout.Region;
import java.time.Instant; import java.time.Instant;
public class HomebrewUpdater extends UpdateHandler { public class HomebrewUpdater extends GitHubUpdater {
public HomebrewUpdater() { public HomebrewUpdater() {
super(true); super(true);
@ -20,31 +20,29 @@ public class HomebrewUpdater extends UpdateHandler {
var snippet = CodeSnippet.builder() var snippet = CodeSnippet.builder()
.keyword("brew") .keyword("brew")
.space() .space()
.keyword("install") .keyword("upgrade")
.space()
.identifier("--cask")
.space() .space()
.string("xpipe") .string("xpipe")
.identifier("@")
.type(getPreparedUpdate().getValue().getVersion())
.build(); .build();
return new CodeSnippetComp(false, new SimpleObjectProperty<>(snippet)).createRegion(); return new CodeSnippetComp(false, new SimpleObjectProperty<>(snippet)).createRegion();
} }
public AvailableRelease refreshUpdateCheckImpl() throws Exception { @Override
try (var sc = ShellStore.createLocal().create().start()) { public void prepareUpdateImpl() {
var latest = sc.executeStringSimpleCommand( var changelogString =
"choco outdated -r --nocolor").lines().filter(s -> s.startsWith("xpipe")).findAny().orElseThrow().split("\\|")[2]; AppDownloads.downloadChangelog(lastUpdateCheckResult.getValue().getVersion(), false);
var isUpdate = isUpdate(latest); var changelog = changelogString.orElse(null);
var rel = new AvailableRelease(
AppProperties.get().getVersion(), var rel = new PreparedUpdate(
XPipeDistributionType.get().getId(), AppProperties.get().getVersion(),
latest, XPipeDistributionType.get().getId(),
"https://community.chocolatey.org/packages/xpipe/" + latest, lastUpdateCheckResult.getValue().getVersion(),
null, lastUpdateCheckResult.getValue().getReleaseUrl(),
null, null,
Instant.now(), changelog,
isUpdate); lastUpdateCheckResult.getValue().getAssetType());
lastUpdateCheckResult.setValue(rel); preparedUpdate.setValue(rel);
return lastUpdateCheckResult.getValue();
}
} }
} }

View file

@ -73,15 +73,14 @@ public enum XPipeDistributionType {
} }
if (OsType.getLocal().equals(OsType.MACOS)) { if (OsType.getLocal().equals(OsType.MACOS)) {
try (var brewOut = sc.command("brew info xpipe").start()) { try (var brewOut = sc.command("brew list --casks --versions").start()) {
var out = brewOut.readStdoutDiscardErr(); var out = brewOut.readStdoutDiscardErr();
if (brewOut.getExitCode() == 0) { if (brewOut.getExitCode() == 0) {
var split = out.split("\\|"); if (out.lines().anyMatch(s -> {
if (split.length == 2) { var split = s.split(" ");
var version = split[1]; return split.length == 2 && split[0].equals("xpipe") && split[1].equals(AppProperties.get().getVersion());
if (AppProperties.get().getVersion().equals(version)) { })) {
return HOMEBREW; return HOMEBREW;
}
} }
} }
} }