feat(third_party/bazel): Check in rules_haskell from Tweag
This commit is contained in:
parent
2eb1dc26e4
commit
f723b8b878
479 changed files with 51484 additions and 0 deletions
44
third_party/bazel/rules_haskell/tests/extra-source-files/BUILD.bazel
vendored
Normal file
44
third_party/bazel/rules_haskell/tests/extra-source-files/BUILD.bazel
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
load(
|
||||
"@io_tweag_rules_haskell//haskell:haskell.bzl",
|
||||
"haskell_library",
|
||||
"haskell_test",
|
||||
)
|
||||
|
||||
package(default_testonly = 1)
|
||||
|
||||
haskell_library(
|
||||
name = "extra-source-files",
|
||||
srcs = [
|
||||
"Foo.hs",
|
||||
"FooTH.hs",
|
||||
],
|
||||
# Test that the linker can also see the extra_srcs.
|
||||
compiler_flags = ["-optl-Wl,@tests/extra-source-files/ld-options.txt"],
|
||||
extra_srcs = [
|
||||
"file.txt",
|
||||
"ld-options.txt",
|
||||
],
|
||||
deps = [
|
||||
"//tests/hackage:base",
|
||||
"//tests/hackage:template-haskell",
|
||||
],
|
||||
)
|
||||
|
||||
haskell_test(
|
||||
name = "extra-source-files-bin",
|
||||
srcs = [
|
||||
"Foo.hs",
|
||||
"FooTH.hs",
|
||||
"Main.hs",
|
||||
],
|
||||
# Test that the linker can also see the extra_srcs.
|
||||
compiler_flags = ["-optl-Wl,@tests/extra-source-files/ld-options.txt"],
|
||||
extra_srcs = [
|
||||
"file.txt",
|
||||
"ld-options.txt",
|
||||
],
|
||||
deps = [
|
||||
"//tests/hackage:base",
|
||||
"//tests/hackage:template-haskell",
|
||||
],
|
||||
)
|
||||
8
third_party/bazel/rules_haskell/tests/extra-source-files/Foo.hs
vendored
Normal file
8
third_party/bazel/rules_haskell/tests/extra-source-files/Foo.hs
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Foo (foo) where
|
||||
|
||||
import FooTH (embedFile)
|
||||
|
||||
foo :: String
|
||||
foo = $(embedFile "tests/extra-source-files/file.txt") ++ "!"
|
||||
12
third_party/bazel/rules_haskell/tests/extra-source-files/FooTH.hs
vendored
Normal file
12
third_party/bazel/rules_haskell/tests/extra-source-files/FooTH.hs
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module FooTH (embedFile) where
|
||||
|
||||
import Language.Haskell.TH
|
||||
import Language.Haskell.TH.Syntax
|
||||
|
||||
embedFile :: FilePath -> Q Exp
|
||||
embedFile path = do
|
||||
str <- runIO (readFile path)
|
||||
addDependentFile path
|
||||
[| str |]
|
||||
4
third_party/bazel/rules_haskell/tests/extra-source-files/Main.hs
vendored
Normal file
4
third_party/bazel/rules_haskell/tests/extra-source-files/Main.hs
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import Foo (foo)
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn foo
|
||||
1
third_party/bazel/rules_haskell/tests/extra-source-files/file.txt
vendored
Normal file
1
third_party/bazel/rules_haskell/tests/extra-source-files/file.txt
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
And here we go
|
||||
0
third_party/bazel/rules_haskell/tests/extra-source-files/ld-options.txt
vendored
Normal file
0
third_party/bazel/rules_haskell/tests/extra-source-files/ld-options.txt
vendored
Normal file
Loading…
Add table
Add a link
Reference in a new issue