about summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/haskell/plugins.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/bazel/rules_haskell/haskell/plugins.bzl')
-rw-r--r--third_party/bazel/rules_haskell/haskell/plugins.bzl64
1 files changed, 0 insertions, 64 deletions
diff --git a/third_party/bazel/rules_haskell/haskell/plugins.bzl b/third_party/bazel/rules_haskell/haskell/plugins.bzl
deleted file mode 100644
index 5769eeaf7ef6..000000000000
--- a/third_party/bazel/rules_haskell/haskell/plugins.bzl
+++ /dev/null
@@ -1,64 +0,0 @@
-load(":providers.bzl", "GhcPluginInfo", "HaskellLibraryInfo")
-
-def ghc_plugin_impl(ctx):
-    args = ctx.attr.args
-    args = [ctx.expand_location(arg, ctx.attr.tools) for arg in args]
-    args = [ctx.expand_make_variables("args", arg, {}) for arg in args]
-
-    # XXX Ideally we'd resolve tools downstream.
-    (tool_inputs, tool_input_manifests) = ctx.resolve_tools(tools = ctx.attr.tools)
-    return [
-        GhcPluginInfo(
-            module = ctx.attr.module,
-            deps = ctx.attr.deps,
-            tool_inputs = tool_inputs,
-            tool_input_manifests = tool_input_manifests,
-            args = args,
-        ),
-    ]
-
-ghc_plugin = rule(
-    ghc_plugin_impl,
-    attrs = {
-        "module": attr.string(
-            doc = "Plugin entrypoint.",
-        ),
-        "deps": attr.label_list(
-            doc = "Plugin dependencies. These are compile-time dependencies only.",
-            providers = [HaskellLibraryInfo],
-        ),
-        "args": attr.string_list(
-            doc = "Plugin options.",
-        ),
-        "tools": attr.label_list(
-            doc = "Tools needed by the plugin when it used.",
-        ),
-    },
-)
-"""Declare a GHC plugin.
-
-Example:
-  ```bzl
-  haskell_library(
-      name = "plugin-lib",
-      srcs = ["Plugin.hs"],
-  )
-
-  ghc_plugin(
-      name = "plugin",
-      module = "Plugin",
-      deps = [":plugin-lib"],
-  )
-
-  haskell_binary(
-      name = "some-binary",
-      srcs = ["Main.hs"],
-      plugins = [":plugin"],
-  ```
-
-Plugins to use during compilation by GHC are given by the `plugins`
-attribute to Haskell rules. Plugins are haskell libraries with some
-extra metadata, like the name of the module that acts as the
-entrypoint for the plugin and plugin options.
-
-"""