From 0b980cd3618396e03a52c9de54570ab43ef14d00 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Fri, 10 Aug 2018 11:24:11 -0400 Subject: [PATCH 1/3] generate-api: print component versions --- utilities/generate_api.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/utilities/generate_api.py b/utilities/generate_api.py index 8ea63024fb07..417bfa1af732 100644 --- a/utilities/generate_api.py +++ b/utilities/generate_api.py @@ -20,8 +20,10 @@ # $ python utilities/generate_api.py PATH_TO_ARTMAN_CONFIG_FILE ARTIFACT_NAME import argparse +import collections import io import os +import re import shutil import subprocess @@ -40,6 +42,33 @@ JAVA_GAPIC="java_gapic" JAVA_DISCOGAPIC="java_discogapic" + +def dump_versions(config_path): + print("Component versions:") + + print(subprocess.check_output(['artman', '--version'], stderr=subprocess.STDOUT).strip()) + + print("googleapis %s" % get_git_repo_version(os.path.dirname(config_path))) + print("google-cloud-java %s" % get_git_repo_version(os.path.dirname(__file__))) + + with io.open(os.path.expanduser("~/.artman/config.yaml"), encoding='UTF-8') as config_file: + artman_config_data = yaml.load(config_file, Loader=yaml.Loader) + toolkit_path = artman_config_data['local']['toolkit'] + print("gapic_generator %s" % get_git_repo_version(toolkit_path)) + + +def get_git_repo_version(path): + commit = subprocess.check_output(['git', '-C', path, 'rev-parse', 'HEAD']).strip() + suffix = '' + + changes = subprocess.check_output(['git', '-C', path, 'diff', '--stat']) + + if changes: + suffix = " (%s)" % changes.splitlines()[-1] + + return ''.join([commit, suffix]) + + def run_generate_api(config_path, artifact_name, noisy=False): """ Generate an API client library. @@ -138,6 +167,8 @@ def main(): help='Don\'t print informational instructions') args = parser.parse_args() + dump_versions(args.config_file) + run_generate_api(args.config_file, args.artifact_name, not args.quiet) if __name__ == '__main__': From 799461e6ae9de448bb8cc4abeb2512b52bdc1b0f Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Fri, 10 Aug 2018 11:48:04 -0400 Subject: [PATCH 2/3] address feedback --- utilities/generate_api.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/utilities/generate_api.py b/utilities/generate_api.py index 417bfa1af732..857b678fe7c6 100644 --- a/utilities/generate_api.py +++ b/utilities/generate_api.py @@ -42,31 +42,30 @@ JAVA_GAPIC="java_gapic" JAVA_DISCOGAPIC="java_discogapic" +def get_git_repo_version(path): + commit = subprocess.check_output(['git', '-C', path, 'rev-parse', 'HEAD']).strip() + suffix = '' + + changes = subprocess.check_output(['git', '-C', path, 'diff', '--stat']) + + if changes: + suffix = " ({})".format(changes.splitlines()[-1]) + + return ''.join([commit, suffix]) + def dump_versions(config_path): print("Component versions:") print(subprocess.check_output(['artman', '--version'], stderr=subprocess.STDOUT).strip()) - print("googleapis %s" % get_git_repo_version(os.path.dirname(config_path))) - print("google-cloud-java %s" % get_git_repo_version(os.path.dirname(__file__))) + print("googleapis {}".format(get_git_repo_version(os.path.dirname(config_path)))) + print("google-cloud-java {}".format(get_git_repo_version(os.path.dirname(__file__)))) with io.open(os.path.expanduser("~/.artman/config.yaml"), encoding='UTF-8') as config_file: artman_config_data = yaml.load(config_file, Loader=yaml.Loader) toolkit_path = artman_config_data['local']['toolkit'] - print("gapic_generator %s" % get_git_repo_version(toolkit_path)) - - -def get_git_repo_version(path): - commit = subprocess.check_output(['git', '-C', path, 'rev-parse', 'HEAD']).strip() - suffix = '' - - changes = subprocess.check_output(['git', '-C', path, 'diff', '--stat']) - - if changes: - suffix = " (%s)" % changes.splitlines()[-1] - - return ''.join([commit, suffix]) + print("gapic_generator {}".format(get_git_repo_version(toolkit_path))) def run_generate_api(config_path, artifact_name, noisy=False): From 56cb1d9a5b498f11a733a5da9ee150dddd662c63 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Fri, 10 Aug 2018 11:55:03 -0400 Subject: [PATCH 3/3] address feedback2 --- utilities/batch_generate_apis.py | 2 ++ utilities/generate_api.py | 16 +++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/utilities/batch_generate_apis.py b/utilities/batch_generate_apis.py index 175668c9e996..3ac9cfe6acde 100644 --- a/utilities/batch_generate_apis.py +++ b/utilities/batch_generate_apis.py @@ -96,6 +96,8 @@ def main(): help='The path to the discovery-artifact-manager repo') args = parser.parse_args() + generate_api.dump_versions(googleapis=args.googleapis, discovery_repo=args.discovery_repo) + run_gapic_gen(args.googleapis) run_discogapic_gen(args.discovery_repo) diff --git a/utilities/generate_api.py b/utilities/generate_api.py index 857b678fe7c6..19847ba109fd 100644 --- a/utilities/generate_api.py +++ b/utilities/generate_api.py @@ -54,19 +54,24 @@ def get_git_repo_version(path): return ''.join([commit, suffix]) -def dump_versions(config_path): +def dump_versions(googleapis=None, discovery_repo=None): print("Component versions:") print(subprocess.check_output(['artman', '--version'], stderr=subprocess.STDOUT).strip()) - print("googleapis {}".format(get_git_repo_version(os.path.dirname(config_path)))) - print("google-cloud-java {}".format(get_git_repo_version(os.path.dirname(__file__)))) - with io.open(os.path.expanduser("~/.artman/config.yaml"), encoding='UTF-8') as config_file: artman_config_data = yaml.load(config_file, Loader=yaml.Loader) toolkit_path = artman_config_data['local']['toolkit'] print("gapic_generator {}".format(get_git_repo_version(toolkit_path))) + print("google-cloud-java {}".format(get_git_repo_version(os.path.dirname(__file__)))) + + if googleapis: + print("googleapis {}".format(get_git_repo_version(googleapis))) + + if discovery_repo: + print("discovery_repo {}".format(get_git_repo_version(discovery_repo))) + def run_generate_api(config_path, artifact_name, noisy=False): """ Generate an API client library. @@ -166,7 +171,8 @@ def main(): help='Don\'t print informational instructions') args = parser.parse_args() - dump_versions(args.config_file) + if not args.quiet: + dump_versions(googleapis=os.path.dirname(args.config_file)) run_generate_api(args.config_file, args.artifact_name, not args.quiet)