You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2012/01/18 08:30:06 UTC
svn commit: r1232768 - in /incubator/hama/trunk: ./ core/ core/dev-support/
core/src/main/java/org/apache/hama/
core/src/main/java/org/apache/hama/util/ core/src/main/webapp/bspmaster/
Author: edwardyoon
Date: Wed Jan 18 07:30:05 2012
New Revision: 1232768
URL: http://svn.apache.org/viewvc?rev=1232768&view=rev
Log:
HAMA-470: The web UI should display the version of running Hama cluster. (Suraj Menon via edwardyoon)
Added:
incubator/hama/trunk/core/dev-support/
incubator/hama/trunk/core/dev-support/saveVersion.sh
incubator/hama/trunk/core/src/main/java/org/apache/hama/HamaVersionAnnotation.java
Modified:
incubator/hama/trunk/CHANGES.txt
incubator/hama/trunk/core/pom.xml
incubator/hama/trunk/core/src/main/java/org/apache/hama/util/VersionInfo.java
incubator/hama/trunk/core/src/main/webapp/bspmaster/bspmaster.jsp
incubator/hama/trunk/pom.xml
Modified: incubator/hama/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/CHANGES.txt?rev=1232768&r1=1232767&r2=1232768&view=diff
==============================================================================
--- incubator/hama/trunk/CHANGES.txt (original)
+++ incubator/hama/trunk/CHANGES.txt Wed Jan 18 07:30:05 2012
@@ -32,6 +32,7 @@ Release 0.4 - Unreleased
IMPROVEMENTS
+ HAMA-470: The web UI should display the version of running Hama cluster. (Suraj Menon via edwardyoon)
HAMA-475: Add unit test for SSSP example (edwardyoon)
HAMA-481: Add reopen to peer (tjungblut)
HAMA-471: Peer names should be sorted by task id (tjungblut)
Added: incubator/hama/trunk/core/dev-support/saveVersion.sh
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/core/dev-support/saveVersion.sh?rev=1232768&view=auto
==============================================================================
--- incubator/hama/trunk/core/dev-support/saveVersion.sh (added)
+++ incubator/hama/trunk/core/dev-support/saveVersion.sh Wed Jan 18 07:30:05 2012
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# 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.
+
+
+# This file is used to generate the package-info.java class that
+# records the version, revision, branch, user, timestamp, and url
+unset LANG
+unset LC_CTYPE
+unset LC_TIME
+version=$1
+build_dir=$2
+user=`whoami | tr '\n\r' '\n'`
+date=`date`
+cwd=`pwd`
+if git rev-parse HEAD 2>/dev/null > /dev/null ; then
+ revision=`git log -1 --pretty=format:"%H"`
+ hostname=`hostname`
+ branch=`git branch | sed -n -e 's/^* //p'`
+ url="git://${hostname}${cwd}"
+elif [ -d .svn ]; then
+ revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
+ url=`svn info | sed -n -e 's/^URL: \(.*\)/\1/p'`
+ # Get canonical branch (branches/X, tags/X, or trunk)
+ branch=`echo $url | sed -n -e 's,.*\(branches/.*\)$,\1,p' \
+ -e 's,.*\(tags/.*\)$,\1,p' \
+ -e 's,.*trunk$,trunk,p'`
+else
+ revision="Unknown"
+ branch="Unknown"
+ url="file://$cwd"
+fi
+
+which md5sum > /dev/null
+if [ "$?" = "0" ] ; then
+ srcChecksum=`find src/main/java -name '*.java' | LC_ALL=C sort | xargs md5sum | md5sum | cut -d ' ' -f 1`
+else
+ srcChecksum="Not Available"
+fi
+
+mkdir -p $build_dir/org/apache/hama
+cat << EOF | \
+ sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \
+ -e "s|URL|$url|" -e "s/REV/$revision/" \
+ -e "s|BRANCH|$branch|" -e "s/SRCCHECKSUM/$srcChecksum/" \
+ > $build_dir/org/apache/hama/package-info.java
+/*
+ * Generated by src/saveVersion.sh
+ */
+@HamaVersionAnnotation(version="VERSION", revision="REV", branch="BRANCH",
+ user="USER", date="DATE", url="URL",
+ srcChecksum="SRCCHECKSUM")
+package org.apache.hama;
+EOF
Modified: incubator/hama/trunk/core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/core/pom.xml?rev=1232768&r1=1232767&r2=1232768&view=diff
==============================================================================
--- incubator/hama/trunk/core/pom.xml (original)
+++ incubator/hama/trunk/core/pom.xml Wed Jan 18 07:30:05 2012
@@ -131,6 +131,46 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>save-version</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <mkdir dir="${project.build.directory}/generated-sources/java"/>
+ <exec executable="sh">
+ <arg
+ line="${basedir}/dev-support/saveVersion.sh ${project.version} ${project.build.directory}/generated-sources/annotations"/>
+ </exec>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${project.build.directory}/generated-sources/annotations</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<finalName>hama-core-${project.version}</finalName>
</build>
Added: incubator/hama/trunk/core/src/main/java/org/apache/hama/HamaVersionAnnotation.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/core/src/main/java/org/apache/hama/HamaVersionAnnotation.java?rev=1232768&view=auto
==============================================================================
--- incubator/hama/trunk/core/src/main/java/org/apache/hama/HamaVersionAnnotation.java (added)
+++ incubator/hama/trunk/core/src/main/java/org/apache/hama/HamaVersionAnnotation.java Wed Jan 18 07:30:05 2012
@@ -0,0 +1,62 @@
+package org.apache.hama;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An attribute that
+ * holds the information on version and build information of a
+ * Hama package that a potential user is working with.
+ */
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PACKAGE)
+
+public @interface HamaVersionAnnotation {
+
+ /**
+ * Get the Hama version
+ * @return the version string "0.3.3-dev"
+ */
+ String version();
+
+ /**
+ * Get the username that compiled Hama.
+ */
+ String user();
+
+ /**
+ * Get the date when Hama was compiled.
+ * @return the date in unix 'date' format
+ */
+ String date();
+
+ /**
+ * Get the url for the subversion repository.
+ */
+ String url();
+
+ /**
+ * Get the subversion revision.
+ * @return the revision number as a string (eg. "451451")
+ */
+ String revision();
+
+ /**
+ * Get the branch from which this was compiled.
+ * @return The branch name, e.g. "trunk" or "branches/branch-0.20"
+ */
+ String branch();
+
+ /**
+ * Get a checksum of the source files from which
+ * Hama was compiled.
+ * @return a string that uniquely identifies the source
+ **/
+ String srcChecksum();
+
+
+
+}
Modified: incubator/hama/trunk/core/src/main/java/org/apache/hama/util/VersionInfo.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/core/src/main/java/org/apache/hama/util/VersionInfo.java?rev=1232768&r1=1232767&r2=1232768&view=diff
==============================================================================
--- incubator/hama/trunk/core/src/main/java/org/apache/hama/util/VersionInfo.java (original)
+++ incubator/hama/trunk/core/src/main/java/org/apache/hama/util/VersionInfo.java Wed Jan 18 07:30:05 2012
@@ -17,12 +17,106 @@
*/
package org.apache.hama.util;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hama.HamaVersionAnnotation;
+
+
/**
- * A version information class.
+ * A version information class. The code is picked from Apache Hadoop and
+ * adapted for Hama code-base.
*/
public class VersionInfo {
+ private static final Log LOG = LogFactory.getLog(VersionInfo.class);
+
+ private static Package myPackage;
+ private static HamaVersionAnnotation version;
+
+ static {
+ myPackage = HamaVersionAnnotation.class.getPackage();
+ version = myPackage.getAnnotation(HamaVersionAnnotation.class);
+ }
+
+ /**
+ * Get the meta-data for the Hama package.
+ * @return
+ */
+ static Package getPackage() {
+ return myPackage;
+ }
+
+ /**
+ * Get the Hama version.
+ * @return the Hama version string, eg. "0.6.3-dev"
+ */
+ public static String getVersion() {
+ return version != null ? version.version() : "Unknown";
+ }
+
+ /**
+ * Get the subversion revision number for the root directory
+ * @return the revision number, eg. "451451"
+ */
+ public static String getRevision() {
+ return version != null ? version.revision() : "Unknown";
+ }
+
+ /**
+ * Get the branch on which this originated.
+ * @return The branch name, e.g. "trunk" or "branches/branch-0.20"
+ */
+ public static String getBranch() {
+ return version != null ? version.branch() : "Unknown";
+ }
+
+ /**
+ * The date that Hama was compiled.
+ * @return the compilation date in unix date format
+ */
+ public static String getDate() {
+ return version != null ? version.date() : "Unknown";
+ }
+
+ /**
+ * The user that compiled Hama.
+ * @return the username of the user
+ */
+ public static String getUser() {
+ return version != null ? version.user() : "Unknown";
+ }
+
+ /**
+ * Get the subversion URL for the root Hama directory.
+ */
+ public static String getUrl() {
+ return version != null ? version.url() : "Unknown";
+ }
+
+ /**
+ * Get the checksum of the source files from which Hama was
+ * built.
+ **/
+ public static String getSrcChecksum() {
+ return version != null ? version.srcChecksum() : "Unknown";
+ }
+
+ /**
+ * Returns the buildVersion which includes version,
+ * revision, user and date.
+ */
+ public static String getBuildVersion(){
+ return VersionInfo.getVersion() +
+ " from " + VersionInfo.getRevision() +
+ " by " + VersionInfo.getUser() +
+ " source checksum " + VersionInfo.getSrcChecksum();
+ }
+
public static void main(String[] args) {
- System.out.println("Apache Hama - 0.4");
+ LOG.debug("Version:" + version);
+ System.out.println("Apache Hama Version: " + getVersion());
+ System.out.println("Subversion: " + getUrl() + " -r " + getRevision());
+ System.out.println("Compiled by: " + getUser() + " on " + getDate());
+ System.out.println("From source with checksum: " + getSrcChecksum());
}
}
Modified: incubator/hama/trunk/core/src/main/webapp/bspmaster/bspmaster.jsp
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/core/src/main/webapp/bspmaster/bspmaster.jsp?rev=1232768&r1=1232767&r2=1232768&view=diff
==============================================================================
--- incubator/hama/trunk/core/src/main/webapp/bspmaster/bspmaster.jsp (original)
+++ incubator/hama/trunk/core/src/main/webapp/bspmaster/bspmaster.jsp Wed Jan 18 07:30:05 2012
@@ -61,6 +61,12 @@
<%=status.getBSPMasterState()%><br>
<b>Started:</b>
<%=new Date(tracker.getStartTime())%><br>
+<b>Version:</b>
+<%=VersionInfo.getVersion()%><br>
+<b>Compiled By:</b>
+<%=VersionInfo.getUser()%><br>
+<b>Compiled At Time:</b>
+<%=VersionInfo.getDate()%><br>
<b>Identifier:</b>
<%=tracker.getBSPMasterIdentifier()%><br>
@@ -79,4 +85,4 @@
30, 0)%>
<%
out.println(BSPServletUtil.htmlFooter());
-%>
\ No newline at end of file
+%>
Modified: incubator/hama/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/pom.xml?rev=1232768&r1=1232767&r2=1232768&view=diff
==============================================================================
--- incubator/hama/trunk/pom.xml (original)
+++ incubator/hama/trunk/pom.xml Wed Jan 18 07:30:05 2012
@@ -223,6 +223,11 @@
<artifactId>maven-site-plugin</artifactId>
<version>2.1.1</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.6</version>
+ </plugin>
</plugins>
</build>