This is an automated email from the ASF dual-hosted git repository.
afs pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new 7cdf5059b0 GH-4097: Support "fuseki --version"
7cdf5059b0 is described below
commit 7cdf5059b0bbedfa566006c5da4936abd3a7dc00
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Jul 28 21:03:37 2026 +0100
GH-4097: Support "fuseki --version"
---
jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java | 10 +---------
jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java | 9 +++++++++
.../main/java/org/apache/jena/fuseki/main/cmds/RunFuseki.java | 10 ++++++++++
.../java/org/apache/jena/fuseki/main/runner/FusekiArgs.java | 2 +-
4 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
index 07c8e5b2d5..c061b6ff00 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
@@ -29,12 +29,10 @@ import org.apache.jena.atlas.io.IndentedWriter;
public abstract class CmdGeneral extends CmdArgModule
{
protected ModGeneral modGeneral = new ModGeneral(this::printHelp);
- protected ModVersion modVersion = new ModVersion(true);
protected CmdGeneral(String[] argv) {
super(argv);
addModule(modGeneral);
- addModule(modVersion);
}
@Override
@@ -46,19 +44,13 @@ public abstract class CmdGeneral extends CmdArgModule
public boolean isVerbose() { return modGeneral.verbose; }
public boolean isQuiet() { return modGeneral.quiet; }
public boolean isDebug() { return modGeneral.debug; }
- protected boolean help() { return modGeneral.help; }
+ protected boolean help() { return modGeneral.help; }
final public void printHelp() {
usage();
throw new TerminationException(0);
}
- @Override
- protected void processModulesAndArgs() {
- if ( modVersion.getVersionFlag() )
- modVersion.printVersionAndExit();
- }
-
public void add(ArgDecl argDecl, String argName, String msg) {
add(argDecl);
getUsage().addUsage(argName, msg);
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
index 23f01b35d8..3457a15050 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
@@ -43,8 +43,17 @@ public abstract class CmdMain extends CmdGeneral
// gets a chance to create a logger.
static { LogCtl.setLogging(); }
+ protected ModVersion modVersion = new ModVersion(true);
+
protected CmdMain(String[] args) {
super(args);
+ addModule(modVersion);
+ }
+
+ @Override
+ protected void processModulesAndArgs() {
+ if ( modVersion.getVersionFlag() )
+ modVersion.printVersionAndExit();
}
/** Run command - exit on failure */
diff --git
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/RunFuseki.java
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/RunFuseki.java
index 2a3785b0b1..580850ff5d 100644
---
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/RunFuseki.java
+++
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/RunFuseki.java
@@ -23,6 +23,7 @@ package org.apache.jena.fuseki.main.cmds;
import java.util.function.Consumer;
+import org.apache.jena.atlas.lib.Version;
import org.apache.jena.cmd.CmdException;
import org.apache.jena.fuseki.Fuseki;
import org.apache.jena.fuseki.main.FusekiAbortException;
@@ -32,6 +33,7 @@ class RunFuseki {
// This class wraps an entry point so that it can take control of logging
setup.
// This class does not depend via inheritance on any Jena code
// and does not trigger Jena initialization.
+ //
// FusekiLogging runs before any Jena code can trigger logging setup.
//
// Inheritance causes initialization in the super class first, before class
@@ -40,6 +42,14 @@ class RunFuseki {
static { FusekiLogging.setLogging(); }
public static void run(String[] args, Consumer<String[]> action) {
+ if ( args.length == 1) {
+ String arg = args[0];
+ if ( "--version".equals(arg) || "-version".equals(arg) ) {
+ Version.printVersion(System.out, "Fuseki",
Version.versionForClass(Fuseki.class));
+ System.exit(0);
+ }
+ }
+
try {
action.accept(args);
} catch (IllegalArgumentException | CmdException ex ) {
diff --git
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/runner/FusekiArgs.java
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/runner/FusekiArgs.java
index 5ee7b2a722..651d3d08a4 100644
---
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/runner/FusekiArgs.java
+++
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/runner/FusekiArgs.java
@@ -195,7 +195,7 @@ public class FusekiArgs extends CmdGeneral {
// Execute a step for the argument handlers.
private static void runArgsHandlers( List<? extends
FusekiServerArgsHandler> argsHandlers, Consumer<FusekiServerArgsHandler>
action) {
for (FusekiServerArgsHandler argsHandler : argsHandlers) {
- action.accept( argsHandler);
+ action.accept(argsHandler);
}
}
// -- Argument handling