]> source.dussan.org Git - archiva.git/commitdiff
display build timestamp and build number in system status page
authorOlivier Lamy <olamy@apache.org>
Fri, 30 Sep 2011 16:18:33 +0000 (16:18 +0000)
committerOlivier Lamy <olamy@apache.org>
Fri, 30 Sep 2011 16:18:33 +0000 (16:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1177721 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webapp/pom.xml
archiva-modules/archiva-web/archiva-webapp/src/main/filtered-resources/application.properties
archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/AbstractActionSupport.java
archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/systemStatus.jsp
pom.xml

index a1df24399cb9c559e2d416cc15c0d517094ad58f..b95df32eb51f312cfd31a958f5c5690669dc0138 100644 (file)
         </dependency>
       </dependencies>
     </profile>
+    <profile>
+      <id>svn-buildnumber</id>
+      <activation>
+        <file>
+          <exists>.svn</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>buildnumber-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>generate-resources</phase>
+                <goals>
+                  <goal>create</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <doCheck>false</doCheck>
+              <doUpdate>false</doUpdate>
+              <providerImplementations>
+                <svn>javasvn</svn>
+              </providerImplementations>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>non-canonical-buildnumber</id>
+      <activation>
+        <file>
+          <missing>.svn</missing>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>buildnumber-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>generate-resources</phase>
+                <goals>
+                  <goal>create</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <doCheck>false</doCheck>
+              <doUpdate>false</doUpdate>
+              <format>NON-CANONICAL_{0,date,yyyy-MM-dd_HH-mm}_{1}</format>
+              <items>
+                <item>timestamp</item>
+                <item>${user.name}</item>
+              </items>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
   </profiles>
 </project>
index 0f38c6dcc939e88f3ad43d0b63b0525649f47424..12806aa73714d44e527b713d28c63bf2f42e80e1 100644 (file)
@@ -18,3 +18,5 @@
 #
 user.agent=Apache Archiva/${project.version}
 archiva.version=${project.version}
+archiva.buildNumber=${buildNumber}
+archiva.timestamp=${timestamp}
index 496b040c75004168c867e4cf486e28ffe21d8b4e..e8459591b22a946e25c2d009c92c4f0cf4c47164 100644 (file)
@@ -28,6 +28,7 @@ import org.apache.archiva.audit.Auditable;
 import org.apache.archiva.metadata.repository.RepositorySessionFactory;
 import org.apache.archiva.security.ArchivaXworkUser;
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.math.NumberUtils;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.interceptor.SessionAware;
 import org.codehaus.plexus.redback.users.User;
@@ -39,6 +40,7 @@ import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -71,7 +73,7 @@ public abstract class AbstractActionSupport
     private String principal;
 
     @Inject
-    @Named(value = "archivaRuntimeProperties")
+    @Named( value = "archivaRuntimeProperties" )
     private Properties archivaRuntimeProperties;
 
     @PostConstruct
@@ -195,8 +197,26 @@ public abstract class AbstractActionSupport
         return (String) archivaRuntimeProperties.get( "archiva.version" );
     }
 
+    public String getArchivaBuildNumber()
+    {
+        return (String) archivaRuntimeProperties.get( "archiva.buildNumber" );
+    }
+
+    public String getArchivaBuildTimestamp()
+    {
+        return (String) archivaRuntimeProperties.get( "archiva.timestamp" );
+    }
+
+    public String getArchivaBuildTimestampDateStr()
+    {
+        SimpleDateFormat sfd = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssz", getLocale() );
+        return sfd.format(
+            new Date( NumberUtils.createLong( (String) archivaRuntimeProperties.get( "archiva.timestamp" ) ) ) );
+    }
+
     /**
      * dummy information for audit events
+     *
      * @since 1.4
      */
     private static class SimpleUser
index 0ac99e2df79e3e4dc09dee75e6a83171bc8d6eff..703af95ac585822514ab3897b6e6b7aa518869a1 100644 (file)
   <h2>Current Time</h2>
 
   <p><%= new Date() %></p>
+
+  <h2>Version Information</h2>
+
+  Build number: <s:property value="archivaBuildNumber"/> - Build Timestamp: <s:property value="archivaBuildTimestampDateStr"/>
   
   </div>
 
diff --git a/pom.xml b/pom.xml
index 0f18f50861352e1ac37d9c805e4951ddccf97128..b6d77bdb4682ae8090975f6650ef002ad65197ab 100644 (file)
--- a/pom.xml
+++ b/pom.xml
           <artifactId>exec-maven-plugin</artifactId>
           <version>1.2</version>
         </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>buildnumber-maven-plugin</artifactId>
+          <version>1.0</version>
+        </plugin>
         <plugin>
           <groupId>org.codehaus.modello</groupId>
           <artifactId>modello-maven-plugin</artifactId>