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