def.bzl 800 B

123456789101112131415161718192021222324252627
  1. load("@io_bazel_rules_go//go:def.bzl", "go_context", "go_rule")
  2. def _std_package_list_impl(ctx):
  3. go = go_context(ctx)
  4. args = ctx.actions.args()
  5. args.add_all([go.package_list, ctx.outputs.out])
  6. ctx.actions.run(
  7. inputs = [go.package_list],
  8. outputs = [ctx.outputs.out],
  9. executable = ctx.executable._gen_std_package_list,
  10. arguments = [args],
  11. mnemonic = "GoStdPackageList",
  12. )
  13. return [DefaultInfo(files = depset([ctx.outputs.out]))]
  14. std_package_list = go_rule(
  15. _std_package_list_impl,
  16. attrs = {
  17. "out": attr.output(mandatory = True),
  18. "_gen_std_package_list": attr.label(
  19. default = "//internal/language/go/gen_std_package_list",
  20. cfg = "host",
  21. executable = True,
  22. ),
  23. },
  24. )