From 0f4f9a3c6bd41a2f558c4ee7b907e99fa883518a Mon Sep 17 00:00:00 2001 From: vam-google Date: Thu, 16 Jul 2020 20:10:15 -0700 Subject: [PATCH] fix: Fix tar packaging in bazel rules for mac --- rules_gapic/gapic_pkg.bzl | 14 ++++++++++---- rules_gapic/java/java_gapic_pkg.bzl | 14 ++++++++------ rules_gapic/php/php_gapic_pkg.bzl | 7 ++++--- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/rules_gapic/gapic_pkg.bzl b/rules_gapic/gapic_pkg.bzl index 69faaab74f..ec40296b62 100644 --- a/rules_gapic/gapic_pkg.bzl +++ b/rules_gapic/gapic_pkg.bzl @@ -16,9 +16,13 @@ def construct_package_dir_paths(attr_package_dir, out_pkg, label_name): if attr_package_dir: package_dir = attr_package_dir package_dir_expr = "../{}/".format(package_dir) + tar_cd_suffix = ".." + tar_prefix = attr_package_dir else: package_dir = label_name package_dir_expr = "./" + tar_cd_suffix = "." + tar_prefix = "." # We need to include label in the path to eliminate possible output files duplicates # (labels are guaranteed to be unique by bazel itself) @@ -29,6 +33,8 @@ def construct_package_dir_paths(attr_package_dir, out_pkg, label_name): package_dir_path = package_dir_path, package_dir_sibling_parent = out_pkg, package_dir_sibling_basename = label_name, + tar_cd_suffix = tar_cd_suffix, + tar_prefix = tar_prefix ) def put_dep_in_a_bucket(dep, dep_bucket, processed_deps): @@ -54,8 +60,8 @@ def _pkg_tar_impl(ctx): for dep in {deps}; do tar -xzpf $dep -C {package_dir_path} done - cd {package_dir_path}/{cd_suffix} - tar -zchpf {tar_prefix}/{package_dir}.tar.gz {package_dir} + cd {package_dir_path}/{tar_cd_suffix} + tar -zchpf {tar_prefix}/{package_dir}.tar.gz {tar_prefix}/* cd - mv {package_dir_path}/{package_dir}.tar.gz {pkg} rm -rf {package_dir_path} @@ -64,8 +70,8 @@ def _pkg_tar_impl(ctx): package_dir_path = paths.package_dir_path, package_dir = paths.package_dir, pkg = ctx.outputs.pkg.path, - cd_suffix = "/.." if ctx.attr.package_dir else ".", - tar_prefix = paths.package_dir if ctx.attr.package_dir else ".", + tar_cd_suffix = paths.tar_cd_suffix, + tar_prefix = paths.tar_prefix, ) ctx.actions.run_shell( diff --git a/rules_gapic/java/java_gapic_pkg.bzl b/rules_gapic/java/java_gapic_pkg.bzl index e55716e504..644a4d7779 100644 --- a/rules_gapic/java/java_gapic_pkg.bzl +++ b/rules_gapic/java/java_gapic_pkg.bzl @@ -60,8 +60,8 @@ def _java_gapic_build_configs_pkg_impl(ctx): cp $templ {package_dir_path}/ done chmod 644 {package_dir_path}/* - cd {package_dir_path} - tar -zchpf {package_dir}.tar.gz {package_dir_expr}* + cd {package_dir_path}/{tar_cd_suffix} + tar -zchpf {tar_prefix}/{package_dir}.tar.gz {tar_prefix}/* cd - mv {package_dir_path}/{package_dir}.tar.gz {pkg} """.format( @@ -69,7 +69,8 @@ def _java_gapic_build_configs_pkg_impl(ctx): package_dir_path = paths.package_dir_path, package_dir = paths.package_dir, pkg = ctx.outputs.pkg.path, - package_dir_expr = paths.package_dir_expr, + tar_cd_suffix = paths.tar_cd_suffix, + tar_prefix = paths.tar_prefix, ) ctx.actions.run_shell( @@ -124,8 +125,8 @@ def _java_gapic_srcs_pkg_impl(ctx): unzip -q -o $test_src -d {package_dir_path}/src/test/java rm -r -f {package_dir_path}/src/test/java/META-INF done - cd {package_dir_path} - tar -zchpf {package_dir}.tar.gz {package_dir_expr}* + cd {package_dir_path}/{tar_cd_suffix} + tar -zchpf {tar_prefix}/{package_dir}.tar.gz {tar_prefix}/* cd - mv {package_dir_path}/{package_dir}.tar.gz {pkg} """.format( @@ -135,7 +136,8 @@ def _java_gapic_srcs_pkg_impl(ctx): package_dir_path = paths.package_dir_path, package_dir = paths.package_dir, pkg = ctx.outputs.pkg.path, - package_dir_expr = paths.package_dir_expr, + tar_cd_suffix = paths.tar_cd_suffix, + tar_prefix = paths.tar_prefix, ) ctx.actions.run_shell( diff --git a/rules_gapic/php/php_gapic_pkg.bzl b/rules_gapic/php/php_gapic_pkg.bzl index f10b24b245..db3bd9756e 100644 --- a/rules_gapic/php/php_gapic_pkg.bzl +++ b/rules_gapic/php/php_gapic_pkg.bzl @@ -36,8 +36,8 @@ def _php_gapic_src_pkg_impl(ctx): mkdir -p {package_dir_path}/proto unzip -q -o $gapic_src -d {package_dir_path} done - cd {package_dir_path} - tar -zchpf {package_dir}.tar.gz {package_dir_expr}* + cd {package_dir_path}/{tar_cd_suffix} + tar -zchpf {tar_prefix}/{package_dir}.tar.gz {tar_prefix}/* cd - mv {package_dir_path}/{package_dir}.tar.gz {pkg} rm -rf {package_dir_path} @@ -47,7 +47,8 @@ def _php_gapic_src_pkg_impl(ctx): package_dir_path = paths.package_dir_path, package_dir = paths.package_dir, pkg = ctx.outputs.pkg.path, - package_dir_expr = paths.package_dir_expr, + tar_cd_suffix = paths.tar_cd_suffix, + tar_prefix = paths.tar_prefix, ) ctx.actions.run_shell(