def _create_config(self, api_name, api_version, api_full_name, output_dir,
package_dependencies_yaml, package_defaults_yaml, proto_deps,
proto_test_deps, language, local_paths, src_proto_path, package_type,
gapic_api_yaml, release_level=None,packaging='single-artifact',
generated_package_version=None):
googleapis_dir = local_paths['googleapis']
googleapis_path = os.path.commonprefix(
[os.path.relpath(p, googleapis_dir) for p in src_proto_path])
with open(package_dependencies_yaml) as dep_file:
package_dependencies = yaml.load(dep_file, Loader=yaml.Loader)
with open(package_defaults_yaml) as dep_file:
package_defaults = yaml.load(dep_file, Loader=yaml.Loader)
if release_level is not None:
package_defaults['release_level'][language] = (
release_level)
# Apply package version and development status overrides if specified
# in the artman config
if generated_package_version is not None:
release_version_type = package_defaults['release_level'][language]
if release_version_type != 'ga':
package_defaults['generated_package_version'][language] = (
generated_package_version)
else:
package_defaults['generated_ga_package_version'][language] = (
generated_package_version)
gapic_config_name = ''
if len(gapic_api_yaml) > 0:
gapic_config_name = os.path.basename(gapic_api_yaml[0])
dependency_type = 'local'
if packaging == 'single-artifact':
dependency_type = 'release'
config = {
'short_name': api_name,
'major_version': api_version,
'proto_path': googleapis_path,
'package_name': {
'default': api_full_name,
},
'proto_deps': proto_deps,
'package_type': package_type,
'dependency_type': dependency_type,
'gapic_config_name': gapic_config_name,
}
if proto_test_deps:
config['proto_test_deps'] = proto_test_deps
config.update(package_dependencies)
config.update(package_defaults)
return config
# Separated so that this can be mocked for testing
评论列表
文章目录