pkg/tool/os: add tasks for environment variables
These are implemented as tasks as they are state
altering and may yield different results on repeated
calls.
Also:
- Remove usage of package errors for pkgs.
- Updated go-cmp
- Fix bug in dependency analysis where default
values could cause a dependency to be concrete
prematurely.
Issue #159
Change-Id: I517eb6892cbeff538c806a822510ffce5dcb31b0
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/4461
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/pkg/tool/os/doc.go b/pkg/tool/os/doc.go
new file mode 100644
index 0000000..b32321f
--- /dev/null
+++ b/pkg/tool/os/doc.go
@@ -0,0 +1,48 @@
+// Code generated by cue get go. DO NOT EDIT.
+
+// Package os defines tasks for retrieving os-related information.
+//
+// CUE definitions:
+//
+// // A Value are all possible values allowed in flags.
+// // A null value unsets an environment variable.
+// Value :: bool | number | *string | null
+//
+// // Name indicates a valid flag name.
+// Name :: !="" & !~"^[$]"
+//
+// // Setenv defines a set of command line flags, the values of which will be set
+// // at run time. The doc comment of the flag is presented to the user in help.
+// //
+// // To define a shorthand, define the shorthand as a new flag referring to
+// // the flag of which it is a shorthand.
+// Setenv: {
+// $id: "tool/os.Setenv"
+//
+// [Name]: Value
+// }
+//
+// // Getenv gets and parses the specific command line variables.
+// Getenv: {
+// $id: "tool/os.Getenv"
+//
+// [Name]: Value
+// }
+//
+// // Environ populates a struct with all environment variables.
+// Environ: {
+// $id: "tool/os.Environ"
+//
+// // A map of all populated values.
+// // Individual entries may be specified ahead of time to enable
+// // validation and parsing. Values that are marked as required
+// // will fail the task if they are not found.
+// [Name]: Value
+// }
+//
+// // Clearenv clears all environment variables.
+// Clearenv: {
+// $id: "tool/os.Clearenv"
+// }
+//
+package os