Add the vendor/ path, and add git submodules to the appropriate

subdirectory paths under vendor/

The intent is to make use of the golang 1.6 VENDOR extension
to build. As seen, the bare example does not correctly build
using bazel in this mode.
This commit is contained in:
Laramie Leavitt
2016-03-17 18:39:54 -07:00
parent 53207a1865
commit f189432d24
9 changed files with 72 additions and 1 deletions

6
.gitignore vendored
View File

@ -1 +1,5 @@
bazel-*
bazel-bazel-*
bazel-bin
bazel-genfiles
bazel-out
bazel-testlogs

6
.gitmodules vendored
View File

@ -4,3 +4,9 @@
[submodule "submodule/src/remote"]
path = submodule/src/remote
url = git://github.com/laramiel/bazel-example-golang-remote
[submodule "vendor/github.com/laramiel/bazel-example-golang-remote"]
path = vendor/github.com/laramiel/bazel-example-golang-remote
url = git://github.com/laramiel/bazel-example-golang-remote
[submodule "vendor/github.com/laramiel/bazel-example-golang-bare"]
path = vendor/github.com/laramiel/bazel-example-golang-bare
url = git://github.com/laramiel/bazel-example-golang-bare

View File

@ -18,6 +18,10 @@ $ bazel run :bare
$ git submodule update --init --recursive
$ bazel run //submodule:bare
$ bazel run //submodule:remote
$ bazel run //with_vendor:remote
$ bazel run //with_vendor:bare
```
# Explanation
@ -45,3 +49,5 @@ ways:
using those paths. This accounts for the `//submodule:bare`
and `//submodule:remote` targets.
3. Using the VENDOR extension introduced in go1.6.

7
vendor/github.com/laramiel/BUILD generated vendored Normal file
View File

@ -0,0 +1,7 @@
load("@bazel_tools//tools/build_rules/go:def.bzl", "go_library")
go_library(
name = "bare",
srcs = [ "bazel-example-golang-bare/bare.go" ],
visibility = ["//visibility:public"],
)

24
with_vendor/BUILD Normal file
View File

@ -0,0 +1,24 @@
load("@bazel_tools//tools/build_rules/go:def.bzl", "go_prefix", "go_binary")
package(
default_visibility = ["//visibility:public"],
)
# BAZEL does not work correctly with BUILD files rooted elsewhere than
# the actual code directory.
#
#go_binary(
# name ="bare",
# srcs = [ "bare.go" ],
# deps = [
# "//vendor/github.com/laramiel:bare",
# ],
#)
go_binary(
name ="remote",
srcs = [ "remote.go" ],
deps = [
"//vendor/github.com/laramiel/bazel-example-golang-remote:remote",
],
)

11
with_vendor/bare.go Normal file
View File

@ -0,0 +1,11 @@
package main
import (
"fmt"
"github.com/laramiel/bazel-example-golang-bare/bare"
)
func main() {
fmt.Println("Hello", bare.World())
}

11
with_vendor/remote.go Normal file
View File

@ -0,0 +1,11 @@
package main
import (
"fmt"
"github.com/laramiel/bazel-example-golang-remote/remote"
)
func main() {
fmt.Println("Hello", remote.World())
}