feat(example): Add an example for how to use buildGo builders
This commit is contained in:
parent
d441e035aa
commit
071babf148
4 changed files with 84 additions and 0 deletions
43
example/default.nix
Normal file
43
example/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# Copyright 2019 Google LLC.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# This file provides examples for how to use the various builder
|
||||
# functions provided by `buildGo`.
|
||||
#
|
||||
# The features used in the example are not exhaustive, but should give
|
||||
# users a quick introduction to how to use buildGo.
|
||||
|
||||
let
|
||||
buildGo = import ../buildGo.nix {};
|
||||
|
||||
# Example use of buildGo.package, which creates an importable Go
|
||||
# package from the specified source files.
|
||||
examplePackage = buildGo.package {
|
||||
name = "example";
|
||||
srcs = [
|
||||
./lib.go
|
||||
];
|
||||
};
|
||||
|
||||
# Example use of buildGo.proto, which generates a Go library from a
|
||||
# Protobuf definition file.
|
||||
exampleProto = buildGo.proto {
|
||||
name = "exampleproto";
|
||||
proto = ./thing.proto;
|
||||
};
|
||||
|
||||
# Example use of buildGo.program, which builds an executable using
|
||||
# the specified name and dependencies (which in turn must have been
|
||||
# created via buildGo.package etc.)
|
||||
in buildGo.program {
|
||||
name = "example";
|
||||
|
||||
srcs = [
|
||||
./main.go
|
||||
];
|
||||
|
||||
deps = [
|
||||
examplePackage
|
||||
exampleProto
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue