blob: bfcae6d2260e787e95f3e18a50faf53b1a48b6f7 [file]
#!/bin/bash -ef
#
# This is a temporary hack to verify the distribution archive is sound.
#
# The intent is to create a rule which does this and add to
# rules_pkg. Comments within it are mostly for future me
# while writing that.
TARBALL=$(bazel build //distro:distro 2>&1 | grep 'rules_license-.*\.tar\.gz' | sed -e 's/ //g')
REPO_NAME='rules_license'
# This part can be standard from the rule
TARNAME=$(basename "$TARBALL")
TMP=$(mktemp -d)
trap '/bin/rm -rf "$TMP"; exit 0' 0 1 2 3 15
cp "$TARBALL" "$TMP"
cd "$TMP"
cat >WORKSPACE <<INP
workspace(name = "test")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "$REPO_NAME",
urls = ["file:$TARNAME"],
)
INP
#
# The rest is specific to the package under test.
#
# You always need a BUILD, so that can be an attribute
cat >BUILD <<INP
load("@rules_license//rules:license.bzl", "license")
license(
name = "license",
license_kinds = ["@rules_license//licenses/generic:notice"],
license_text = "LICENSE"
)
INP
# Need for a script to set up other files
# Or it folds into the tests cases?
echo license >LICENSE
# Then a list of commands to run. This can be a template
# too so we can substitute the path to bazel.
bazel build ...
bazel build @rules_license//rules/...
bazel build @rules_license//licenses/...
bazel query @rules_license//licenses/generic/...
bazel query ...