Create a go_bindata bazel macro

pull/8/head
Jeff Grafton 2018-04-11 17:24:51 -07:00
parent 75efdf2974
commit b2f8cf1bce
3 changed files with 54 additions and 24 deletions

44
build/bindata.bzl Normal file
View File

@ -0,0 +1,44 @@
# Copyright 2018 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# genrule wrapper around the go-bindata utility.
def go_bindata(
name, srcs, outs,
compress=True,
include_metadata=True,
pkg="generated",
ignores=["\.jpg", "\.png", "\.md", "BUILD(\.bazel)?"],
**kw):
args = []
for ignore in ignores:
args.extend(["-ignore", "'%s'" % ignore])
if not include_metadata:
args.append("-nometadata")
if not compress:
args.append("-nocompress")
native.genrule(
name = name,
srcs = srcs,
outs = outs,
cmd = """
$(location //vendor/github.com/jteeuwen/go-bindata/go-bindata:go-bindata) \
-o "$@" -pkg %s -prefix $$(pwd) %s $(SRCS)
""" % (pkg, " ".join(args)),
tools = [
"//vendor/github.com/jteeuwen/go-bindata/go-bindata",
],
**kw
)

View File

@ -4,23 +4,16 @@ load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
load("//build:bindata.bzl", "go_bindata")
genrule(
go_bindata(
name = "bindata",
srcs = [
"//translations:all-srcs",
],
outs = ["bindata.go"],
cmd = """
$(location //vendor/github.com/jteeuwen/go-bindata/go-bindata:go-bindata) \
-nometadata -nocompress -o "$(OUTS)" -pkg generated \
-prefix $$(pwd) \
-ignore .jpg -ignore .png -ignore .md -ignore 'BUILD(\.bazel)?' \
$(SRCS)
""",
tools = [
"//vendor/github.com/jteeuwen/go-bindata/go-bindata",
],
compress = False,
include_metadata = False,
)
go_library(

View File

@ -4,6 +4,7 @@ load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
load("//build:bindata.bzl", "go_bindata")
go_library(
name = "go_default_library",
@ -18,24 +19,16 @@ go_library(
],
)
genrule(
go_bindata(
name = "bindata",
srcs = [
"//test/images:all-srcs",
"//test/fixtures:all-srcs",
"//test/e2e/testing-manifests:all-srcs",
"//test/fixtures:all-srcs",
"//test/images:all-srcs",
],
outs = ["bindata.go"],
cmd = """
$(location //vendor/github.com/jteeuwen/go-bindata/go-bindata:go-bindata) \
-nometadata -o "$(OUTS)" -pkg generated \
-prefix $$(pwd) \
-ignore .jpg -ignore .png -ignore .md -ignore 'BUILD(\.bazel)?' \
$(SRCS)
""",
tools = [
"//vendor/github.com/jteeuwen/go-bindata/go-bindata",
],
compress = True,
include_metadata = False,
)
filegroup(