Author: mreutegg
Date: Thu Sep 21 12:33:58 2017
New Revision: 1809156

URL: http://svn.apache.org/viewvc?rev=1809156&view=rev
Log:
OAK-6686: Move OakVersion to oak-commons

Added:
    
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/OakVersion.java
      - copied, changed from r1809026, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java
Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java

Copied: 
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/OakVersion.java
 (from r1809026, 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java)
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/OakVersion.java?p2=jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/OakVersion.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java&r1=1809026&r2=1809156&rev=1809156&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/OakVersion.java
 Thu Sep 21 12:33:58 2017
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.jackrabbit.oak;
+package org.apache.jackrabbit.oak.commons;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -27,34 +27,33 @@ import javax.annotation.Nonnull;
  */
 public final class OakVersion {
 
-    private static String version = null;
-
     private OakVersion() {
     }
 
     /**
-     * Returns the version of oak-core.
+     * Returns the version of an Oak module.
      * 
+     * @param moduleName the name of the module
+     * @param clazz a class of the module
      * @return the version (or "SNAPSHOT" when unknown)
      */
     @Nonnull
-    public synchronized static String getVersion() {
-        if (version == null) {
-            version = "SNAPSHOT"; // fallback
-            InputStream stream = OakVersion.class
-                    
.getResourceAsStream("/META-INF/maven/org.apache.jackrabbit/oak-core/pom.properties");
-            if (stream != null) {
+    public static String getVersion(String moduleName, Class clazz) {
+        String version = "SNAPSHOT"; // fallback
+        InputStream stream = clazz.getResourceAsStream(
+                "/META-INF/maven/org.apache.jackrabbit/" +
+                        moduleName + "/pom.properties");
+        if (stream != null) {
+            try {
                 try {
-                    try {
-                        Properties properties = new Properties();
-                        properties.load(stream);
-                        version = properties.getProperty("version");
-                    } finally {
-                        stream.close();
-                    }
-                } catch (IOException e) {
-                    // ignore
+                    Properties properties = new Properties();
+                    properties.load(stream);
+                    version = properties.getProperty("version", version);
+                } finally {
+                    stream.close();
                 }
+            } catch (IOException e) {
+                // ignore
             }
         }
         return version;

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java?rev=1809156&r1=1809155&r2=1809156&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/OakVersion.java
 Thu Sep 21 12:33:58 2017
@@ -16,10 +16,6 @@
  */
 package org.apache.jackrabbit.oak;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
 import javax.annotation.Nonnull;
 
 /**
@@ -40,22 +36,8 @@ public final class OakVersion {
     @Nonnull
     public synchronized static String getVersion() {
         if (version == null) {
-            version = "SNAPSHOT"; // fallback
-            InputStream stream = OakVersion.class
-                    
.getResourceAsStream("/META-INF/maven/org.apache.jackrabbit/oak-core/pom.properties");
-            if (stream != null) {
-                try {
-                    try {
-                        Properties properties = new Properties();
-                        properties.load(stream);
-                        version = properties.getProperty("version");
-                    } finally {
-                        stream.close();
-                    }
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
+            version = org.apache.jackrabbit.oak.commons.OakVersion.getVersion(
+                    "oak-core", OakVersion.class);
         }
         return version;
     }


Reply via email to