xref: /aosp_15_r20/external/bazel-skylib/gazelle/setup.bzl (revision bcb5dc7965af6ee42bf2f21341a2ec00233a8c8a)
1*bcb5dc79SHONG Yifan# Copyright 2019 The Bazel Authors. All rights reserved.
2*bcb5dc79SHONG Yifan#
3*bcb5dc79SHONG Yifan# Licensed under the Apache License, Version 2.0 (the "License");
4*bcb5dc79SHONG Yifan# you may not use this file except in compliance with the License.
5*bcb5dc79SHONG Yifan# You may obtain a copy of the License at
6*bcb5dc79SHONG Yifan#
7*bcb5dc79SHONG Yifan#    http://www.apache.org/licenses/LICENSE-2.0
8*bcb5dc79SHONG Yifan#
9*bcb5dc79SHONG Yifan# Unless required by applicable law or agreed to in writing, software
10*bcb5dc79SHONG Yifan# distributed under the License is distributed on an "AS IS" BASIS,
11*bcb5dc79SHONG Yifan# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*bcb5dc79SHONG Yifan# See the License for the specific language governing permissions and
13*bcb5dc79SHONG Yifan# limitations under the License.
14*bcb5dc79SHONG Yifan
15*bcb5dc79SHONG Yifan"""Dependency registration helpers for the gazelle plugin."""
16*bcb5dc79SHONG Yifan
17*bcb5dc79SHONG Yifanload("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
18*bcb5dc79SHONG Yifanload("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
19*bcb5dc79SHONG Yifan
20*bcb5dc79SHONG Yifandef bazel_skylib_gazelle_plugin_setup(go_version = "1.20.5", register_go_toolchains = True):
21*bcb5dc79SHONG Yifan    """Set up the dependencies needed by the Gazelle plugin.
22*bcb5dc79SHONG Yifan
23*bcb5dc79SHONG Yifan    Args:
24*bcb5dc79SHONG Yifan      go_version: The version of Go registered as part of the build as a string
25*bcb5dc79SHONG Yifan      register_go_toolchains: A boolean indicating whether or not to register the Go toolchains. Defaults to `True`
26*bcb5dc79SHONG Yifan    """
27*bcb5dc79SHONG Yifan    go_rules_dependencies()
28*bcb5dc79SHONG Yifan
29*bcb5dc79SHONG Yifan    if register_go_toolchains:
30*bcb5dc79SHONG Yifan        go_register_toolchains(version = go_version)
31*bcb5dc79SHONG Yifan
32*bcb5dc79SHONG Yifan    gazelle_dependencies()
33