From f723b8b878a3c4a4687b9e337a875500bebb39b1 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Thu, 4 Jul 2019 11:18:12 +0100 Subject: feat(third_party/bazel): Check in rules_haskell from Tweag --- .../rules_haskell/tests/haskell_lint/BUILD.bazel | 47 ++++++++++++++++++++++ .../bazel/rules_haskell/tests/haskell_lint/Bar.hs | 6 +++ .../bazel/rules_haskell/tests/haskell_lint/Foo.hs | 4 ++ .../bazel/rules_haskell/tests/haskell_lint/Main.hs | 6 +++ 4 files changed, 63 insertions(+) create mode 100644 third_party/bazel/rules_haskell/tests/haskell_lint/BUILD.bazel create mode 100644 third_party/bazel/rules_haskell/tests/haskell_lint/Bar.hs create mode 100644 third_party/bazel/rules_haskell/tests/haskell_lint/Foo.hs create mode 100644 third_party/bazel/rules_haskell/tests/haskell_lint/Main.hs (limited to 'third_party/bazel/rules_haskell/tests/haskell_lint') diff --git a/third_party/bazel/rules_haskell/tests/haskell_lint/BUILD.bazel b/third_party/bazel/rules_haskell/tests/haskell_lint/BUILD.bazel new file mode 100644 index 000000000000..702dfdfe07bc --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/haskell_lint/BUILD.bazel @@ -0,0 +1,47 @@ +load( + "@io_tweag_rules_haskell//haskell:haskell.bzl", + "haskell_library", + "haskell_lint", + "haskell_test", +) + +package(default_testonly = 1) + +haskell_library( + name = "lib-a", + srcs = ["Foo.hs"], + visibility = ["//visibility:public"], + deps = ["//tests/hackage:base"], +) + +haskell_library( + name = "lib-b", + srcs = ["Bar.hs"], + visibility = ["//visibility:public"], + deps = [ + ":lib-a", + "//tests/hackage:base", + ], +) + +haskell_lint( + name = "lint-lib-b", + visibility = ["//visibility:public"], + deps = [":lib-b"], +) + +haskell_test( + name = "bin", + srcs = ["Main.hs"], + visibility = ["//visibility:public"], + deps = [ + ":lib-a", + "//tests/hackage:base", + ], +) + +haskell_lint( + name = "lint-bin", + visibility = ["//visibility:public"], + deps = [":bin"], +) diff --git a/third_party/bazel/rules_haskell/tests/haskell_lint/Bar.hs b/third_party/bazel/rules_haskell/tests/haskell_lint/Bar.hs new file mode 100644 index 000000000000..18e9583e5ad6 --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/haskell_lint/Bar.hs @@ -0,0 +1,6 @@ +module Bar (bar) where + +import Foo (foo) + +bar :: Int +bar = 4 + foo :: Int diff --git a/third_party/bazel/rules_haskell/tests/haskell_lint/Foo.hs b/third_party/bazel/rules_haskell/tests/haskell_lint/Foo.hs new file mode 100644 index 000000000000..119192e6b12b --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/haskell_lint/Foo.hs @@ -0,0 +1,4 @@ +module Foo (foo) where + +foo :: Int +foo = 5 :: Int diff --git a/third_party/bazel/rules_haskell/tests/haskell_lint/Main.hs b/third_party/bazel/rules_haskell/tests/haskell_lint/Main.hs new file mode 100644 index 000000000000..1bc6f8abc905 --- /dev/null +++ b/third_party/bazel/rules_haskell/tests/haskell_lint/Main.hs @@ -0,0 +1,6 @@ +module Main (main) where + +import Foo (foo) + +main :: IO () +main = print foo -- cgit 1.4.1