...

Text file src/github.com/google/flatbuffers/conan/build.py

Documentation: github.com/google/flatbuffers/conan

     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()

View as plain text