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