• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3import os
4import re
5import subprocess
6from cpt.packager import ConanMultiPackager
7
8
9
10def get_branch():
11    try:
12        for line in subprocess.check_output("git branch", shell=True).decode().splitlines():
13            line = line.strip()
14            if line.startswith("*") and " (HEAD detached" not in line:
15                return line.replace("*", "", 1).strip()
16        return ""
17    except Exception:
18        pass
19    return ""
20
21
22def get_version():
23    version = get_branch()
24    match = re.search(r"v(\d+\.\d+\.\d+.*)", version)
25    if match:
26        return match.group(1)
27    return version
28
29
30def get_reference(username):
31    return "flatbuffers/{}@google/stable".format(get_version())
32
33
34if __name__ == "__main__":
35    login_username = os.getenv("CONAN_LOGIN_USERNAME", "aardappel")
36    username = os.getenv("CONAN_USERNAME", "google")
37    upload = os.getenv("CONAN_UPLOAD", "https://api.bintray.com/conan/aardappel/flatbuffers")
38    stable_branch_pattern = os.getenv("CONAN_STABLE_BRANCH_PATTERN", r"v\d+\.\d+\.\d+.*")
39    test_folder = os.getenv("CPT_TEST_FOLDER", os.path.join("conan", "test_package"))
40    upload_only_when_stable = os.getenv("CONAN_UPLOAD_ONLY_WHEN_STABLE", True)
41
42    builder = ConanMultiPackager(reference=get_reference(username),
43                                 username=username,
44                                 login_username=login_username,
45                                 upload=upload,
46                                 stable_branch_pattern=stable_branch_pattern,
47                                 upload_only_when_stable=upload_only_when_stable,
48                                 test_folder=test_folder)
49    builder.add_common_builds(pure_c=False)
50    builder.run()
51