Author: suresh
Date: Fri Jan 18 22:32:49 2013
New Revision: 1435379

URL: http://svn.apache.org/viewvc?rev=1435379&view=rev
Log:
HADOOP-8924. Revert r1435372 that missed some files

Added:
    
hadoop/common/trunk/hadoop-common-project/hadoop-common/dev-support/saveVersion.sh
      - copied unchanged from r1435371, 
hadoop/common/trunk/hadoop-common-project/hadoop-common/dev-support/saveVersion.sh
    
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/HadoopVersionAnnotation.java
      - copied unchanged from r1435371, 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/HadoopVersionAnnotation.java
Removed:
    
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/resources/common-version-info.properties
Modified:
    hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
    hadoop/common/trunk/hadoop-common-project/hadoop-common/pom.xml
    
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java

Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1435379&r1=1435378&r2=1435379&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Fri Jan 
18 22:32:49 2013
@@ -447,9 +447,6 @@ Release 2.0.3-alpha - Unreleased 
     HADOOP-9216. CompressionCodecFactory#getCodecClasses should trim the
     result of parsing by Configuration. (Tsuyoshi Ozawa via todd)
 
-    HADOOP-8924. Add maven plugin alternative to shell script to save
-    package-info.java. (Alejandro Abdelnur, Chris Nauroth via suresh)
-
   OPTIMIZATIONS
 
     HADOOP-8866. SampleQuantiles#query is O(N^2) instead of O(N). (Andrew Wang

Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/pom.xml?rev=1435379&r1=1435378&r2=1435379&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/pom.xml (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/pom.xml Fri Jan 18 
22:32:49 2013
@@ -244,52 +244,8 @@
   </dependencies>
 
   <build>
-    <!--
-    Include all files in src/main/resources.  By default, do not apply property
-    substitution (filtering=false), but do apply property substitution to
-    common-version-info.properties (filtering=true).  This will substitute the
-    version information correctly, but prevent Maven from altering other files
-    like core-default.xml.
-    -->
-    <resources>
-      <resource>
-        <directory>${basedir}/src/main/resources</directory>
-        <excludes>
-          <exclude>common-version-info.properties</exclude>
-        </excludes>
-        <filtering>false</filtering>
-      </resource>
-      <resource>
-        <directory>${basedir}/src/main/resources</directory>
-        <includes>
-          <include>common-version-info.properties</include>
-        </includes>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
     <plugins>
       <plugin>
-        <groupId>org.apache.hadoop</groupId>
-        <artifactId>hadoop-maven-plugins</artifactId>
-        <executions>
-          <execution>
-            <id>version-info</id>
-            <goals>
-              <goal>version-info</goal>
-            </goals>
-            <configuration>
-              <source>
-                <directory>${basedir}/src/main</directory>
-                <includes>
-                  <include>java/**/*.java</include>
-                  <include>proto/**/*.proto</include>
-                </includes>
-              </source>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
@@ -333,6 +289,22 @@
             </configuration>
           </execution>
           <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/java"/>
+                </exec>
+              </target>
+            </configuration>
+          </execution>
+          <execution>
             <id>generate-test-sources</id>
             <phase>generate-test-sources</phase>
             <goals>

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java?rev=1435379&r1=1435378&r2=1435379&view=diff
==============================================================================
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/VersionInfo.java
 Fri Jan 18 22:32:49 2013
@@ -20,78 +20,41 @@ package org.apache.hadoop.util;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.HadoopVersionAnnotation;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
 /**
- * This class returns build information about Hadoop components.
+ * This class finds the package info for Hadoop and the HadoopVersionAnnotation
+ * information.
  */
 @InterfaceAudience.Private
 @InterfaceStability.Unstable
 public class VersionInfo {
   private static final Log LOG = LogFactory.getLog(VersionInfo.class);
 
-  private Properties info;
-
-  protected VersionInfo(String component) {
-    info = new Properties();
-    String versionInfoFile = component + "-version-info.properties";
-    try {
-      InputStream is = Thread.currentThread().getContextClassLoader()
-        .getResourceAsStream(versionInfoFile);
-      info.load(is);
-    } catch (IOException ex) {
-      LogFactory.getLog(getClass()).warn("Could not read '" + 
-        versionInfoFile + "', " + ex.toString(), ex);
-    }
-  }
-
-  protected String _getVersion() {
-    return info.getProperty("version", "Unknown");
-  }
-
-  protected String _getRevision() {
-    return info.getProperty("revision", "Unknown");
-  }
-
-  protected String _getBranch() {
-    return info.getProperty("branch", "Unknown");
-  }
-
-  protected String _getDate() {
-    return info.getProperty("date", "Unknown");
-  }
-
-  protected String _getUser() {
-    return info.getProperty("user", "Unknown");
-  }
-
-  protected String _getUrl() {
-    return info.getProperty("url", "Unknown");
-  }
-
-  protected String _getSrcChecksum() {
-    return info.getProperty("srcChecksum", "Unknown");
+  private static Package myPackage;
+  private static HadoopVersionAnnotation version;
+  
+  static {
+    myPackage = HadoopVersionAnnotation.class.getPackage();
+    version = myPackage.getAnnotation(HadoopVersionAnnotation.class);
   }
 
-  protected String _getBuildVersion(){
-    return getVersion() +
-      " from " + _getRevision() +
-      " by " + _getUser() +
-      " source checksum " + _getSrcChecksum();
+  /**
+   * Get the meta-data for the Hadoop package.
+   * @return
+   */
+  static Package getPackage() {
+    return myPackage;
   }
-
-  private static VersionInfo COMMON_VERSION_INFO = new VersionInfo("common");
+  
   /**
    * Get the Hadoop version.
    * @return the Hadoop version string, eg. "0.6.3-dev"
    */
   public static String getVersion() {
-    return COMMON_VERSION_INFO._getVersion();
+    return version != null ? version.version() : "Unknown";
   }
   
   /**
@@ -99,7 +62,7 @@ public class VersionInfo {
    * @return the revision number, eg. "451451"
    */
   public static String getRevision() {
-    return COMMON_VERSION_INFO._getRevision();
+    return version != null ? version.revision() : "Unknown";
   }
 
   /**
@@ -107,7 +70,7 @@ public class VersionInfo {
    * @return The branch name, e.g. "trunk" or "branches/branch-0.20"
    */
   public static String getBranch() {
-    return COMMON_VERSION_INFO._getBranch();
+    return version != null ? version.branch() : "Unknown";
   }
 
   /**
@@ -115,7 +78,7 @@ public class VersionInfo {
    * @return the compilation date in unix date format
    */
   public static String getDate() {
-    return COMMON_VERSION_INFO._getDate();
+    return version != null ? version.date() : "Unknown";
   }
   
   /**
@@ -123,14 +86,14 @@ public class VersionInfo {
    * @return the username of the user
    */
   public static String getUser() {
-    return COMMON_VERSION_INFO._getUser();
+    return version != null ? version.user() : "Unknown";
   }
   
   /**
    * Get the subversion URL for the root Hadoop directory.
    */
   public static String getUrl() {
-    return COMMON_VERSION_INFO._getUrl();
+    return version != null ? version.url() : "Unknown";
   }
 
   /**
@@ -138,7 +101,7 @@ public class VersionInfo {
    * built.
    **/
   public static String getSrcChecksum() {
-    return COMMON_VERSION_INFO._getSrcChecksum();
+    return version != null ? version.srcChecksum() : "Unknown";
   }
 
   /**
@@ -146,11 +109,14 @@ public class VersionInfo {
    * revision, user and date. 
    */
   public static String getBuildVersion(){
-    return COMMON_VERSION_INFO._getBuildVersion();
+    return VersionInfo.getVersion() + 
+    " from " + VersionInfo.getRevision() +
+    " by " + VersionInfo.getUser() + 
+    " source checksum " + VersionInfo.getSrcChecksum();
   }
   
   public static void main(String[] args) {
-    LOG.debug("version: "+ getVersion());
+    LOG.debug("version: "+ version);
     System.out.println("Hadoop " + getVersion());
     System.out.println("Subversion " + getUrl() + " -r " + getRevision());
     System.out.println("Compiled by " + getUser() + " on " + getDate());


Reply via email to