commit 1f5135d9bd5f4602f52326e5e585593634ef6f9f Author: Laramie Leavitt Date: Wed Mar 2 01:00:40 2016 -0800 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ac51a05 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +bazel-* diff --git a/BUILD b/BUILD new file mode 100644 index 0000000..aba9c8f --- /dev/null +++ b/BUILD @@ -0,0 +1,13 @@ +load("@bazel_tools//tools/build_rules/go:def.bzl", "go_prefix", "go_binary") + +package( + default_visibility = ["//visibility:public"], +) + +go_prefix("github.com/lar/bazel-example-golang") + +go_binary( + name ="hello", + srcs = [ "hello.go" ], + deps = [ "//local" ], +) \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..85277f3 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ + +An example project demonstrating bazel build rules for go with +a local binary (go_binary) and a local library (go_library). + +This requires a release > `bazel-0.20`. + +``` +$ bazel run :hello +``` \ No newline at end of file diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 0000000..87a849d --- /dev/null +++ b/WORKSPACE @@ -0,0 +1,3 @@ +load("@bazel_tools//tools/build_rules/go:def.bzl", "go_repositories") + +go_repositories() diff --git a/hello.go b/hello.go new file mode 100644 index 0000000..5f50fe4 --- /dev/null +++ b/hello.go @@ -0,0 +1,11 @@ +package main + +import ( + "fmt" + + "github.com/lar/bazel-example-golang/local/local" +) + +func main() { + fmt.Println("Hello", local.World()) +} diff --git a/local/BUILD b/local/BUILD new file mode 100644 index 0000000..f0d58ab --- /dev/null +++ b/local/BUILD @@ -0,0 +1,7 @@ +load("@bazel_tools//tools/build_rules/go:def.bzl", "go_library") + +go_library( + name ="local", + srcs = [ "local.go" ], + visibility = ["//visibility:public"], +) diff --git a/local/local.go b/local/local.go new file mode 100644 index 0000000..e714663 --- /dev/null +++ b/local/local.go @@ -0,0 +1,5 @@ +package local + +func World() string { + return "local.World!" +}