From d79d2b2a1807d2fe8f65bfa8765c3a0681fb51f8 Mon Sep 17 00:00:00 2001 From: Daniel <101189638+cheestree@users.noreply.github.com> Date: Tue, 7 Apr 2026 15:10:43 +0100 Subject: [PATCH 1/2] Added version arg to CL Added `--version` to the CL so that it shows the verifiers' current versison. Path specificity is needed due to it picking up the main pom file in the root instead of inside liquidjava-verifier. --- .../java/liquidjava/api/CommandLineArgs.java | 19 ++++++++++++++++++- .../liquidjava/api/CommandLineLauncher.java | 5 +++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineArgs.java b/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineArgs.java index 9fe7d6d0b..6927f4ba2 100644 --- a/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineArgs.java +++ b/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineArgs.java @@ -1,7 +1,11 @@ package liquidjava.api; +import java.io.FileReader; +import java.nio.file.Path; import java.util.List; -import java.util.concurrent.Callable; + +import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import picocli.CommandLine.Command; import picocli.CommandLine.Option; @@ -12,9 +16,22 @@ public class CommandLineArgs { @Option(names = {"-h", "--help"}, usageHelp = true, description = "Display this help message") public boolean help; + @Option(names = { "-v", "--version" }, versionHelp = true, description = "Display the version of LiquidJava") + public boolean version; + @Option(names = { "-d", "--debug" }, description = "Enable debug mode for more detailed output") public boolean debugMode; @Parameters(arity = "1..*", paramLabel = "<...paths>", description = "Paths to be verified by LiquidJava") public List paths; + + public String getVersionString() { + Path pomPath = Path.of("liquidjava-verifier", "pom.xml"); + try (FileReader fileReader = new FileReader(pomPath.toFile())) { + Model model = new MavenXpp3Reader().read(fileReader); + return model.getVersion(); + } catch (Exception ignored) { + return "unknown"; + } + } } diff --git a/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java b/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java index 796928c8b..68bbac994 100644 --- a/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java +++ b/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java @@ -31,6 +31,11 @@ public static void main(String[] args) { return; } + if (cmd.isVersionHelpRequested()) { + System.out.println("LiquidJava verifier Version: " + cmdArgs.getVersionString()); + return; + } + launch(cmdArgs.paths.stream().toArray(String[]::new)); // print diagnostics From 64b79a2b7ca96e50320046a83f3eaaff50dca3d3 Mon Sep 17 00:00:00 2001 From: Daniel <101189638+cheestree@users.noreply.github.com> Date: Tue, 7 Apr 2026 15:26:48 +0100 Subject: [PATCH 2/2] Updated version text Co-authored-by: Ricardo Costa --- .../src/main/java/liquidjava/api/CommandLineLauncher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java b/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java index 68bbac994..38fe5d0c6 100644 --- a/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java +++ b/liquidjava-verifier/src/main/java/liquidjava/api/CommandLineLauncher.java @@ -32,7 +32,7 @@ public static void main(String[] args) { } if (cmd.isVersionHelpRequested()) { - System.out.println("LiquidJava verifier Version: " + cmdArgs.getVersionString()); + System.out.println("liquidjava " + cmdArgs.getVersionString()); return; }