|
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
from cpt.packager import ConanMultiPackager
|
|
import os
|
|
|
|
if __name__ == "__main__":
|
|
login_username = os.getenv("CONAN_LOGIN_USERNAME")
|
|
username = os.getenv("CONAN_USERNAME")
|
|
tag_version = os.getenv("CONAN_PACKAGE_VERSION", os.getenv("TRAVIS_TAG"))
|
|
package_version = tag_version.replace("v", "")
|
|
package_name_unset = "SET-CONAN_PACKAGE_NAME-OR-CONAN_REFERENCE"
|
|
package_name = os.getenv("CONAN_PACKAGE_NAME", package_name_unset)
|
|
reference = "{}/{}".format(package_name, package_version)
|
|
channel = os.getenv("CONAN_CHANNEL", "stable")
|
|
upload = os.getenv("CONAN_UPLOAD")
|
|
stable_branch_pattern = os.getenv("CONAN_STABLE_BRANCH_PATTERN", r"v\d+\.\d+\.\d+.*")
|
|
test_folder = os.getenv("CPT_TEST_FOLDER", os.path.join("conan", "test_package"))
|
|
upload_only_when_stable = os.getenv("CONAN_UPLOAD_ONLY_WHEN_STABLE", True)
|
|
header_only = os.getenv("CONAN_HEADER_ONLY", False)
|
|
pure_c = os.getenv("CONAN_PURE_C", False)
|
|
|
|
disable_shared = os.getenv("CONAN_DISABLE_SHARED_BUILD", "False")
|
|
if disable_shared == "True" and package_name == package_name_unset:
|
|
raise Exception("CONAN_DISABLE_SHARED_BUILD: True is only supported when you define CONAN_PACKAGE_NAME")
|
|
|
|
builder = ConanMultiPackager(username=username,
|
|
reference=reference,
|
|
channel=channel,
|
|
login_username=login_username,
|
|
upload=upload,
|
|
stable_branch_pattern=stable_branch_pattern,
|
|
upload_only_when_stable=upload_only_when_stable,
|
|
test_folder=test_folder)
|
|
if header_only == "False":
|
|
builder.add_common_builds(pure_c=pure_c)
|
|
else:
|
|
builder.add()
|
|
|
|
filtered_builds = []
|
|
for settings, options, env_vars, build_requires, reference in builder.items:
|
|
if disable_shared == "False" or not options["{}:shared".format(package_name)]:
|
|
filtered_builds.append([settings, options, env_vars, build_requires])
|
|
builder.builds = filtered_builds
|
|
|
|
builder.run()
|