aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorGravatar Han-Wen Nienhuys <hanwen@google.com>2015-10-09 17:56:52 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-10-09 18:05:11 +0000
commit47182329400e359a7a6ad5857cf1854a4f9ec720 (patch)
tree002f31a16e5f0299d46b7019fc88122deccfb307 /examples
parentefb45908bd2a1361f724a78b98b821c2b8c89b66 (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
Diffstat (limited to 'examples')
-rw-r--r--examples/go/bin/BUILD14
-rw-r--r--examples/go/bin/bin.go14
-rw-r--r--examples/go/lib/BUILD20
-rw-r--r--examples/go/lib/lib.go6
-rw-r--r--examples/go/lib/lib_test.go11
-rw-r--r--examples/go/vendor/github_com/user/vendored/BUILD12
-rw-r--r--examples/go/vendor/github_com/user/vendored/vendored.go6
7 files changed, 83 insertions, 0 deletions
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"
+}