diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-08-31 15:24:52 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-09-03 13:23:39 +0300 |
commit | 81849e7c9dcd7c41df0b309a04fed34429580748 (patch) | |
tree | fbbd87b7fea2fbfb5f534860eb903c20e288e083 /build_files/buildbot/buildbot_utils.py | |
parent | ad5e91a10720a1b0d8dcfe6ec6e01db7ba836879 (diff) |
Buildbot: support building releases, make non-releases more consistent
* Auto detect rc and release version cycle in BKE_blender_version.h.
* On Windows, generate zip and installer if a release is detected.
* On macOS, always generate a dmg instead of zip.
* Use standard package names without hash if a release is detected.
* Buildbot package names now match platform names in releases.
Ref T67056
Differential Revision: https://developer.blender.org/D5643
Diffstat (limited to 'build_files/buildbot/buildbot_utils.py')
-rw-r--r-- | build_files/buildbot/buildbot_utils.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/build_files/buildbot/buildbot_utils.py b/build_files/buildbot/buildbot_utils.py index 653f8ac2d97..6891b91aa1e 100644 --- a/build_files/buildbot/buildbot_utils.py +++ b/build_files/buildbot/buildbot_utils.py @@ -66,8 +66,28 @@ class VersionInfo: version_number = int(self._parse_header_file(blender_h, 'BLENDER_VERSION')) self.version = "%d.%d" % (version_number // 100, version_number % 100) + self.version_char = self._parse_header_file(blender_h, 'BLENDER_VERSION_CHAR') + self.version_cycle = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE') + self.version_cycle_number = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE_NUMBER') self.hash = self._parse_header_file(buildinfo_h, 'BUILD_HASH')[1:-1] + if self.version_cycle == "release": + # Final release + self.full_version = self.version + self.version_char + self.is_development_build = False + elif self.version_cycle == "rc": + # Release candidate + version_cycle = self.version_cycle + self.version_cycle_number + if len(self.version_char) == 0: + self.full_version = self.version + version_cycle + else: + self.full_version = self.version + self.version_char + '-' + version_cycle + self.is_development_build = False + else: + # Development build + self.full_version = self.version + '-' + self.hash + self.is_development_build = True + def _parse_header_file(self, filename, define): import re regex = re.compile("^#\s*define\s+%s\s+(.*)" % define) |