From 5f8507465396d221eaaa124562b4393aeda4faca Mon Sep 17 00:00:00 2001 From: Sven Carstensen Date: Tue, 30 Jun 2026 09:49:18 +0200 Subject: [PATCH] feat: App-Version aus pom.xml im Header anzeigen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Versionsnummer neben "Workflow Editor" in Klammern und kleinerer Schrift - tasklist.app-version per Maven-Resource-Filtering (@project.version@) gefüllt - @Value-Injection in MainView; Anzeige nur bei real gefülltem Wert Co-Authored-By: Claude Opus 4.8 (1M context) --- pom.xml | 2 +- .../assecutor/tasklisteditor/view/MainView.java | 15 ++++++++++++++- src/main/resources/application.properties | 4 ++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index c4167ee..ddd66fe 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ de.assecutor tasklist-editor - 0.2.0 + 0.9.0 TaskList Editor n8n-inspired editor for task list workflows diff --git a/src/main/java/de/assecutor/tasklisteditor/view/MainView.java b/src/main/java/de/assecutor/tasklisteditor/view/MainView.java index 7ef2f61..df87c89 100644 --- a/src/main/java/de/assecutor/tasklisteditor/view/MainView.java +++ b/src/main/java/de/assecutor/tasklisteditor/view/MainView.java @@ -46,6 +46,7 @@ import elemental.json.JsonArray; import elemental.json.JsonObject; import com.fasterxml.jackson.databind.JsonNode; +import org.springframework.beans.factory.annotation.Value; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -79,6 +80,7 @@ public class MainView extends VerticalLayout implements BeforeEnterObserver { private final Map instances = new HashMap<>(); private Div palettePanel; private String currentListName; + private final String appVersion; public MainView(BlockTypeRegistry registry, TaskListService taskListService, @@ -87,7 +89,9 @@ public class MainView extends VerticalLayout implements BeforeEnterObserver { CanvasService canvasService, CustomTypeService customTypeService, ElementSettingsService elementSettingsService, - ObjectMapper objectMapper) { + ObjectMapper objectMapper, + @Value("${tasklist.app-version:}") String appVersion) { + this.appVersion = appVersion; this.registry = registry; this.taskListService = taskListService; this.taskListImporter = taskListImporter; @@ -146,6 +150,15 @@ public class MainView extends VerticalLayout implements BeforeEnterObserver { title.addClassName("tasklist-title"); title.getStyle().set("white-space", "nowrap"); + if (appVersion != null && !appVersion.isBlank() && !appVersion.startsWith("@")) { + Span version = new Span(" (v" + appVersion + ")"); + version.getStyle() + .set("font-size", "0.7em") + .set("color", "var(--lumo-secondary-text-color)") + .set("white-space", "nowrap"); + title.add(version); + } + Button clear = new Button("Workflow löschen", new Icon(VaadinIcon.TRASH)); clear.addThemeVariants(ButtonVariant.LUMO_TERTIARY); clear.addClickListener(e -> { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index d1bc2f6..1dacc45 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,9 @@ server.port=8080 +# Anwendungsversion: wird beim Build per Maven-Resource-Filtering +# (spring-boot-starter-parent, @...@-Delimiter) aus der pom.xml gefüllt. +tasklist.app-version=@project.version@ + vaadin.launch-browser=true vaadin.allowed-packages=de.assecutor.tasklisteditor