Skip to content
This repository has been archived by the owner on Jun 28, 2022. It is now read-only.

fix: Fix tar packaging in bazel rules for Mac #3255

Merged
merged 1 commit into from
Jul 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions rules_gapic/gapic_pkg.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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):
Expand All @@ -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}
Expand All @@ -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(
Expand Down
14 changes: 8 additions & 6 deletions rules_gapic/java/java_gapic_pkg.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,17 @@ 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(
templates = " ".join(["'%s'" % f.path for f in expanded_templates]),
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(
Expand Down Expand Up @@ -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(
Expand All @@ -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(
Expand Down
7 changes: 4 additions & 3 deletions rules_gapic/php/php_gapic_pkg.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand All @@ -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(
Expand Down