Initial commit
This commit is contained in:
42
.gitignore
vendored
42
.gitignore
vendored
@ -1,5 +1,37 @@
|
|||||||
bazel-bazel-*
|
# ---> Bazel
|
||||||
bazel-bin
|
# gitignore template for Bazel build system
|
||||||
bazel-genfiles
|
# website: https://bazel.build/
|
||||||
bazel-out
|
|
||||||
bazel-testlogs
|
# Ignore all bazel-* symlinks. There is no full list since this can change
|
||||||
|
# based on the name of the directory bazel is cloned into.
|
||||||
|
/bazel-*
|
||||||
|
|
||||||
|
# Directories for the Bazel IntelliJ plugin containing the generated
|
||||||
|
# IntelliJ project files and plugin configuration. Seperate directories are
|
||||||
|
# for the IntelliJ, Android Studio and CLion versions of the plugin.
|
||||||
|
/.ijwb/
|
||||||
|
/.aswb/
|
||||||
|
/.clwb/
|
||||||
|
|
||||||
|
# ---> Go
|
||||||
|
# If you prefer the allow list template instead of the deny list, see community template:
|
||||||
|
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
|
||||||
|
#
|
||||||
|
# Binaries for programs and plugins
|
||||||
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Test binary, built with `go test -c`
|
||||||
|
*.test
|
||||||
|
|
||||||
|
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||||
|
*.out
|
||||||
|
|
||||||
|
# Dependency directories (remove the comment below to include it)
|
||||||
|
# vendor/
|
||||||
|
|
||||||
|
# Go workspace file
|
||||||
|
go.work
|
||||||
|
54
README.md
54
README.md
@ -1,54 +1,2 @@
|
|||||||
# bazel-example-golang
|
# lotr
|
||||||
|
|
||||||
An example project demonstrating bazel build rules for go with
|
|
||||||
a local binary (go_binary) and a local library (go_library).
|
|
||||||
|
|
||||||
This requires bazel release > `bazel-0.20`.
|
|
||||||
|
|
||||||
```
|
|
||||||
$ git clone https://github.com/laramiel/bazel-example-golang.git
|
|
||||||
$ cd bazel-example-golang
|
|
||||||
$ git submodule init
|
|
||||||
$ git submodule foreach git pull origin master
|
|
||||||
|
|
||||||
$ bazel run :hello
|
|
||||||
|
|
||||||
$ bazel run :remote
|
|
||||||
$ 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
|
|
||||||
|
|
||||||
This repository works in conjunction with other git repositories to
|
|
||||||
provide a demonstration of Bazel BUILD rules for golang.
|
|
||||||
|
|
||||||
* [bazel-example-golang](https://github.com/laramiel/bazel-example-golang)
|
|
||||||
The main repository, demonstrating binary, local, and remote repository usage.
|
|
||||||
|
|
||||||
* [bazel-example-golang-remote](https://github.com/laramiel/bazel-example-golang-remote)
|
|
||||||
An example remote repository which includes Bazel rules.
|
|
||||||
|
|
||||||
* [bazel-example-golang-bare](https://github.com/laramiel/bazel-example-golang-bare)
|
|
||||||
An example remote repository without any Bazel rules.
|
|
||||||
|
|
||||||
|
|
||||||
Each of the remote repositories is linked into `go_binary()` targets in several
|
|
||||||
ways:
|
|
||||||
|
|
||||||
1. Using the WORKSPACE file to define `git_repository()` rules.
|
|
||||||
This accounts for the `:remote` and `:bare` targets.
|
|
||||||
|
|
||||||
2. Using git submodules to import the repository source, and
|
|
||||||
using those paths. This accounts for the `//submodule:bare`
|
|
||||||
and `//submodule:remote` targets.
|
|
||||||
|
|
||||||
3. Using the VENDOR extension introduced in go1.6.
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user