github.com/bazelbuild/bazel-gazelle@v0.36.1-0.20240520142334-61b277ba6fed/internal/is_bazel_module.bzl (about)

     1  # Copyright 2023 The Bazel Authors. All rights reserved.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #    http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  
    15  def _is_bazel_module_impl(repository_ctx):
    16      repository_ctx.file("WORKSPACE")
    17      repository_ctx.file("BUILD", """\
    18  load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
    19  
    20  bzl_library(
    21      name = "defs",
    22      srcs = ["defs.bzl"],
    23      visibility = ["//visibility:public"],
    24  )
    25  """)
    26      repository_ctx.file("defs.bzl", "GAZELLE_IS_BAZEL_MODULE = {}".format(
    27          repr(repository_ctx.attr.is_bazel_module),
    28      ))
    29  
    30  is_bazel_module = repository_rule(
    31      implementation = _is_bazel_module_impl,
    32      attrs = {
    33          "is_bazel_module": attr.bool(mandatory = True),
    34      },
    35  )