Author: snoopdave
Date: Mon Jul 16 12:56:38 2007
New Revision: 556710

URL: http://svn.apache.org/viewvc?view=rev&rev=556710
Log:
Roller now logs the Subversion last-changed revision number on startup (if 
available at build-time)

Modified:
    roller/trunk/apps/weblogger/build.xml
    
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java
    
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
    
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java

Modified: roller/trunk/apps/weblogger/build.xml
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/build.xml?view=diff&rev=556710&r1=556709&r2=556710
==============================================================================
--- roller/trunk/apps/weblogger/build.xml (original)
+++ roller/trunk/apps/weblogger/build.xml Mon Jul 16 12:56:38 2007
@@ -99,10 +99,27 @@
             <format property="ro.buildTime" pattern="yyyyMMddhhmmss" />
         </tstamp>
         
+        <!-- Get the SVN last changed rev value w/o using the overly flakey 
+             svnant task. This will fail if svn is not in your PATH but the 
only 
+             negative impact will be that the rev number that appears in your 
+             log will be "${svn.LastChangedRev}" instead of the correct value. 
-->
+        <delete file="${ro.build}/svn.properties" />
+        <exec executable="svn" output="${ro.build}/svn.properties" 
failifexecutionfails="false">
+            <arg value="info" />
+            <arg value="${root}" />
+        </exec>
+        <replace dir="${ro.build}">
+           <include name="svn.properties" />
+           <replacetoken> </replacetoken>
+           <replacevalue></replacevalue>
+        </replace>
+        <property prefix="svn" file="${ro.build}/svn.properties"/>       
+        
         <echo file="${build.compile.business}/version.properties">
-            ro.version=${ro.version}
-            ro.buildTime=${ro.buildTime}
-            ro.buildUser=${user.name}
+ro.version=${ro.version}
+ro.revision=${svn.LastChangedRev}
+ro.buildTime=${ro.buildTime}
+ro.buildUser=${user.name}
         </echo>
         
         <!-- compile roller business classes -->

Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java?view=diff&rev=556710&r1=556709&r2=556710
==============================================================================
--- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java
 (original)
+++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/Weblogger.java
 Mon Jul 16 12:56:38 2007
@@ -163,6 +163,11 @@
     public String getVersion();    
     
     /**
+     * Weblogger source code management revision
+     */
+    public String getRevision();
+    
+    /**
      * Weblogger build time
      */
     public String getBuildTime();

Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java?view=diff&rev=556710&r1=556709&r2=556710
==============================================================================
--- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
 (original)
+++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerFactory.java
 Mon Jul 16 12:56:38 2007
@@ -139,6 +139,8 @@
         }
         
         log.info("Roller Weblogger business tier successfully bootstrapped");
+        log.info("   Version: " + 
webloggerProvider.getWeblogger().getVersion());
+        log.info("   Revision: " + 
webloggerProvider.getWeblogger().getRevision());
     }
     
 }

Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java?view=diff&rev=556710&r1=556709&r2=556710
==============================================================================
--- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java
 (original)
+++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/business/WebloggerImpl.java
 Mon Jul 16 12:56:38 2007
@@ -69,6 +69,7 @@
     
     // some simple attributes
     private final String version;
+    private final String revision;
     private final String buildTime;
     private final String buildUser;
     
@@ -114,6 +115,7 @@
         }
         
         version = props.getProperty("ro.version", "UNKNOWN");
+        revision = props.getProperty("ro.revision", "UNKNOWN");
         buildTime = props.getProperty("ro.buildTime", "UNKNOWN");
         buildUser = props.getProperty("ro.buildUser", "UNKNOWN");
     }
@@ -360,7 +362,13 @@
         return version;
     }
     
-    
+    /**
+     * Get source code repository revision # used to create build
+     */
+    public String getRevision() {
+        return revision;
+    }
+        
     /**
      * Weblogger build time
      */


Reply via email to