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