From 7c2035e219c39f14792ae44e92b2c708ea47f6e0 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 14 Jan 2019 23:19:27 +0000
Subject: [PATCH] Auto-install borg...
---
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java | 5 +++++
borgbutler-server/src/main/java/de/micromata/borgbutler/server/BorgInstallation.java | 4 ++--
borgbutler-server/src/test/java/de/micromata/borgbutler/server/BorgInstallationTest.java | 2 ++
3 files changed, 9 insertions(+), 2 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 f9ed76e..e1fc3b4 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -10,6 +10,7 @@
import de.micromata.borgbutler.utils.DateUtils;
import de.micromata.borgbutler.utils.ReplaceUtils;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,6 +41,10 @@
return null;
}
String version = jobResult.getResultObject();
+ String[] strs = StringUtils.split(version);
+ if (strs != null) {
+ version = strs[strs.length - 1]; // Work arround: borg returns "borg-macosx64 1.1.8" as version string (command is included).
+ }
log.info("Borg version: " + version);
return version;
}
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/BorgInstallation.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/BorgInstallation.java
index 6b743f4..fe933ac 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/BorgInstallation.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/BorgInstallation.java
@@ -27,13 +27,13 @@
public void initialize() {
Configuration configuration = ConfigurationHandler.getConfiguration();
- if (BorgCommands.version() != null) {
+ if (version(configuration) != null) {
return;
}
String[] binary = getBinary(RunningMode.getOSType());
File file = download(binary);
configuration.setBorgCommand(file.getAbsolutePath());
- if (BorgCommands.version() != null) {
+ if (version(configuration) != null) {
return;
}
log.warn("No working borg version found. Please configure a borg version with minimal version '" + configuration.getMinimumRequiredBorgVersion() + "'.");
diff --git a/borgbutler-server/src/test/java/de/micromata/borgbutler/server/BorgInstallationTest.java b/borgbutler-server/src/test/java/de/micromata/borgbutler/server/BorgInstallationTest.java
index 933ad4d..e454387 100644
--- a/borgbutler-server/src/test/java/de/micromata/borgbutler/server/BorgInstallationTest.java
+++ b/borgbutler-server/src/test/java/de/micromata/borgbutler/server/BorgInstallationTest.java
@@ -17,6 +17,8 @@
ConfigurationHandler.getConfiguration().setBorgCommand("hurzel");
BorgInstallation borgInstallation = BorgInstallation.getInstance();
borgInstallation.initialize();
+ ConfigurationHandler.getConfiguration().setBorgCommand("borg");
+ borgInstallation.initialize();
}
@Test
--
Gitblit v1.10.0