1*9bb1b549SSpandan Das# Copyright 2018 The Bazel Authors. All rights reserved. 2*9bb1b549SSpandan Das# 3*9bb1b549SSpandan Das# Licensed under the Apache License, Version 2.0 (the "License"); 4*9bb1b549SSpandan Das# you may not use this file except in compliance with the License. 5*9bb1b549SSpandan Das# You may obtain a copy of the License at 6*9bb1b549SSpandan Das# 7*9bb1b549SSpandan Das# http://www.apache.org/licenses/LICENSE-2.0 8*9bb1b549SSpandan Das# 9*9bb1b549SSpandan Das# Unless required by applicable law or agreed to in writing, software 10*9bb1b549SSpandan Das# distributed under the License is distributed on an "AS IS" BASIS, 11*9bb1b549SSpandan Das# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9bb1b549SSpandan Das# See the License for the specific language governing permissions and 13*9bb1b549SSpandan Das# limitations under the License. 14*9bb1b549SSpandan Das 15*9bb1b549SSpandan DasDEFAULT_NOGO = "@io_bazel_rules_go//:default_nogo" 16*9bb1b549SSpandan Das 17*9bb1b549SSpandan Dasdef _go_register_nogo_impl(ctx): 18*9bb1b549SSpandan Das ctx.template( 19*9bb1b549SSpandan Das "BUILD.bazel", 20*9bb1b549SSpandan Das Label("//go/private:BUILD.nogo.bazel"), 21*9bb1b549SSpandan Das substitutions = { 22*9bb1b549SSpandan Das "{{nogo}}": ctx.attr.nogo, 23*9bb1b549SSpandan Das }, 24*9bb1b549SSpandan Das executable = False, 25*9bb1b549SSpandan Das ) 26*9bb1b549SSpandan Das 27*9bb1b549SSpandan Das# go_register_nogo creates a repository with an alias that points 28*9bb1b549SSpandan Das# to the nogo rule that should be used globally by go rules in the workspace. 29*9bb1b549SSpandan Das# This may be called automatically by go_rules_dependencies or by 30*9bb1b549SSpandan Das# go_register_toolchains. 31*9bb1b549SSpandan Dasgo_register_nogo = repository_rule( 32*9bb1b549SSpandan Das _go_register_nogo_impl, 33*9bb1b549SSpandan Das attrs = { 34*9bb1b549SSpandan Das "nogo": attr.string(mandatory = True), 35*9bb1b549SSpandan Das }, 36*9bb1b549SSpandan Das) 37