You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/10/09 08:00:24 UTC

svn commit: r583068 - in /incubator/ivy/core/trunk/src/java/org/apache/ivy: Ivy.java util/Message.java

Author: xavier
Date: Tue Oct  9 01:00:23 2007
New Revision: 583068

URL: http://svn.apache.org/viewvc?rev=583068&view=rev
Log:
make Ivy engine metadata (version, date and home URL) accessible with the API, instead of only displayed by the Message class.

Modified:
    incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java?rev=583068&r1=583067&r2=583068&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java Tue Oct  9 01:00:23 2007
@@ -19,6 +19,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.URL;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -26,6 +27,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 
 import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.cache.CacheManager;
@@ -82,6 +84,65 @@
     private static final int KILO = 1024;
 
     public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");
+    
+    /**
+     * the current version of Ivy, as displayed on the console when 
+     * Ivy is initialized
+     */
+    private static final String IVY_VERSION;
+    /**
+     * the date at which this version of Ivy has been built.
+     * May be empty if unknown.
+     */
+    private static final String IVY_DATE;
+    
+    static {
+        // initialize IVY_VERSION and IVY_DATE
+        Properties props = new Properties();
+        URL moduleURL = Message.class.getResource("/module.properties");
+        if (moduleURL != null) {
+            try {
+                InputStream module = moduleURL.openStream();
+                props.load(module);
+                module.close();
+            } catch (IOException e) {
+                // ignore this exception, we will initialize with default values
+            }
+        }
+        IVY_VERSION = props.getProperty("version", "non official version");
+        IVY_DATE = props.getProperty("date", "");
+    }
+    
+    /**
+     * Returns the current version of Ivy, as displayed on the console when 
+     * Ivy is initialized.
+     * 
+     * @return the current version of Ivy
+     * @see #getIvyVersion()
+     */
+    public static String getIvyVersion() {
+        return IVY_VERSION;
+    }
+
+    /**
+     * Returns the date at which this version of Ivy has been built.
+     * <p>
+     * May be empty if unknown.
+     * 
+     * @return the date at which this version of Ivy has been built
+     * @see #getIvyVersion()
+     */
+    public static String getIvyDate() {
+        return IVY_DATE;
+    }
+    
+    /**
+     * Returns the URL at which Ivy web site can be found.
+     * @return the URL at which Ivy web site can be found
+     */
+    public static String getIvyHomeURL() {
+        return "http://incubator.apache.org/ivy/";
+    }
 
     public static Ivy newInstance() {
         Ivy ivy = new Ivy();

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java?rev=583068&r1=583067&r2=583068&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java Tue Oct  9 01:00:23 2007
@@ -17,14 +17,11 @@
  */
 package org.apache.ivy.util;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Properties;
 
+import org.apache.ivy.Ivy;
 import org.apache.ivy.core.IvyContext;
 
 /**
@@ -86,22 +83,8 @@
 
     private static void showInfo() {
         if (!showedInfo) {
-            Properties props = new Properties();
-            URL moduleURL = Message.class.getResource("/module.properties");
-            if (moduleURL != null) {
-                try {
-                    InputStream module = moduleURL.openStream();
-                    props.load(module);
-                    debug("version information loaded from " + moduleURL);
-                    info(":: Ivy " + props.getProperty("version") + " - "
-                           + props.getProperty("date") + " :: http://incubator.apache.org/ivy/ ::");
-                    module.close();
-                } catch (IOException e) {
-                    info(":: Ivy non official version :: http://incubator.apache.org/ivy/ ::");
-                }
-            } else {
-                info(":: Ivy non official version :: http://incubator.apache.org/ivy/ ::");
-            }
+            info(":: Ivy " + Ivy.getIvyVersion() + " - "
+                   + Ivy.getIvyDate() + " :: " + Ivy.getIvyHomeURL() + " ::");
             showedInfo = true;
         }
     }