You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2023/05/28 16:23:53 UTC
[jena] branch main updated: GH-1880: Use jar manifest info for version information
This is an automated email from the ASF dual-hosted git repository.
andy 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 086ae2fa21 GH-1880: Use jar manifest info for version information
new d1b54c534b Merge pull request #1885 from afs/version
086ae2fa21 is described below
commit 086ae2fa21746252193ed94e7b4950cb40b766b1
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Fri May 26 11:03:51 2023 +0100
GH-1880: Use jar manifest info for version information
---
jena-arq/pom.xml | 16 ---
.../org/apache/jena/arq/arq-properties.xml | 8 --
.../java/org/apache/jena/sparql/util/TS_Util.java | 1 -
.../org/apache/jena/sparql/util/TestVersion.java | 81 -------------
.../java/org/apache/jena/atlas/lib/Version.java | 131 ++++-----------------
.../java/org/apache/jena/atlas/lib/TS_Lib.java | 1 +
.../org/apache/jena/atlas/lib/TestVersion.java | 30 ++---
jena-cmds/src/main/java/arq/cmdline/CmdARQ.java | 2 -
jena-cmds/src/main/java/arq/query.java | 4 +-
.../main/java/org/apache/jena/cmd/ModVersion.java | 34 +++++-
jena-cmds/src/main/java/riotcmd/CmdLangParse.java | 5 +-
jena-cmds/src/main/java/shacl/shacl.java | 16 +--
jena-cmds/src/main/java/shex/shex.java | 16 +--
jena-cmds/src/main/java/tdb/cmdline/CmdTDB.java | 6 +-
jena-cmds/src/main/java/tdb/tdbconfig.java | 2 +-
jena-cmds/src/main/java/tdb2/cmdline/CmdTDB.java | 4 -
jena-cmds/src/test/java/arq/rdftests.java | 3 +-
jena-core/pom.xml | 8 --
.../resources/org/apache/jena/jena-properties.xml | 11 --
jena-fuseki2/jena-fuseki-core/pom.xml | 18 +--
.../org/apache/jena/fuseki/fuseki-properties.xml | 8 --
.../apache/jena/fuseki/main/cmds/FusekiMain.java | 2 +-
.../java/org/apache/jena/fuseki/cmd/FusekiCmd.java | 2 -
.../jena/jdbc/mem/metadata/MemDatasetMetadata.java | 14 +--
.../remote/metadata/RemoteEndpointMetadata.java | 9 +-
.../jena/jdbc/tdb/metadata/TDBDatasetMetadata.java | 18 +--
jena-tdb1/pom.xml | 18 ---
.../org/apache/jena/tdb/tdb-properties.xml | 8 --
jena-tdb2/pom.xml | 19 +--
.../org/apache/jena/tdb2/tdb2-properties.xml | 8 --
30 files changed, 100 insertions(+), 403 deletions(-)
diff --git a/jena-arq/pom.xml b/jena-arq/pom.xml
index 3d6a7f3362..d0904424ac 100644
--- a/jena-arq/pom.xml
+++ b/jena-arq/pom.xml
@@ -172,22 +172,6 @@
</dependencies>
<build>
- <resources>
- <resource>
- <filtering>true</filtering>
- <directory>src/main/resources</directory>
- <includes>
- <include>org/apache/jena/arq/arq-properties.xml</include>
- </includes>
- </resource>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- <excludes>
- <exclude>org/apache/jena/arq/arq-properties.xml</exclude>
- </excludes>
- </resource>
- </resources>
<plugins>
diff --git a/jena-arq/src/main/resources/org/apache/jena/arq/arq-properties.xml b/jena-arq/src/main/resources/org/apache/jena/arq/arq-properties.xml
deleted file mode 100644
index 8cf2bccddb..0000000000
--- a/jena-arq/src/main/resources/org/apache/jena/arq/arq-properties.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<!-- Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 -->
-<properties version="1.0">
- <comment>ARQ System Properties</comment>
- <entry key="org.apache.jena.arq.version">${project.version}</entry>
- <entry key="org.apache.jena.arq.build.datetime">${build.time.xsd}</entry>
-</properties>
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java b/jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java
index f473459759..ce1137c561 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java
@@ -27,7 +27,6 @@ import org.junit.runners.Suite.SuiteClasses ;
TestDateTimeParsing.class ,
TestList.class ,
TestFmtUtils.class,
- TestVersion.class,
TestContextUtils.class,
TestIsoMatcher.class
})
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestVersion.java b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestVersion.java
deleted file mode 100644
index 03589e9557..0000000000
--- a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestVersion.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.sparql.util;
-
-import org.apache.jena.atlas.io.IndentedLineBuffer ;
-import org.apache.jena.atlas.lib.Version ;
-import org.apache.jena.query.ARQ ;
-import org.apache.jena.riot.RIOT ;
-import org.junit.Assert ;
-import org.junit.Test ;
-
-/**
- * Tests for the {@link org.apache.jena.atlas.lib.Version} utility class
- * Done here so there is something to test.
- */
-public class TestVersion {
-
- @Test
- public void test_version_print_01() {
- Version ver = new Version();
- ver.addClass(ARQ.class);
-
- IndentedLineBuffer buffer = new IndentedLineBuffer();
- ver.print(buffer);
-
- String info = buffer.asString();
- Assert.assertNotNull(info);
- Assert.assertTrue(info.contains("ARQ"));
- }
-
- @Test
- public void test_version_string_01() {
- Version ver = new Version();
- ver.addClass(ARQ.class);
- ver.addClass(RIOT.class);
-
- String info = ver.toString();
- Assert.assertNotNull(info);
- Assert.assertTrue(info.contains("ARQ"));
- Assert.assertTrue(info.contains("\n"));
- }
-
- @Test
- public void test_version_string_02() {
- Version ver = new Version();
- ver.addClass(ARQ.class);
- ver.addClass(RIOT.class);
-
- String info = ver.toString(false);
- Assert.assertNotNull(info);
- Assert.assertTrue(info.contains("ARQ"));
- Assert.assertTrue(info.contains("\n"));
- }
-
- @Test
- public void test_version_string_03() {
- Version ver = new Version();
- ver.addClass(ARQ.class);
-
- String info = ver.toString(true);
- Assert.assertNotNull(info);
- Assert.assertTrue(info.contains("ARQ"));
- Assert.assertFalse(info.contains("\n"));
- }
-}
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Version.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Version.java
index 2337605176..81e8379092 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Version.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Version.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -18,122 +18,35 @@
package org.apache.jena.atlas.lib;
-import java.lang.reflect.Field ;
-import java.util.ArrayList ;
-import java.util.Iterator ;
-import java.util.List ;
+import java.io.PrintStream;
+import java.util.Optional;
-import org.apache.jena.atlas.io.IndentedLineBuffer ;
-import org.apache.jena.atlas.io.IndentedWriter ;
+/** In support of version information. */
+public class Version {
-/** Manage version information for subsystems */
-public class Version
-{
- private List<Class< ? >> classes = new ArrayList<>() ;
-
- /**
- * Add a class to the version information
- * @param c Class
- */
- public void addClass(Class< ? > c)
- {
- if ( ! classes.contains(c) )
- classes.add(c) ;
- }
-
- private static String FIELD_VERSION = "VERSION";
-
- private static String FIELD_BUILD_DATE = "BUILD_DATE";
-
- private static String[] fields = { /*"NAME",*/ FIELD_VERSION, FIELD_BUILD_DATE } ;
+ private Version() {}
/**
- * Prints version information for all registered classes to the given writer
- * @param writer Writer to print version information to
+ * Return the version of a class.
+ * <p>
+ * This depends on the class being in a jar with a
+ * manifest that has the version field.
+ * <p>
+ * Otherwise return {@link Optional#empty()}.
*/
- public void print(IndentedWriter writer) {
- for ( Class<?> c : classes ) {
- String x = Lib.classShortName( c );
- fields( writer, x, c );
- }
+ public static Optional<String> versionForClass(Class<?> cls) {
+ String x = cls.getPackage().getImplementationVersion();
+ return Optional.ofNullable(x);
}
- private static void fields(IndentedWriter writer, String prefix, Class< ? > cls)
- {
- for ( String field : fields )
- printField( writer, prefix, field, cls );
- }
-
- private static String field(String fieldName, Class<? > cls) {
- try {
- Field f = cls.getDeclaredField(fieldName) ;
- Object val = f.get(null) ;
- if ( val == null )
- return null ;
- return val.toString() ;
- }
- catch (IllegalArgumentException ex) {
- ex.printStackTrace() ;
- }
- catch (IllegalAccessException ex) {
- ex.printStackTrace() ;
- }
- catch (SecurityException ex) {
- ex.printStackTrace() ;
- }
- catch (NoSuchFieldException ex) {
- ex.printStackTrace() ;
- }
- return "<error>" ;
+ public static void printVersion(PrintStream out, String system, Optional<String> versionString) {
+ printVersion(out, system, versionString.orElse("<development>"));
}
- private static void printField(IndentedWriter out, String prefix, String fieldName, Class<? > cls) {
- String str = field(fieldName, cls) ;
- if ( str == null )
- return ;
- out.print(prefix) ;
- out.print(": ") ;
- out.pad(12) ;
- out.print(fieldName) ;
- out.print(": ") ;
- out.print(field(fieldName, cls)) ;
- out.println() ;
- out.flush() ;
- }
-
- /**
- * Gets user friendly version information for all registered classes as a string
- * @param singleLine Whether to print to a single line
- * @return Version information
- */
- public String toString(boolean singleLine) {
- try ( IndentedLineBuffer buffer = new IndentedLineBuffer(false) ) {
- Iterator<Class<?>> iter = classes.iterator();
- while (iter.hasNext())
- {
- Class<?> c = iter.next();
- String component = Lib.classShortName(c) ;
- String version = field(FIELD_VERSION, c);
- String timestamp = field(FIELD_BUILD_DATE, c);
- buffer.append("%s Version %s (Built %s)", component, version, timestamp);
- if (iter.hasNext()) {
- if (!singleLine) {
- buffer.println();
- } else {
- buffer.print(", ");
- }
- }
- }
-
- return buffer.asString();
- }
- }
-
- /**
- * Gets user friendly version information for all registered classes as a string
- */
- @Override
- public String toString() {
- return this.toString(false);
+ public static void printVersion(PrintStream out, String system, String versionString) {
+ if ( system == null )
+ out.printf("Apache Jena version %s\n", versionString);
+ else
+ out.printf("Apache Jena %s version %s\n", system, versionString);
}
}
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
index 87abe6eba7..9352e9553a 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
@@ -50,6 +50,7 @@ import org.junit.runners.Suite ;
, TestDateTimeUtils.class
, TestCacheSimple.class
, TestRefCountingMap.class
+ , TestVersion.class
} )
public class TS_Lib
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestVersion.java
similarity index 60%
copy from jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java
copy to jena-base/src/test/java/org/apache/jena/atlas/lib/TestVersion.java
index f473459759..a8e9b610a6 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/util/TS_Util.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestVersion.java
@@ -16,20 +16,20 @@
* limitations under the License.
*/
-package org.apache.jena.sparql.util;
+package org.apache.jena.atlas.lib;
-import org.junit.runner.RunWith ;
-import org.junit.runners.Suite ;
-import org.junit.runners.Suite.SuiteClasses ;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
-@RunWith(Suite.class)
-@SuiteClasses( {
- TestDateTimeParsing.class ,
- TestList.class ,
- TestFmtUtils.class,
- TestVersion.class,
- TestContextUtils.class,
- TestIsoMatcher.class
-})
-public class TS_Util
-{ }
+import java.util.Optional;
+
+import org.junit.Test;
+
+public class TestVersion {
+ @Test public void version_01() {
+ // This can not be a Jena class (jar probably does not exist during tests)
+ Optional<String> x = Version.versionForClass(org.slf4j.Logger.class);
+ assertNotNull("Optional<String> version info is null", x);
+ assertTrue("Version info is null", x.isPresent());
+ }
+}
diff --git a/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java b/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java
index 3ce0eca650..fd6362c10b 100644
--- a/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java
+++ b/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java
@@ -18,7 +18,6 @@
package arq.cmdline;
-import org.apache.jena.Jena;
import org.apache.jena.atlas.lib.Lib;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdGeneral;
@@ -37,7 +36,6 @@ public abstract class CmdARQ extends CmdGeneral {
protected CmdARQ(String[] argv) {
super(argv);
- modVersion.addClass(Jena.class);
super.add(strictDecl, "--strict", "Operate in strict SPARQL mode (no extensions of any kind)");
addModule(modContext);
}
diff --git a/jena-cmds/src/main/java/arq/query.java b/jena-cmds/src/main/java/arq/query.java
index b34bdc5556..c827fcdca2 100644
--- a/jena-cmds/src/main/java/arq/query.java
+++ b/jena-cmds/src/main/java/arq/query.java
@@ -22,6 +22,7 @@ import java.io.PrintStream;
import arq.cmdline.* ;
import org.apache.commons.io.output.NullPrintStream;
+import org.apache.jena.Jena;
import org.apache.jena.atlas.io.IO;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.lib.Lib ;
@@ -70,6 +71,7 @@ public class query extends CmdARQ
super(argv) ;
modQuery = new ModQueryIn(getDefaultSyntax()) ;
modDataset = setModDataset() ;
+ modVersion.addClass(null, Jena.class);
super.addModule(modQuery) ;
super.addModule(modResults) ;
@@ -150,7 +152,7 @@ public class query extends CmdARQ
// Warm up.
for ( int i = 0 ; i < warmupCount ; i++ )
- // Include the results format so that is warmed up as well.
+ // Include the results format so that is warmed up as well.
queryExec(false, modResults.getResultsFormat(), NullPrintStream.NULL_PRINT_STREAM) ;
for ( int i = 0 ; i < repeatCount ; i++ )
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/ModVersion.java b/jena-cmds/src/main/java/org/apache/jena/cmd/ModVersion.java
index 725ce8c2ea..e7127ce318 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/ModVersion.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/ModVersion.java
@@ -18,21 +18,43 @@
package org.apache.jena.cmd;
-import org.apache.jena.atlas.io.IndentedWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+import org.apache.jena.Jena;
+import org.apache.jena.atlas.lib.Pair;
import org.apache.jena.atlas.lib.Version;
+
+/**
+ * Version information.
+ * <p>
+ * The version is the manifest entry in the jar file for a
+ * class. It is not available if the class comes from a development tree where the
+ * class file is from "target" (maven).
+ */
public class ModVersion extends ModBase
{
protected final ArgDecl versionDecl = new ArgDecl(ArgDecl.NoValue, "version");
protected boolean version = false;
protected boolean printAndExit = false;
- private Version versionMgr = new Version();
+
+ // (system name, version string)
+ private List<Pair<String, Optional<String>>> descriptions = new ArrayList<>();
public ModVersion(boolean printAndExit) {
this.printAndExit = printAndExit;
}
+ /** Add a class for the version number */
public void addClass(Class<? > c) {
- versionMgr.addClass(c);
+ addClass(c.getSimpleName(), c);
+ }
+
+ /** Add a label and a class for the version number */
+ public void addClass(String name, Class<? > cls) {
+ Pair<String, Optional<String>> desc = Pair.create(name, Version.versionForClass(cls));
+ descriptions.add(desc);
}
@Override
@@ -54,7 +76,11 @@ public class ModVersion extends ModBase
}
public void printVersion() {
- versionMgr.print(IndentedWriter.stdout);
+ if ( descriptions.isEmpty() ) {
+ Version.printVersion(System.out, null, Version.versionForClass(Jena.class));
+ return;
+ }
+ descriptions.forEach(p->Version.printVersion(System.out, p.getLeft(), p.getRight()));
}
public void printVersionAndExit() {
diff --git a/jena-cmds/src/main/java/riotcmd/CmdLangParse.java b/jena-cmds/src/main/java/riotcmd/CmdLangParse.java
index 75ee678a6f..3e36b052dc 100644
--- a/jena-cmds/src/main/java/riotcmd/CmdLangParse.java
+++ b/jena-cmds/src/main/java/riotcmd/CmdLangParse.java
@@ -29,7 +29,6 @@ import arq.cmdline.ModContext;
import arq.cmdline.ModLangOutput;
import arq.cmdline.ModLangParse;
import arq.cmdline.ModTime;
-import org.apache.jena.Jena;
import org.apache.jena.atlas.io.IO;
import org.apache.jena.atlas.lib.IRILib;
import org.apache.jena.atlas.lib.Pair;
@@ -74,9 +73,7 @@ public abstract class CmdLangParse extends CmdGeneral {
addModule(modTime);
addModule(modLangOutput);
addModule(modLangParse);
-
- super.modVersion.addClass(Jena.class);
- // super.modVersion.addClass(RIOT.class) ;
+ super.modVersion.addClass(RIOT.class);
}
@Override
diff --git a/jena-cmds/src/main/java/shacl/shacl.java b/jena-cmds/src/main/java/shacl/shacl.java
index 37c4c762d9..d81f179c58 100644
--- a/jena-cmds/src/main/java/shacl/shacl.java
+++ b/jena-cmds/src/main/java/shacl/shacl.java
@@ -19,9 +19,8 @@
package shacl;
import java.util.Arrays;
+import java.util.Optional;
-import org.apache.jena.Jena;
-import org.apache.jena.atlas.io.IndentedWriter;
import org.apache.jena.atlas.lib.Version;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.sys.JenaSystem;
@@ -32,13 +31,6 @@ public class shacl {
JenaSystem.init();
}
- private static void version() {
- Version version = new Version();
- version.addClass(Jena.class) ;
- version.print(IndentedWriter.stdout);
- System.exit(0) ;
- }
-
public static void main(String...args) {
if ( args.length == 0 ) {
System.err.println("Usage: shacl SUB ARGS...");
@@ -60,9 +52,11 @@ public class shacl {
return;
case "version":
case "--version":
- case "-version":
- version();
+ case "-version": {
+ Optional<String> ver = Version.versionForClass(shacl.class);
+ Version.printVersion(System.err, "SHACL", ver);
System.exit(0);
+ }
}
// Map to full name.
diff --git a/jena-cmds/src/main/java/shex/shex.java b/jena-cmds/src/main/java/shex/shex.java
index f449ba4be9..5fa8284a13 100644
--- a/jena-cmds/src/main/java/shex/shex.java
+++ b/jena-cmds/src/main/java/shex/shex.java
@@ -19,9 +19,8 @@
package shex;
import java.util.Arrays;
+import java.util.Optional;
-import org.apache.jena.Jena;
-import org.apache.jena.atlas.io.IndentedWriter;
import org.apache.jena.atlas.lib.Version;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.sys.JenaSystem;
@@ -32,13 +31,6 @@ public class shex {
JenaSystem.init();
}
- private static void version() {
- Version version = new Version();
- version.addClass(Jena.class) ;
- version.print(IndentedWriter.stdout);
- System.exit(0) ;
- }
-
public static void main(String...args) {
if ( args.length == 0 ) {
System.err.println("Usage: shex SUB ARGS...");
@@ -59,9 +51,11 @@ public class shex {
return;
case "version":
case "--version":
- case "-version":
- version();
+ case "-version": {
+ Optional<String> ver = Version.versionForClass(shex.class);
+ Version.printVersion(System.err, "ShEx", ver);
System.exit(0);
+ }
}
// Map to full name.
diff --git a/jena-cmds/src/main/java/tdb/cmdline/CmdTDB.java b/jena-cmds/src/main/java/tdb/cmdline/CmdTDB.java
index 59c59b4574..bb67f65ae2 100644
--- a/jena-cmds/src/main/java/tdb/cmdline/CmdTDB.java
+++ b/jena-cmds/src/main/java/tdb/cmdline/CmdTDB.java
@@ -19,9 +19,7 @@
package tdb.cmdline;
import arq.cmdline.CmdARQ;
-import org.apache.jena.Jena;
import org.apache.jena.atlas.lib.Lib;
-import org.apache.jena.query.ARQ;
import org.apache.jena.query.Dataset;
import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sys.JenaSystem;
@@ -40,9 +38,7 @@ public abstract class CmdTDB extends CmdARQ {
super(argv);
init();
super.addModule(tdbDatasetAssembler);
- super.modVersion.addClass(Jena.class);
- super.modVersion.addClass(ARQ.class);
- super.modVersion.addClass(TDB.class);
+ super.modVersion.addClass("TDB1", TDB.class);
}
public static synchronized void init() {
diff --git a/jena-cmds/src/main/java/tdb/tdbconfig.java b/jena-cmds/src/main/java/tdb/tdbconfig.java
index 41f07dd85a..38f1e7e61c 100644
--- a/jena-cmds/src/main/java/tdb/tdbconfig.java
+++ b/jena-cmds/src/main/java/tdb/tdbconfig.java
@@ -216,7 +216,7 @@ public class tdbconfig extends CmdSub
protected void exec() {
System.out.println("-- " + DateTimeUtils.nowAsString() + " --");
ModVersion v = new ModVersion(true);
- v.addClass(TDB.class);
+ v.addClass("TDB1", TDB.class);
v.printVersionAndExit();
}
diff --git a/jena-cmds/src/main/java/tdb2/cmdline/CmdTDB.java b/jena-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
index a69423d81d..3ae546e596 100644
--- a/jena-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
+++ b/jena-cmds/src/main/java/tdb2/cmdline/CmdTDB.java
@@ -19,11 +19,9 @@
package tdb2.cmdline;
import arq.cmdline.CmdARQ ;
-import org.apache.jena.Jena ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.logging.LogCtl ;
import org.apache.jena.dboe.base.file.Location;
-import org.apache.jena.query.ARQ ;
import org.apache.jena.query.Dataset ;
import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sys.JenaSystem ;
@@ -41,8 +39,6 @@ public abstract class CmdTDB extends CmdARQ
super(argv) ;
init() ;
super.addModule(tdbDatasetAssembler) ;
- super.modVersion.addClass(Jena.class) ;
- super.modVersion.addClass(ARQ.class) ;
super.modVersion.addClass(TDB2.class) ;
}
diff --git a/jena-cmds/src/test/java/arq/rdftests.java b/jena-cmds/src/test/java/arq/rdftests.java
index faad7ff22f..748da7a472 100644
--- a/jena-cmds/src/test/java/arq/rdftests.java
+++ b/jena-cmds/src/test/java/arq/rdftests.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.function.Function;
import arq.cmdline.ModContext;
+import org.apache.jena.Jena;
import org.apache.jena.arq.junit.SurpressedTest;
import org.apache.jena.arq.junit.TextTestRunner;
import org.apache.jena.arq.junit.manifest.ManifestEntry;
@@ -108,7 +109,7 @@ public class rdftests extends CmdGeneral
protected rdftests(String[] argv) {
super(argv);
// super.add(baseDecl, "--base=URI", "Set the base URI");
- super.modVersion.addClass(ARQ.class);
+ super.modVersion.addClass(Jena.class);
getUsage().startCategory("Tests (execute test manifest)");
getUsage().addUsage("<manifest>", "run the tests specified in the given manifest");
add(arqDecl, "--arq", "Operate with ARQ syntax");
diff --git a/jena-core/pom.xml b/jena-core/pom.xml
index 8308f58be3..37b7adfe85 100644
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@ -127,14 +127,6 @@
<directory>src/main/resources</directory>
</resource>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>org/apache/jena/jena-properties.xml</include>
- </includes>
- <filtering>true</filtering>
- </resource>
-
</resources>
<plugins>
diff --git a/jena-core/src/main/resources/org/apache/jena/jena-properties.xml b/jena-core/src/main/resources/org/apache/jena/jena-properties.xml
deleted file mode 100644
index a231611ea2..0000000000
--- a/jena-core/src/main/resources/org/apache/jena/jena-properties.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-
-<!-- Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 -->
-<properties version="1.0">
- <comment>Jena System Properties</comment>
- <entry key="org.apache.jena.name">${project.name}</entry>
- <entry key="org.apache.jena.website">${project.url}</entry>
- <entry key="org.apache.jena.version">${project.version}</entry>
- <entry key="org.apache.jena.build.datetime">${build.time.xsd}</entry>
-</properties>
diff --git a/jena-fuseki2/jena-fuseki-core/pom.xml b/jena-fuseki2/jena-fuseki-core/pom.xml
index 9cd6e99738..54b3dbd750 100644
--- a/jena-fuseki2/jena-fuseki-core/pom.xml
+++ b/jena-fuseki2/jena-fuseki-core/pom.xml
@@ -113,24 +113,8 @@
</dependencies>
<build>
- <resources>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- <excludes>
- <exclude>org/apache/jena/fuseki/fuseki-properties.xml</exclude>
- </excludes>
- </resource>
- <resource>
- <filtering>true</filtering>
- <directory>src/main/resources</directory>
- <includes>
- <include>org/apache/jena/fuseki/fuseki-properties.xml</include>
- </includes>
- </resource>
- </resources>
-
<plugins>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/fuseki-properties.xml b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/fuseki-properties.xml
deleted file mode 100644
index 34082ebfed..0000000000
--- a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/fuseki-properties.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<!-- Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0" -->
-<properties version="1.0">
- <comment>Fuseki System Properties</comment>
- <entry key="org.apache.jena.fuseki.version">${project.version}</entry>
- <entry key="org.apache.jena.fuseki.build.datetime">${build.time.xsd}</entry>
-</properties>
diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
index d898adac4e..87c24d74a6 100644
--- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
+++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
@@ -206,7 +206,7 @@ public class FusekiMain extends CmdARQ {
add(argWithMetrics, "--metrics", "Enable /$/metrics");
add(argWithCompact, "--compact", "Enable /$/compact/*");
- super.modVersion.addClass(Fuseki.class);
+ super.modVersion.addClass("Fuseki", Fuseki.class);
}
static String argUsage = "[--config=FILE] [--mem|--desc=AssemblerFile|--file=FILE] [--port PORT] /DatasetPathName";
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
index a0c03fbbf0..ef137b7fde 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
+++ b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
@@ -43,7 +43,6 @@ import org.apache.jena.riot.RiotException;
import org.apache.jena.sparql.core.DatasetGraphFactory;
import org.apache.jena.sys.JenaSystem;
import org.apache.jena.system.Txn;
-import org.apache.jena.tdb.TDB;
import org.apache.jena.tdb.sys.Names;
import org.slf4j.Logger;
@@ -154,7 +153,6 @@ public class FusekiCmd {
add(argGZip, "--gzip=on|off",
"Enable GZip compression (HTTP Accept-Encoding) if request header set");
- super.modVersion.addClass(TDB.class);
super.modVersion.addClass(Fuseki.class);
}
diff --git a/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/metadata/MemDatasetMetadata.java b/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/metadata/MemDatasetMetadata.java
index 531abe5081..588cba7428 100644
--- a/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/metadata/MemDatasetMetadata.java
+++ b/jena-jdbc/jena-jdbc-driver-mem/src/main/java/org/apache/jena/jdbc/mem/metadata/MemDatasetMetadata.java
@@ -24,16 +24,12 @@ import org.apache.jena.atlas.lib.Version ;
import org.apache.jena.jdbc.JenaJDBC ;
import org.apache.jena.jdbc.connections.DatasetConnection ;
import org.apache.jena.jdbc.metadata.DatasetMetadata ;
-import org.apache.jena.query.ARQ ;
/**
* Connection metadata for in-memory datasets
*
*/
public class MemDatasetMetadata extends DatasetMetadata {
-
- private Version arq;
- private Version jdbc;
/**
* Creates new metadata
@@ -42,10 +38,6 @@ public class MemDatasetMetadata extends DatasetMetadata {
*/
public MemDatasetMetadata(DatasetConnection connection) throws SQLException {
super(connection);
- arq = new Version();
- arq.addClass(ARQ.class);
- jdbc = new Version();
- jdbc.addClass(JenaJDBC.class);
}
@Override
@@ -65,7 +57,7 @@ public class MemDatasetMetadata extends DatasetMetadata {
@Override
public String getDatabaseProductVersion() {
- return arq.toString();
+ return Version.versionForClass(JenaJDBC.class, "<development>");
}
@Override
@@ -85,12 +77,12 @@ public class MemDatasetMetadata extends DatasetMetadata {
@Override
public String getDriverVersion() {
- return jdbc.toString();
+ return getDatabaseProductVersion();
}
@Override
public String getURL() {
- return "http://jena.apache.org";
+ return "https://jena.apache.org";
}
@Override
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
index 5fde4ca6e3..4fd0887562 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
@@ -28,24 +28,21 @@ import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection ;
/**
* Represents metadata about connections to remote endpoints
- *
+ *
*/
public class RemoteEndpointMetadata extends JenaMetadata {
- private Version jdbc;
private RemoteEndpointConnection remoteConn;
/**
* Creates new metadata
- *
+ *
* @param connection
* Remote Endpoint connection
* @throws SQLException
*/
public RemoteEndpointMetadata(RemoteEndpointConnection connection) throws SQLException {
super(connection);
- this.jdbc = new Version();
- this.jdbc.addClass(JenaJDBC.class);
this.remoteConn = connection;
}
@@ -100,7 +97,7 @@ public class RemoteEndpointMetadata extends JenaMetadata {
@Override
public String getDriverVersion() {
- return jdbc.toString();
+ return Version.versionForClass(JenaJDBC.class, "<development>");
}
@Override
diff --git a/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/metadata/TDBDatasetMetadata.java b/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/metadata/TDBDatasetMetadata.java
index 800ef6d5ed..ce343cd1c9 100644
--- a/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/metadata/TDBDatasetMetadata.java
+++ b/jena-jdbc/jena-jdbc-driver-tdb/src/main/java/org/apache/jena/jdbc/tdb/metadata/TDBDatasetMetadata.java
@@ -25,16 +25,12 @@ import org.apache.jena.atlas.lib.Version ;
import org.apache.jena.jdbc.JenaJDBC ;
import org.apache.jena.jdbc.connections.DatasetConnection ;
import org.apache.jena.jdbc.metadata.DatasetMetadata ;
-import org.apache.jena.tdb.TDB ;
/**
* Connection metadata for TDB datasets
*
*/
public class TDBDatasetMetadata extends DatasetMetadata {
-
- private Version tdb;
- private Version jdbc;
/**
* Creates new metadata
@@ -43,10 +39,6 @@ public class TDBDatasetMetadata extends DatasetMetadata {
*/
public TDBDatasetMetadata(DatasetConnection connection) throws SQLException {
super(connection);
- tdb = new Version();
- tdb.addClass(TDB.class);
- jdbc = new Version();
- jdbc.addClass(JenaJDBC.class);
}
@Override
@@ -66,9 +58,9 @@ public class TDBDatasetMetadata extends DatasetMetadata {
@Override
public String getDatabaseProductVersion() {
- return tdb.toString(true);
+ return Version.versionForClass(JenaJDBC.class, "<development>");
}
-
+
@Override
public int getDefaultTransactionIsolation() {
return Connection.TRANSACTION_SERIALIZABLE;
@@ -86,17 +78,17 @@ public class TDBDatasetMetadata extends DatasetMetadata {
@Override
public String getDriverName() {
- return "Apache Jena - JDBC - TDB Driver";
+ return "Apache Jena - JDBC - TDB1 Driver";
}
@Override
public String getDriverVersion() {
- return jdbc.toString(true);
+ return Version.versionForClass(JenaJDBC.class, "<development>");
}
@Override
public String getURL() {
- return "http://jena.apache.org";
+ return "https://jena.apache.org";
}
@Override
diff --git a/jena-tdb1/pom.xml b/jena-tdb1/pom.xml
index 7837991523..a3fd638032 100644
--- a/jena-tdb1/pom.xml
+++ b/jena-tdb1/pom.xml
@@ -83,25 +83,7 @@
</dependencies>
<build>
- <resources>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- <excludes>
- <exclude>org/apache/jena/tdb/tdb-properties.xml</exclude>
- </excludes>
- </resource>
- <resource>
- <filtering>true</filtering>
- <directory>src/main/resources</directory>
- <includes>
- <include>org/apache/jena/tdb/tdb-properties.xml</include>
- </includes>
- </resource>
- </resources>
-
<plugins>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
diff --git a/jena-tdb1/src/main/resources/org/apache/jena/tdb/tdb-properties.xml b/jena-tdb1/src/main/resources/org/apache/jena/tdb/tdb-properties.xml
deleted file mode 100644
index 67d82551cf..0000000000
--- a/jena-tdb1/src/main/resources/org/apache/jena/tdb/tdb-properties.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<!-- Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 -->
-<properties version="1.0">
- <comment>TDB System Properties</comment>
- <entry key="org.apache.jena.tdb.version">${project.version}</entry>
- <entry key="org.apache.jena.tdb.build.datetime">${build.time.xsd}</entry>
-</properties>
diff --git a/jena-tdb2/pom.xml b/jena-tdb2/pom.xml
index 287298e0b5..bdfc93e8c7 100644
--- a/jena-tdb2/pom.xml
+++ b/jena-tdb2/pom.xml
@@ -76,24 +76,7 @@
</dependencies>
<build>
- <resources>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- <excludes>
- <exclude>org/apache/jena/tdb2/tdb2-properties.xml</exclude>
- </excludes>
- </resource>
- <resource>
- <filtering>true</filtering>
- <directory>src/main/resources</directory>
- <includes>
- <include>org/apache/jena/tdb2/tdb2-properties.xml</include>
- </includes>
- </resource>
- </resources>
-
- <plugins>
+ <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/jena-tdb2/src/main/resources/org/apache/jena/tdb2/tdb2-properties.xml b/jena-tdb2/src/main/resources/org/apache/jena/tdb2/tdb2-properties.xml
deleted file mode 100644
index e494352b5c..0000000000
--- a/jena-tdb2/src/main/resources/org/apache/jena/tdb2/tdb2-properties.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<!-- Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 -->
-<properties version="1.0">
- <comment>TDB2 System Properties</comment>
- <entry key="org.apache.jena.tdb2.version">${project.version}</entry>
- <entry key="org.apache.jena.tdb2.build.datetime">${build.time.xsd}</entry>
-</properties>