diff --git a/BUILD.bazel b/BUILD.bazel index 2f859dcaf..f5632590a 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,4 +1,4 @@ -load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier") +load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier", "buildifier_test") exports_files(["start"]) @@ -48,3 +48,24 @@ buildifier( mode = "fix", verbose = True, ) + +buildifier_test( + name = "buildifier_test", + srcs = [ + "BUILD.bazel", + "WORKSPACE", + "constants.bzl", + "//debug/linking_utils:all_files", + "//docs:all_files", + "//haskell:all_files", + "//nixpkgs:all_files", + "//rule_info:all_files", + "//tests:all_files", + "//tools:all_files", + "@examples-arm//:all_files", + "@examples//:all_files", + "@tutorial//:all_files", + ], + mode = "diff", + tags = ["dont_test_on_windows"], +) diff --git a/WORKSPACE b/WORKSPACE index eccb90c6b..5e0f48725 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -583,3 +583,18 @@ bind( load("//tools:repositories.bzl", "rules_haskell_worker_dependencies") rules_haskell_worker_dependencies() + +local_repository( + name = "tutorial", + path = "tutorial", +) + +local_repository( + name = "examples", + path = "examples", +) + +local_repository( + name = "examples-arm", + path = "examples/arm", +) diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel index e69de29bb..8f0bb3150 100644 --- a/examples/BUILD.bazel +++ b/examples/BUILD.bazel @@ -0,0 +1,14 @@ +filegroup( + name = "all_files", + testonly = True, + srcs = [ + "BUILD.bazel", + "WORKSPACE", + "//cat_hs:all_files", + "//primitive:all_files", + "//rts:all_files", + "//transformers:all_files", + "//vector:all_files", + ], + visibility = ["//visibility:public"], +) diff --git a/examples/WORKSPACE b/examples/WORKSPACE index 9d4e0f88d..a860f6fea 100644 --- a/examples/WORKSPACE +++ b/examples/WORKSPACE @@ -5,6 +5,11 @@ local_repository( path = "..", ) +local_repository( + name = "arm", + path = "arm", +) + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@rules_haskell//haskell:repositories.bzl", "rules_haskell_dependencies") diff --git a/examples/arm/BUILD.bazel b/examples/arm/BUILD.bazel index bfdbf58fc..5ce2aa2b1 100644 --- a/examples/arm/BUILD.bazel +++ b/examples/arm/BUILD.bazel @@ -47,3 +47,20 @@ platform( "@platforms//cpu:aarch64", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = [ + "BUILD.bazel", + "BUILD.zlib.bazel", + "Example.hs", + "Example2.hs", + "LibExample.hs", + "WORKSPACE", + "arm-cross.nix", + "qemu-shell.nix", + "shell.nix", + ], + visibility = ["//visibility:public"], +) diff --git a/examples/cat_hs/BUILD.bazel b/examples/cat_hs/BUILD.bazel index 915100e30..d0eb1aacd 100644 --- a/examples/cat_hs/BUILD.bazel +++ b/examples/cat_hs/BUILD.bazel @@ -10,3 +10,14 @@ haskell_doc( "//cat_hs/lib/cat", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]) + [ + "//cat_hs/exec/cat_hs:all_files", + "//cat_hs/lib/args:all_files", + "//cat_hs/lib/cat:all_files", + ], + visibility = ["//visibility:public"], +) diff --git a/examples/cat_hs/exec/cat_hs/BUILD.bazel b/examples/cat_hs/exec/cat_hs/BUILD.bazel index 43c46d0b6..972ab3564 100644 --- a/examples/cat_hs/exec/cat_hs/BUILD.bazel +++ b/examples/cat_hs/exec/cat_hs/BUILD.bazel @@ -12,3 +12,10 @@ haskell_binary( "@stackage//:base", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/examples/cat_hs/lib/args/BUILD.bazel b/examples/cat_hs/lib/args/BUILD.bazel index 7a6eb6ff7..648cda553 100644 --- a/examples/cat_hs/lib/args/BUILD.bazel +++ b/examples/cat_hs/lib/args/BUILD.bazel @@ -24,3 +24,10 @@ haskell_test( "@stackage//:optparse-applicative", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/examples/cat_hs/lib/cat/BUILD.bazel b/examples/cat_hs/lib/cat/BUILD.bazel index d68b8b058..a064408b3 100644 --- a/examples/cat_hs/lib/cat/BUILD.bazel +++ b/examples/cat_hs/lib/cat/BUILD.bazel @@ -31,3 +31,10 @@ haskell_test( "@stackage//:text", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/examples/primitive/BUILD.bazel b/examples/primitive/BUILD.bazel index db3fcc491..7e2cd7f3d 100644 --- a/examples/primitive/BUILD.bazel +++ b/examples/primitive/BUILD.bazel @@ -33,3 +33,10 @@ haskell_library( "//transformers", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/examples/rts/BUILD.bazel b/examples/rts/BUILD.bazel index bda51cbc0..b18444c4f 100644 --- a/examples/rts/BUILD.bazel +++ b/examples/rts/BUILD.bazel @@ -26,3 +26,10 @@ cc_test( ":rts", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/examples/transformers/BUILD.bazel b/examples/transformers/BUILD.bazel index 847a561e0..2b420561b 100644 --- a/examples/transformers/BUILD.bazel +++ b/examples/transformers/BUILD.bazel @@ -16,3 +16,10 @@ haskell_library( visibility = ["//visibility:public"], deps = [":base"], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/examples/vector/BUILD.bazel b/examples/vector/BUILD.bazel index bb2be6b2c..8ecd47d9b 100644 --- a/examples/vector/BUILD.bazel +++ b/examples/vector/BUILD.bazel @@ -40,3 +40,10 @@ haskell_library( "//primitive", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/tests/RunTests.hs b/tests/RunTests.hs index cc6fdec46..9498d9451 100644 --- a/tests/RunTests.hs +++ b/tests/RunTests.hs @@ -18,9 +18,6 @@ import Test.Hspec (context, hspec, it, describe, runIO, shouldSatisfy, expectati main :: IO () main = hspec $ do - it "bazel lint" $ do - assertSuccess (bazel ["run", "//:buildifier"]) - it "bazel test" $ do assertSuccess (bazel ["test", "//..."]) diff --git a/tutorial/BUILD.bazel b/tutorial/BUILD.bazel new file mode 100644 index 000000000..86396caa7 --- /dev/null +++ b/tutorial/BUILD.bazel @@ -0,0 +1,10 @@ +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]) + [ + "//lib:all_files", + "//main:all_files", + "//tools/build_rules:all_files", + ], + visibility = ["//visibility:public"], +) diff --git a/tutorial/lib/BUILD.bazel b/tutorial/lib/BUILD.bazel index c4eecd22e..98f95d718 100644 --- a/tutorial/lib/BUILD.bazel +++ b/tutorial/lib/BUILD.bazel @@ -8,3 +8,10 @@ haskell_library( srcs = ["Bool.hs"], visibility = ["//main:__pkg__"], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/tutorial/main/BUILD.bazel b/tutorial/main/BUILD.bazel index 6a2eaac27..fe8195851 100644 --- a/tutorial/main/BUILD.bazel +++ b/tutorial/main/BUILD.bazel @@ -15,3 +15,10 @@ haskell_test( "//lib:booleans", ], ) + +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) diff --git a/tutorial/tools/build_rules/BUILD.bazel b/tutorial/tools/build_rules/BUILD.bazel index e69de29bb..84d1cad31 100644 --- a/tutorial/tools/build_rules/BUILD.bazel +++ b/tutorial/tools/build_rules/BUILD.bazel @@ -0,0 +1,6 @@ +filegroup( + name = "all_files", + testonly = True, + srcs = glob(["**"]), + visibility = ["//visibility:public"], +)