2019-11-24 21:34:30 +01:00
|
|
|
# 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
|
2022-01-30 17:06:58 +01:00
|
|
|
buildGo = import ../default.nix { };
|
2019-11-24 21:34:30 +01:00
|
|
|
|
|
|
|
# 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.)
|
2022-01-30 17:06:58 +01:00
|
|
|
in
|
|
|
|
buildGo.program {
|
2019-11-24 21:34:30 +01:00
|
|
|
name = "example";
|
|
|
|
|
|
|
|
srcs = [
|
|
|
|
./main.go
|
|
|
|
];
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
examplePackage
|
|
|
|
exampleProto
|
|
|
|
];
|
2019-11-24 21:41:29 +01:00
|
|
|
|
|
|
|
x_defs = {
|
|
|
|
"main.Flag" = "successfully";
|
|
|
|
};
|
2019-11-24 21:34:30 +01:00
|
|
|
}
|