Remove fail for missing sha (#131)
If you're calling this manually it's annoying to have to satisfy all
potential combinations, especially as new ones are added.
Fixes https://github.com/keith/buildifier-prebuilt/pull/130
diff --git a/buildtools.bzl b/buildtools.bzl
index dd97e50..4f3c80b 100644
--- a/buildtools.bzl
+++ b/buildtools.bzl
@@ -7,7 +7,7 @@
_TOOL_NAMES = ["buildifier", "buildozer"]
_TYPICAL_PLATFORMS = ["windows", "darwin", "linux"]
-_TYPICAL_ARCHES = ["amd64", "arm64", "riscv64"]
+_TYPICAL_ARCHES = ["amd64", "arm64", "riscv64", "s390x"]
_VALID_TOOL_NAMES = sets.make(_TOOL_NAMES)
def _create_asset(name, platform, arch, version, sha256 = None):
@@ -137,13 +137,6 @@
for name in names:
for platform in platforms:
for arch in arches:
- if platform == "windows" and arch == "arm64":
- continue
- if platform == "windows" and arch == "riscv64":
- continue
- if platform == "darwin" and arch == "riscv64":
- continue
-
uniq_name = _create_unique_name(
name = name,
platform = platform,
@@ -151,7 +144,7 @@
)
if uniq_name not in sha256_values:
- fail("Missing sha256 value for {}".format(uniq_name))
+ continue
assets.append(_create_asset(
name = name,
@@ -164,9 +157,9 @@
_DEFAULT_ASSETS = _create_assets(
version = "v8.2.1",
- names = ["buildifier", "buildozer"],
- platforms = ["darwin", "linux", "windows"],
- arches = ["amd64", "arm64", "riscv64"],
+ names = _TOOL_NAMES,
+ platforms = _TYPICAL_PLATFORMS,
+ arches = _TYPICAL_ARCHES,
sha256_values = {
"buildifier_darwin_amd64": "9f8cffceb82f4e6722a32a021cbc9a5344b386b77b9f79ee095c61d087aaea06",
"buildifier_darwin_arm64": "cfab310ae22379e69a3b1810b433c4cd2fc2c8f4a324586dfe4cc199943b8d5a",
diff --git a/tests/buildtools_tests.bzl b/tests/buildtools_tests.bzl
index 8f5c5c8..ab0abcd 100644
--- a/tests/buildtools_tests.bzl
+++ b/tests/buildtools_tests.bzl
@@ -194,10 +194,38 @@
create_assets_test = unittest.make(_create_assets_test)
+def _create_assets_require_all_false_test(ctx):
+ env = unittest.begin(ctx)
+
+ shas = {
+ "buildifier_darwin_amd64": "375f823103d01620aaec20a0c29c6cbca99f4fd0725ae30b93655c6704f44d71",
+ "buildifier_darwin_arm64": "5a6afc6ac7a09f5455ba0b89bd99d5ae23b4174dc5dc9d6c0ed5ce8caac3f813",
+ "buildifier_linux_amd64": "5474cc5128a74e806783d54081f581662c4be8ae65022f557e9281ed5dc88009",
+ "buildifier_linux_arm64": "0bf86c4bfffaf4f08eed77bde5b2082e4ae5039a11e2e8b03984c173c34a561c",
+ "buildifier_linux_s390x": "e2d79ff5885d45274f76531f1adbc7b73a129f59e767f777e8fbde633d9d4e2e",
+ "buildifier_windows_amd64": "370cd576075ad29930a82f5de132f1a1de4084c784a82514bd4da80c85acf4a8",
+ }
+
+ # Missing combinations are skipped
+ assets = buildtools.create_assets(
+ version = "v7.3.1",
+ arches = ["amd64", "arm64", "s390x"],
+ names = ["buildifier"],
+ platforms = ["darwin", "linux", "windows"],
+ sha256_values = shas,
+ )
+
+ asserts.equals(env, 6, len(assets))
+
+ return unittest.end(env)
+
+create_assets_require_all_false_test = unittest.make(_create_assets_require_all_false_test)
+
def buildtools_test_suite():
return unittest.suite(
"buildtools_tests",
create_asset_test,
+ create_assets_require_all_false_test,
create_unique_name_test,
default_assets_test,
asset_json_roundtrip_test,