chore: Significantly restructure folder layout
This moves the various projects from "type-based" folders (such as "services" or "tools") into more appropriate semantic folders (such as "nix", "ops" or "web"). Deprecated projects (nixcon-demo & gotest) which only existed for testing/demonstration purposes have been removed. (Note: *all* builds are broken with this commit)
This commit is contained in:
parent
e52eed3cd4
commit
03bfe08e1d
110 changed files with 1 additions and 998 deletions
47
nix/buildGo/example/default.nix
Normal file
47
nix/buildGo/example/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# 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
|
||||
];
|
||||
|
||||
x_defs = {
|
||||
"main.Flag" = "successfully";
|
||||
};
|
||||
}
|
||||
9
nix/buildGo/example/lib.go
Normal file
9
nix/buildGo/example/lib.go
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package example
|
||||
|
||||
// UUID returns a totally random, carefully chosen UUID
|
||||
func UUID() string {
|
||||
return "3640932f-ad40-4bc9-b45d-f504a0f5910a"
|
||||
}
|
||||
25
nix/buildGo/example/main.go
Normal file
25
nix/buildGo/example/main.go
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Package main provides a tiny example program for the Bazel-style
|
||||
// Nix build system for Go.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"example"
|
||||
"exampleproto"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var Flag string = "unsuccessfully"
|
||||
|
||||
func main() {
|
||||
thing := exampleproto.Thing{
|
||||
Id: example.UUID(),
|
||||
KindOfThing: "test thing",
|
||||
}
|
||||
|
||||
fmt.Printf("The thing is a %s with ID %q\n", thing.Id, thing.KindOfThing)
|
||||
fmt.Printf("The flag has been %s set\n", Flag)
|
||||
}
|
||||
10
nix/buildGo/example/thing.proto
Normal file
10
nix/buildGo/example/thing.proto
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
syntax = "proto3";
|
||||
package exampleProto;
|
||||
|
||||
message Thing {
|
||||
string id = 1;
|
||||
string kind_of_thing = 2;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue