aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar dmarting <dmarting@google.com>2017-08-24 13:42:41 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-24 14:00:21 +0200
commit097baed566ccb246ba7c748e256a429e27b7420f (patch)
treef1cd415b39bc3a9da8c411faba1bd63340e0f4a6
parentbfa35dd2f753e626b3731e5f105d65ec971ed8dc (diff)
Trick the srcs_test to regenerate the list of sources at every change of the workspace
We need to declare a dependency on something that change every time the workspace change or we get false negative failure. PiperOrigin-RevId: 166327024
-rw-r--r--src/test/shell/bazel/list_source_repository.bzl7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/test/shell/bazel/list_source_repository.bzl b/src/test/shell/bazel/list_source_repository.bzl
index f0900ab3ae..bb19a6011d 100644
--- a/src/test/shell/bazel/list_source_repository.bzl
+++ b/src/test/shell/bazel/list_source_repository.bzl
@@ -21,6 +21,13 @@
def _impl(rctx):
workspace = rctx.path(Label("//:BUILD")).dirname
srcs_excludes = "XXXXXXXXXXXXXX1268778dfsdf4"
+ # Depending in ~/.git/logs/HEAD is a trick to depends on something that
+ # change everytime the workspace content change.
+ r = rctx.execute(["test", "-f", "%s/.git/logs/HEAD" % workspace])
+ if r.return_code == 0:
+ # We only add the dependency if it exists.
+ unused_var = rctx.path(Label("//:.git/logs/HEAD")) # pylint: disable=unused-variable
+
if "SRCS_EXCLUDES" in rctx.os.environ:
srcs_excludes = rctx.os.environ["SRCS_EXCLUDES"]
r = rctx.execute(["find", str(workspace), "-type", "f"])