diff options
author | Han-Wen Nienhuys <hanwen@google.com> | 2015-10-09 17:56:52 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2015-10-09 18:05:11 +0000 |
commit | 47182329400e359a7a6ad5857cf1854a4f9ec720 (patch) | |
tree | 002f31a16e5f0299d46b7019fc88122deccfb307 | |
parent | efb45908bd2a1361f724a78b98b821c2b8c89b66 (diff) |
Provide an example for the Go rules, eg.
bazel test examples/go/lib:lib_test
bazel build examples/go/bin:bin
--
MOS_MIGRATED_REVID=105070940
-rw-r--r-- | BUILD | 4 | ||||
-rw-r--r-- | WORKSPACE | 11 | ||||
-rw-r--r-- | examples/go/bin/BUILD | 14 | ||||
-rw-r--r-- | examples/go/bin/bin.go | 14 | ||||
-rw-r--r-- | examples/go/lib/BUILD | 20 | ||||
-rw-r--r-- | examples/go/lib/lib.go | 6 | ||||
-rw-r--r-- | examples/go/lib/lib_test.go | 11 | ||||
-rw-r--r-- | examples/go/vendor/github_com/user/vendored/BUILD | 12 | ||||
-rw-r--r-- | examples/go/vendor/github_com/user/vendored/vendored.go | 6 |
9 files changed, 98 insertions, 0 deletions
@@ -9,3 +9,7 @@ filegroup( name = "dummy", visibility = ["//visibility:public"], ) + +load("/tools/build_rules/go/def", "go_prefix") + +go_prefix("github.com/bazelbuild/bazel") @@ -80,3 +80,14 @@ new_http_archive( sha256 = "87494218eea2441a7a24b40f227330877dbba75c5fa9014ac6188711baed53f6", build_file = "tools/build_defs/sass/sassc.BUILD", ) + +bind(name = "go_prefix", + actual = "//:go_prefix", +) + +new_http_archive( + name= "golang-linux-amd64", + url = "https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz", + build_file = "tools/build_rules/go/toolchain/BUILD.go-toolchain", + sha256 = "2593132ca490b9ee17509d65ee2cd078441ff544899f6afb97a03d08c25524e7" +) diff --git a/examples/go/bin/BUILD b/examples/go/bin/BUILD new file mode 100644 index 0000000000..d6676c401a --- /dev/null +++ b/examples/go/bin/BUILD @@ -0,0 +1,14 @@ +package( + default_visibility = ["//visibility:public"], +) + +load("/tools/build_rules/go/def", "go_binary") + +go_binary( + name = "bin", + srcs = ["bin.go"], + deps = [ + "//examples/go/lib:go_default_library", + "//examples/go/vendor/github_com/user/vendored:go_default_library", + ], +) diff --git a/examples/go/bin/bin.go b/examples/go/bin/bin.go new file mode 100644 index 0000000000..b0c5917145 --- /dev/null +++ b/examples/go/bin/bin.go @@ -0,0 +1,14 @@ +package main + +import ( + "fmt" + + "github_com/user/vendored" + + "github.com/bazelbuild/bazel/examples/go/lib" +) + +func main() { + fmt.Println("meaning: ", lib.Meaning()) + fmt.Println("vendored: ", vendored.Vendored()) +} diff --git a/examples/go/lib/BUILD b/examples/go/lib/BUILD new file mode 100644 index 0000000000..ac982b1145 --- /dev/null +++ b/examples/go/lib/BUILD @@ -0,0 +1,20 @@ +package( + default_visibility = ["//visibility:public"], +) + +load("/tools/build_rules/go/def", "go_library", "go_test") + +go_library( + name = "go_default_library", + srcs = [ + "lib.go", + ], +) + +go_test( + name = "lib_test", + srcs = [ + "lib_test.go", + ], + library = ":go_default_library", +) diff --git a/examples/go/lib/lib.go b/examples/go/lib/lib.go new file mode 100644 index 0000000000..f97e3aefce --- /dev/null +++ b/examples/go/lib/lib.go @@ -0,0 +1,6 @@ +package lib + +// Meaning calculates the meaning of Life, the Universe and Everything. +func Meaning() int { + return 42 +} diff --git a/examples/go/lib/lib_test.go b/examples/go/lib/lib_test.go new file mode 100644 index 0000000000..e8a9f1b707 --- /dev/null +++ b/examples/go/lib/lib_test.go @@ -0,0 +1,11 @@ +package lib + +import ( + "testing" +) + +func TestMeaning(t *testing.T) { + if m := Meaning(); m != 42 { + t.Errorf("got %d, want 42", m) + } +} diff --git a/examples/go/vendor/github_com/user/vendored/BUILD b/examples/go/vendor/github_com/user/vendored/BUILD new file mode 100644 index 0000000000..7fa0283e99 --- /dev/null +++ b/examples/go/vendor/github_com/user/vendored/BUILD @@ -0,0 +1,12 @@ +package( + default_visibility = ["//visibility:public"], +) + +load("/tools/build_rules/go/def", "go_library") + +go_library( + name = "go_default_library", + srcs = [ + "vendored.go", + ], +) diff --git a/examples/go/vendor/github_com/user/vendored/vendored.go b/examples/go/vendor/github_com/user/vendored/vendored.go new file mode 100644 index 0000000000..1e9ee6e785 --- /dev/null +++ b/examples/go/vendor/github_com/user/vendored/vendored.go @@ -0,0 +1,6 @@ +package vendored + +// Vendored returns a string. +func Vendored() string { + return "I was vendored" +} |