load( "@io_tweag_rules_haskell//haskell:haskell.bzl", "ghc_plugin", "haskell_library", "haskell_test", "haskell_toolchain_library", ) package(default_testonly = 1) config_setting( name = "debug_build", values = { "compilation_mode": "dbg", }, ) haskell_toolchain_library(name = "base") haskell_toolchain_library(name = "ghc") haskell_toolchain_library(name = "process") haskell_library( name = "plugin-lib", srcs = ["Plugin.hs"], deps = [ ":base", ":ghc", ":process", ], ) ghc_plugin( name = "plugin", args = ["$(location //tests/binary-simple)"], module = "Plugin", tools = ["//tests/binary-simple"], deps = [":plugin-lib"], ) haskell_test( name = "binary-with-plugin", srcs = ["Main.hs"], plugins = select({ # XXX If profiling is enabled, ignore the plugin because of # https://gitlab.haskell.org/ghc/ghc/issues/14335. ":debug_build": [], "//conditions:default": [":plugin"], }), visibility = ["//visibility:public"], deps = [":base"], )