1010from conans .model .ref import ConanFileReference
1111
1212from cpt import __version__ as package_tools_version , get_client_version
13- from cpt .config import ConfigManager
13+ from cpt .config import ConfigManager , GlobalConf
1414from cpt .printer import Printer
1515from cpt .profiles import load_profile , patch_default_base_profile
1616from conans .client .conan_api import ProfileData
@@ -23,7 +23,7 @@ def __init__(self, profile_abs_path, reference, conan_api, uploader,
2323 cwd = None , printer = None , upload = False , upload_only_recipe = None ,
2424 test_folder = None , config_url = None , config_args = None ,
2525 upload_dependencies = None , conanfile = None , skip_recipe_export = False ,
26- update_dependencies = False , lockfile = None , profile_build_abs_path = None ):
26+ update_dependencies = False , lockfile = None , profile_build_abs_path = None , global_conf = None ):
2727
2828 self .printer = printer or Printer ()
2929 self ._cwd = cwd or os .getcwd ()
@@ -54,6 +54,7 @@ def __init__(self, profile_abs_path, reference, conan_api, uploader,
5454 self ._update_dependencies = update_dependencies
5555 self ._results = None
5656 self ._profile_build_abs_path = profile_build_abs_path
57+ self ._global_conf = global_conf
5758
5859 patch_default_base_profile (conan_api , profile_abs_path )
5960 client_version = get_client_version ()
@@ -86,6 +87,10 @@ def run(self):
8687 if self ._config_url :
8788 ConfigManager (self ._conan_api , self .printer ).install (url = self ._config_url , args = self ._config_args )
8889
90+ if self ._global_conf :
91+ global_conf = GlobalConf (self ._conan_api , self .printer )
92+ global_conf .populate (self ._global_conf )
93+
8994 context = tools .no_op ()
9095 compiler = self .settings .get ("compiler" , None )
9196 if not self ._exclude_vcvars_precommand :
@@ -213,7 +218,8 @@ def __init__(self, profile_text, base_profile_text, base_profile_name, reference
213218 lockfile = None ,
214219 profile_build_text = None ,
215220 base_profile_build_text = None ,
216- cwd = None ):
221+ cwd = None ,
222+ global_conf = None ):
217223
218224 self .printer = printer or Printer ()
219225 self ._upload = upload
@@ -253,6 +259,7 @@ def __init__(self, profile_text, base_profile_text, base_profile_name, reference
253259 self ._profile_build_text = profile_build_text
254260 self ._base_profile_build_text = base_profile_build_text
255261 self ._cwd = cwd or os .getcwd ()
262+ self ._global_conf = global_conf
256263
257264 def _pip_update_conan_command (self ):
258265 commands = []
@@ -375,6 +382,7 @@ def get_env_vars(self):
375382 ret ["CPT_BASE_PROFILE" ] = escape_env (self ._base_profile_text )
376383 ret ["CPT_BASE_PROFILE_NAME" ] = escape_env (self ._base_profile_name )
377384 ret ["CPT_PROFILE_BUILD" ] = escape_env (self ._profile_build_text )
385+ ret ["CPT_GLOBAL_CONF" ] = escape_env (self ._global_conf )
378386
379387 ret ["CONAN_USERNAME" ] = escape_env (self ._reference .user or ret .get ("CONAN_USERNAME" ))
380388 ret ["CONAN_TEMP_TEST_FOLDER" ] = "1" # test package folder to a temp one
0 commit comments