package water;
abstract public class AbstractBuildVersion {
abstract public String branchName();
abstract public String lastCommitHash();
abstract public String describe();
abstract public String projectVersion();
abstract public String compiledOn();
abstract public String compiledBy();
public String buildNumber() {
String buildNumber = "(unknown)";
try {
String projectVersion = projectVersion();
buildNumber = projectVersion.split("\\.")[3];
}
catch (Exception xe) {}
return buildNumber;
}
@Override public String toString() {
return "H2O v"+projectVersion()+ " ("+branchName()+" - "+lastCommitHash()+")";
}
/** Dummy version of H2O. */
public static AbstractBuildVersion UNKNOWN_VERSION = new AbstractBuildVersion() {
@Override public String projectVersion() { return "(unknown)"; }
@Override public String lastCommitHash() { return "(unknown)"; }
@Override public String describe() { return "(unknown)"; }
@Override public String compiledOn() { return "(unknown)"; }
@Override public String compiledBy() { return "(unknown)"; }
@Override public String branchName() { return "(unknown)"; }
};
}