From 1730a59eaa1c840a60cd558503b3e07ca891298d Mon Sep 17 00:00:00 2001 From: Borja Lorente Date: Thu, 28 Mar 2024 10:06:43 +0000 Subject: [PATCH] fix: Rely on the bazel zipper instead of zip --- intellij_platform_sdk/build_defs.bzl | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/intellij_platform_sdk/build_defs.bzl b/intellij_platform_sdk/build_defs.bzl index db640a47eba..1f43ac9cef7 100644 --- a/intellij_platform_sdk/build_defs.bzl +++ b/intellij_platform_sdk/build_defs.bzl @@ -592,8 +592,26 @@ def no_mockito_extensions(name, jars, **kwargs): cmd = """ cp "$<" "$@" chmod u+w "$@" - zip -d "$@" mockito-extensions/* + tmpdir=$$(mktemp -d) + zipper="$$(pwd)/$(execpath @bazel_tools//tools/zip:zipper)" + "$$zipper" x "$@" -d ".out" + mv ".out" "$$tmpdir" + + pushd "$$tmpdir/.out" >/dev/null + rm -fr "mockito-extensions" + + # We store the results from `find` in a file to deal with filenames with spaces + files_to_tar_file=$$(mktemp) + find . -type f | sed 's:^./::' > "$${files_to_tar_file}" + IFS="\n" read -r -d "" -a files_to_tar < "$${files_to_tar_file}" || true + + "$$zipper" cC "../out.jar" "$${files_to_tar[@]}" + popd + + cp "$$tmpdir/out.jar" "$@" + chmod u+rw "$@" """, + tools = ["@bazel_tools//tools/zip:zipper"], ) output_jars.append(output_jar_name)