...

Text file src/github.com/bazelbuild/rules_go/go/def.bzl

Documentation: github.com/bazelbuild/rules_go/go

     1# Copyright 2014 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"""Public definitions for Go rules.
    16
    17All public Go rules, providers, and other definitions are imported and
    18re-exported in this file. This allows the real location of definitions
    19to change for easier maintenance.
    20
    21Definitions outside this file are private unless otherwise noted, and
    22may change without notice.
    23"""
    24
    25load(
    26    "//go/private:context.bzl",
    27    _go_context = "go_context",
    28)
    29load(
    30    "//go/private:providers.bzl",
    31    _GoArchive = "GoArchive",
    32    _GoArchiveData = "GoArchiveData",
    33    _GoLibrary = "GoLibrary",
    34    _GoPath = "GoPath",
    35    _GoSDK = "GoSDK",
    36    _GoSource = "GoSource",
    37)
    38load(
    39    "//go/private/rules:sdk.bzl",
    40    _go_sdk = "go_sdk",
    41)
    42load(
    43    "//go/private:go_toolchain.bzl",
    44    _go_toolchain = "go_toolchain",
    45)
    46load(
    47    "//go/private/rules:wrappers.bzl",
    48    _go_binary_macro = "go_binary_macro",
    49    _go_library_macro = "go_library_macro",
    50    _go_test_macro = "go_test_macro",
    51)
    52load(
    53    "//go/private/rules:source.bzl",
    54    _go_source = "go_source",
    55)
    56load(
    57    "//extras:gomock.bzl",
    58    _gomock = "gomock",
    59)
    60load(
    61    "//go/private/tools:path.bzl",
    62    _go_path = "go_path",
    63)
    64load(
    65    "//go/private/rules:library.bzl",
    66    _go_tool_library = "go_tool_library",
    67)
    68load(
    69    "//go/private/rules:nogo.bzl",
    70    _nogo = "nogo_wrapper",
    71)
    72load(
    73    "//go/private/rules:cross.bzl",
    74    _go_cross_binary = "go_cross_binary",
    75)
    76
    77_TOOLS_NOGO = [
    78    "@org_golang_x_tools//go/analysis/passes/asmdecl:go_default_library",
    79    "@org_golang_x_tools//go/analysis/passes/assign:go_default_library",
    80    "@org_golang_x_tools//go/analysis/passes/atomic:go_default_library",
    81    "@org_golang_x_tools//go/analysis/passes/atomicalign:go_default_library",
    82    "@org_golang_x_tools//go/analysis/passes/bools:go_default_library",
    83    "@org_golang_x_tools//go/analysis/passes/buildssa:go_default_library",
    84    "@org_golang_x_tools//go/analysis/passes/buildtag:go_default_library",
    85    # TODO(#2396): pass raw cgo sources to cgocall and re-enable.
    86    # "@org_golang_x_tools//go/analysis/passes/cgocall:go_default_library",
    87    "@org_golang_x_tools//go/analysis/passes/composite:go_default_library",
    88    "@org_golang_x_tools//go/analysis/passes/copylock:go_default_library",
    89    "@org_golang_x_tools//go/analysis/passes/ctrlflow:go_default_library",
    90    "@org_golang_x_tools//go/analysis/passes/deepequalerrors:go_default_library",
    91    "@org_golang_x_tools//go/analysis/passes/errorsas:go_default_library",
    92    "@org_golang_x_tools//go/analysis/passes/findcall:go_default_library",
    93    "@org_golang_x_tools//go/analysis/passes/httpresponse:go_default_library",
    94    "@org_golang_x_tools//go/analysis/passes/ifaceassert:go_default_library",
    95    "@org_golang_x_tools//go/analysis/passes/inspect:go_default_library",
    96    "@org_golang_x_tools//go/analysis/passes/loopclosure:go_default_library",
    97    "@org_golang_x_tools//go/analysis/passes/lostcancel:go_default_library",
    98    "@org_golang_x_tools//go/analysis/passes/nilfunc:go_default_library",
    99    "@org_golang_x_tools//go/analysis/passes/nilness:go_default_library",
   100    "@org_golang_x_tools//go/analysis/passes/pkgfact:go_default_library",
   101    "@org_golang_x_tools//go/analysis/passes/printf:go_default_library",
   102    "@org_golang_x_tools//go/analysis/passes/shadow:go_default_library",
   103    "@org_golang_x_tools//go/analysis/passes/shift:go_default_library",
   104    "@org_golang_x_tools//go/analysis/passes/sortslice:go_default_library",
   105    "@org_golang_x_tools//go/analysis/passes/stdmethods:go_default_library",
   106    "@org_golang_x_tools//go/analysis/passes/stringintconv:go_default_library",
   107    "@org_golang_x_tools//go/analysis/passes/structtag:go_default_library",
   108    "@org_golang_x_tools//go/analysis/passes/testinggoroutine:go_default_library",
   109    "@org_golang_x_tools//go/analysis/passes/tests:go_default_library",
   110    "@org_golang_x_tools//go/analysis/passes/unmarshal:go_default_library",
   111    "@org_golang_x_tools//go/analysis/passes/unreachable:go_default_library",
   112    "@org_golang_x_tools//go/analysis/passes/unsafeptr:go_default_library",
   113    "@org_golang_x_tools//go/analysis/passes/unusedresult:go_default_library",
   114]
   115
   116# TOOLS_NOGO is a list of all analysis passes in
   117# golang.org/x/tools/go/analysis/passes.
   118# This is not backward compatible, so use caution when depending on this --
   119# new analyses may discover issues in existing builds.
   120TOOLS_NOGO = [str(Label(l)) for l in _TOOLS_NOGO]
   121
   122# Current version or next version to be tagged. Gazelle and other tools may
   123# check this to determine compatibility.
   124RULES_GO_VERSION = "0.46.0"
   125
   126go_context = _go_context
   127gomock = _gomock
   128go_sdk = _go_sdk
   129go_tool_library = _go_tool_library
   130go_toolchain = _go_toolchain
   131nogo = _nogo
   132
   133# See go/providers.rst#GoLibrary for full documentation.
   134GoLibrary = _GoLibrary
   135
   136# See go/providers.rst#GoSource for full documentation.
   137GoSource = _GoSource
   138
   139# See go/providers.rst#GoPath for full documentation.
   140GoPath = _GoPath
   141
   142# See go/providers.rst#GoArchive for full documentation.
   143GoArchive = _GoArchive
   144
   145# See go/providers.rst#GoArchiveData for full documentation.
   146GoArchiveData = _GoArchiveData
   147
   148# See go/providers.rst#GoSDK for full documentation.
   149GoSDK = _GoSDK
   150
   151# See docs/go/core/rules.md#go_library for full documentation.
   152go_library = _go_library_macro
   153
   154# See docs/go/core/rules.md#go_binary for full documentation.
   155go_binary = _go_binary_macro
   156
   157# See docs/go/core/rules.md#go_test for full documentation.
   158go_test = _go_test_macro
   159
   160# See docs/go/core/rules.md#go_test for full documentation.
   161go_source = _go_source
   162
   163# See docs/go/core/rules.md#go_path for full documentation.
   164go_path = _go_path
   165
   166# See docs/go/core/rules.md#go_cross_binary for full documentation.
   167go_cross_binary = _go_cross_binary
   168
   169def go_vet_test(*_args, **_kwargs):
   170    fail("The go_vet_test rule has been removed. Please migrate to nogo instead, which supports vet tests.")
   171
   172def go_rule(**_kwargs):
   173    fail("The go_rule function has been removed. Use rule directly instead. See https://github.com/bazelbuild/rules_go/blob/master/go/toolchains.rst#writing-new-go-rules")
   174
   175def go_rules_dependencies():
   176    _moved("go_rules_dependencies")
   177
   178def go_register_toolchains(**_kwargs):
   179    _moved("go_register_toolchains")
   180
   181def go_download_sdk(**_kwargs):
   182    _moved("go_download_sdk")
   183
   184def go_host_sdk(**_kwargs):
   185    _moved("go_host_sdk")
   186
   187def go_local_sdk(**_kwargs):
   188    _moved("go_local_sdk")
   189
   190def go_wrap_sdk(**_kwargs):
   191    _moved("go_wrap_sdK")
   192
   193def _moved(name):
   194    fail(name + " has moved. Please load from " +
   195         " @io_bazel_rules_go//go:deps.bzl instead of def.bzl.")

View as plain text