From 8b4a62caa4462d3be6d7b202f4229f43135d6d5c Mon Sep 17 00:00:00 2001 From: mmalohlava Date: Wed, 29 Mar 2017 18:44:29 -0700 Subject: [PATCH] [BUILD] Promote build info into python package build --- buildSrc/src/main/java/H2OBuildVersion.java | 19 ++++++++++++++++++- h2o-py/build.gradle | 3 +++ h2o-py/h2o/__init__.py | 3 +++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/java/H2OBuildVersion.java b/buildSrc/src/main/java/H2OBuildVersion.java index 2de78c5bcd4..c84856cb4fe 100644 --- a/buildSrc/src/main/java/H2OBuildVersion.java +++ b/buildSrc/src/main/java/H2OBuildVersion.java @@ -5,7 +5,6 @@ import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; -import java.lang.Runtime; import java.lang.RuntimeException; import java.util.Date; import java.text.DateFormat; @@ -14,6 +13,9 @@ import java.util.regex.Pattern; public class H2OBuildVersion { + // Marker for development build + private static final String DEVEL_BUILD_NUMBER = "99999"; + // Passed in by caller. File _rootDir; String _versionFromGradle; @@ -25,12 +27,27 @@ String _buildIncrementalVersion; String _buildNumber; + @Override + public String toString() { + return "versionFromGradle='" + _versionFromGradle + '\'' + + ",projectVersion='" + getProjectVersion() + '\'' + + ",branch='" + getBranch() + '\'' + + ",lastCommitHash='" + calcLastCommitHash() + '\'' + + ",gitDescribe='" + calcDescribe() + '\'' + + ",compiledOn='" + calcCompiledOn() + '\'' + + ",compiledBy='" + calcCompiledBy() + '\''; + } + H2OBuildVersion(File rootDir, String versionFromGradle) { _rootDir = rootDir; _versionFromGradle = versionFromGradle; calc(); } + public boolean isDevelBuild() { + return DEVEL_BUILD_NUMBER.equals(_buildNumber); + } + private String calcBuildNumber(File rootDir, String versionFromGradle) { try { String buildNumberFileName = rootDir.toString() + File.separator + "gradle" + File.separator + "buildnumber.properties"; diff --git a/h2o-py/build.gradle b/h2o-py/build.gradle index d2af983ca48..a464209fe6a 100644 --- a/h2o-py/build.gradle +++ b/h2o-py/build.gradle @@ -42,6 +42,8 @@ task setProjectVersion << { println " INIT.path = " + INIT.path def txt = INIT.text txt = txt.replaceAll("SUBST_PROJECT_VERSION", PROJECT_VERSION) + .replaceAll("SUBST_PROJECT_BUILDINFO", bv.toString()) + INIT.write(txt) } @@ -50,6 +52,7 @@ task resetProjectVersion << { println " INIT.path = " + INIT.path def txt = INIT.text txt = txt.replaceAll(PROJECT_VERSION, "SUBST_PROJECT_VERSION") + .replaceAll("__buildinfo__ = .*", "__buildinfo__ = \"SUBST_PROJECT_BUILDINFO\"") INIT.write(txt) } diff --git a/h2o-py/h2o/__init__.py b/h2o-py/h2o/__init__.py index f6d37e0f85a..b86703ad2dd 100644 --- a/h2o-py/h2o/__init__.py +++ b/h2o-py/h2o/__init__.py @@ -24,7 +24,10 @@ from h2o.frame import H2OFrame # NOQA __version__ = "SUBST_PROJECT_VERSION" +__buildinfo__ = "SUBST_PROJECT_BUILDINFO" +if (__version__.endswith("99999")): + print(__buildinfo__) __all__ = ("connect", "init", "api", "connection", "upload_file", "lazy_import", "import_file", "import_sql_table", "import_sql_select", "parse_setup", "parse_raw", "assign", "deep_copy", "get_model", "get_grid", "get_frame",