| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package flags implements utilities to augment the standard Go flag package. |
| // It defines commonly used Vanadium flags, and implementations of the |
| // flag.Value interface for those flags to ensure that only valid values of |
| // those flags are supplied. Some of these flags may also be specified using |
| // environment variables directly and are documented accordingly; in these cases |
| // the command line value takes precedence over the environment variable. |
| // |
| // Flags are defined as 'groups' of related flags so that the caller may choose |
| // which ones to use without having to be burdened with the full set. The |
| // groups may be used directly or via the Flags type that aggregates multiple |
| // groups. In all cases, the flags are registered with a supplied flag.FlagSet |
| // and hence are not forced onto the command line unless the caller passes in |
| // flag.CommandLine as the flag.FlagSet to use. |
| // |
| // In general, this package will be used by vanadium profiles and the runtime |
| // implementations, but can also be used by any application that wants access to |
| // the flags and environment variables it supports. |
| package flags |