From 45517f7ed2be245b6d10fc5bd9cbe88230a626e5 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 15 Jan 2019 21:53:59 +0000
Subject: [PATCH] Auto-install borg...
---
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
index e1fc3b4..6538902 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -36,14 +36,25 @@
BorgCommand command = new BorgCommand()
.setParams("--version")
.setDescription("Getting borg version.");
- JobResult<String> jobResult = getResult(command);
+
+ BorgJob<String> job = new BorgJob<>(command);
+ JobResult<String> jobResult = job.execute();
if (jobResult == null || jobResult.getStatus() != JobResult.Status.OK) {
return null;
}
- String version = jobResult.getResultObject();
- String[] strs = StringUtils.split(version);
+ String origVersion = jobResult.getResultObject();
+ String version = origVersion;
+ String[] strs = StringUtils.split(origVersion);
if (strs != null) {
- version = strs[strs.length - 1]; // Work arround: borg returns "borg-macosx64 1.1.8" as version string (command is included).
+ if (!StringUtils.containsIgnoreCase(origVersion, "borg")) {
+ version = "";
+ } else {
+ version = strs[strs.length - 1]; // Work arround: borg returns "borg-macosx64 1.1.8" as version string (command is included).
+ }
+ }
+ if (version.length() == 0 || !Character.isDigit(version.charAt(0))) {
+ log.error("Version string returned by '" + job.getCommandLineAsString() + "' not as expected (not borg?): " + origVersion);
+ return null;
}
log.info("Borg version: " + version);
return version;
--
Gitblit v1.10.0