From bafd05e6e38fd837167abb4545fed9a331c2670d Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Tue, 4 Jun 2019 20:24:24 +0200 Subject: [PATCH] #430 - updated versionizer --- pom.xml | 4 +++- .../settings/SettingsController.java | 2 +- .../update/BudgetMasterUpdateService.java | 15 +++++++++++-- .../budgetmaster/update/IsExeFileHook.java | 22 +++++++++++++++++++ .../budgetmaster/update/IsJarFileHook.java | 22 +++++++++++++++++++ 5 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 src/main/java/de/deadlocker8/budgetmaster/update/IsExeFileHook.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/update/IsJarFileHook.java diff --git a/pom.xml b/pom.xml index 028d4e0b3..f80fb950e 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ <java.version>1.8</java.version> <jlibs.version>2.0.4</jlibs.version> - <versionizer.version>1.0.3</versionizer.version> + <versionizer.version>1.1.0</versionizer.version> <webjars-locator.version>0.36</webjars-locator.version> <jquery.version>3.3.1</jquery.version> <materializecss.version>1.0.0</materializecss.version> @@ -183,6 +183,8 @@ <artifactId>sortablejs</artifactId> <version>${sortablejs.version}</version> </dependency> + + <!-- selenium --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java index 4343b8771..1ba5be5d5 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java @@ -283,7 +283,7 @@ public class SettingsController extends BaseController return "redirect:/settings"; } - UpdateItem.Entry entry = new UpdateItem.Entry(budgetMasterUpdateService.getAvailableVersion(), budgetMasterUpdateService.getExecutablePath(), budgetMasterUpdateService.getFileType()); + UpdateItem.Entry entry = new UpdateItem.Entry(budgetMasterUpdateService.getAvailableVersion()); try { budgetMasterUpdateService.getUpdateService().runVersionizerInstance(entry); diff --git a/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java b/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java index bbbc67a8b..246210ba7 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java @@ -5,6 +5,7 @@ import de.deadlocker8.budgetmaster.Main; import de.deadlocker8.budgetmaster.settings.SettingsService; import de.thecodelabs.storage.settings.Storage; import de.thecodelabs.storage.settings.StorageTypes; +import de.thecodelabs.utils.util.SystemUtils; import de.thecodelabs.versionizer.VersionizerItem; import de.thecodelabs.versionizer.config.Artifact; import de.thecodelabs.versionizer.config.Repository; @@ -21,6 +22,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.io.File; +import java.nio.file.Paths; @Service public class BudgetMasterUpdateService @@ -51,6 +53,9 @@ public class BudgetMasterUpdateService updateStrategy = UpdateService.Strategy.JAR; fileType = RemoteFile.FileType.JAR; + SystemUtils.setIsJarHook(new IsJarFileHook()); + SystemUtils.setIsExeHook(new IsExeFileHook()); + if(source != null) { isRunningFromSource = false; @@ -86,6 +91,7 @@ public class BudgetMasterUpdateService artifact.setVersion(Build.getInstance().getVersionName()); artifact.setGroupId("de.deadlocker8"); artifact.setArtifactId("BudgetMaster"); + artifact.setArtifactType(Artifact.ArtifactType.RUNTIME); return artifact; } @@ -95,8 +101,13 @@ public class BudgetMasterUpdateService ClassLoader classLoader = Main.class.getClassLoader(); Repository repository = Storage.load(classLoader.getResourceAsStream("repositories.json"), StorageTypes.JSON, Repository.class); - VersionizerItem versionizerItem = new VersionizerItem(repository, artifact, executablePath); - return UpdateService.startVersionizer(versionizerItem, updateStrategy, UpdateService.InteractionType.HEADLESS, UpdateService.RepositoryType.RELEASE); + VersionizerItem versionizerItem = new VersionizerItem(repository, executablePath); + UpdateService updateService = UpdateService.startVersionizer(versionizerItem, updateStrategy, UpdateService.InteractionType.HEADLESS, UpdateService.RepositoryType.RELEASE); + if(executablePath != null) + { + updateService.addArtifact(artifact, Paths.get(executablePath)); + } + return updateService; } public UpdateService getUpdateService() diff --git a/src/main/java/de/deadlocker8/budgetmaster/update/IsExeFileHook.java b/src/main/java/de/deadlocker8/budgetmaster/update/IsExeFileHook.java new file mode 100644 index 000000000..b094cca60 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/update/IsExeFileHook.java @@ -0,0 +1,22 @@ +package de.deadlocker8.budgetmaster.update; + +import de.thecodelabs.utils.util.SystemUtils; +import org.springframework.boot.ApplicationHome; + +import java.io.File; + +public class IsExeFileHook implements SystemUtils.SystemFileHook +{ + @Override + public boolean isFileType() + { + File source = new ApplicationHome().getSource(); + if(source == null) + { + return false; + } + + String sourcePath = source.getAbsolutePath(); + return sourcePath.endsWith(".exe") || sourcePath.endsWith(".EXE"); + } +} diff --git a/src/main/java/de/deadlocker8/budgetmaster/update/IsJarFileHook.java b/src/main/java/de/deadlocker8/budgetmaster/update/IsJarFileHook.java new file mode 100644 index 000000000..6391736b4 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/update/IsJarFileHook.java @@ -0,0 +1,22 @@ +package de.deadlocker8.budgetmaster.update; + +import de.thecodelabs.utils.util.SystemUtils; +import org.springframework.boot.ApplicationHome; + +import java.io.File; + +public class IsJarFileHook implements SystemUtils.SystemFileHook +{ + @Override + public boolean isFileType() + { + File source = new ApplicationHome().getSource(); + if(source == null) + { + return false; + } + + String sourcePath = source.getAbsolutePath(); + return sourcePath.endsWith(".jar") || sourcePath.endsWith(".JAR"); + } +} -- GitLab