about summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/tools/runfiles/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/bazel/rules_haskell/tools/runfiles/README.md')
-rw-r--r--third_party/bazel/rules_haskell/tools/runfiles/README.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/tools/runfiles/README.md b/third_party/bazel/rules_haskell/tools/runfiles/README.md
new file mode 100644
index 000000000000..9e95713179af
--- /dev/null
+++ b/third_party/bazel/rules_haskell/tools/runfiles/README.md
@@ -0,0 +1,19 @@
+# Bazel Runfiles
+
+This is a small utility to enable discovery of the Bazel runfiles location. This is useful in tests for example.
+
+```haskell
+module Main (main) where
+
+import qualified Bazel.Runfiles as Runfiles
+import Control.Monad (when)
+import System.Process (callProcess)
+
+main :: IO ()
+main = do
+    r <- Runfiles.create
+    foo <- readFile (Runfiles.rlocation r "io_tweag_rules_haskell/tools/runfiles/test-data.txt")
+    when (lines foo /= ["foo"]) -- ignore trailing newline
+        $ error $ "Incorrect contents: got: " ++ show foo
+    callProcess (Runfiles.rlocation r "io_tweag_rules_haskell/tools/runfiles/bin") []
+```