Mechanism for providing version info of hadoop jars
---------------------------------------------------

                 Key: HADOOP-7368
                 URL: https://issues.apache.org/jira/browse/HADOOP-7368
             Project: Hadoop Common
          Issue Type: Improvement
          Components: build
    Affects Versions: 0.23.0
            Reporter: Luke Lu
            Assignee: Luke Lu
             Fix For: 0.23.0


In 0.20.x, only one jar (hadoop-core-*.jar) really matters. The 
o.a.h.util.VersionInfo combined with saveVersion.sh script (generating a 
package level annotation) served us well. For 0.23+, due to the project split 
and modularization of mapreduce (currently in MR-279), a lot more essential 
hadoop jars are created. The potential of mixing up the jars is significantly 
increased as well. We need a simple way to list the version info (version, 
branch, source checksum etc.) for all the jars involved. This is essential for 
QE and tracking down various issues.

I propose that we use a VersionProvider interface (similar to the current 
VersionInfo util class) and ServiceLoader to enumerate the version providers in 
the jars.
{code}
public interface VersionProvider {
  String getJar(); 
  String getPackage();
  String getVersion();
  String getRevision();
  String getBranch();
  String getDate();
  String getUrl();
  String getSourceChecksum();
}
{code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to