• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
2load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_binary")
3
4# gazelle:exclude testdata
5
6go_library(
7    name = "bzl",
8    srcs = ["gazelle.go"],
9    importpath = "github.com/bazelbuild/bazel-skylib/gazelle",
10    visibility = ["//visibility:public"],
11    deps = [
12        "@bazel_gazelle//config:go_default_library",
13        "@bazel_gazelle//label:go_default_library",
14        "@bazel_gazelle//language:go_default_library",
15        "@bazel_gazelle//pathtools:go_default_library",
16        "@bazel_gazelle//repo:go_default_library",
17        "@bazel_gazelle//resolve:go_default_library",
18        "@bazel_gazelle//rule:go_default_library",
19        "@com_github_bazelbuild_buildtools//build:go_default_library",
20    ],
21)
22
23go_test(
24    name = "bzl_test",
25    srcs = ["gazelle_test.go"],
26    data = [
27        ":gazelle-skylib",
28    ] + glob([
29        "testdata/**",
30    ]),
31    embed = [":bzl"],
32    deps = [
33        "@bazel_gazelle//testtools:go_default_library",
34        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
35    ],
36)
37
38# This gazelle binary is used exclusively for testing the gazelle language
39# extension and thus only has the skylib language installed.
40gazelle_binary(
41    name = "gazelle-skylib",
42    languages = [":bzl"],
43    visibility = [
44        # Also make the binary available in the root of the repo for use, but
45        # not externally.
46        "//:__pkg__",
47    ],
48)
49
50gazelle(
51    name = "gazelle",
52    gazelle = "//gazelle:gazelle-skylib",
53)
54