aboutsummaryrefslogtreecommitdiff
path: root/cmd/info.go
diff options
context:
space:
mode:
authorJoe Richey joerichey@google.com <joerichey@google.com>2017-10-09 19:12:49 -0700
committerJoseph Richey <joerichey94@gmail.com>2017-10-19 02:22:24 -0700
commit921f1c977c4e0704f61e3a7c092d3a4317ab278c (patch)
treea3a2d3f089a19710b7ed0886ee8ba0ffb2bc4294 /cmd/info.go
parentb96f72d63641c8dcfe5e142ecd5d6c9f9a7d5778 (diff)
Fixes
Diffstat (limited to 'cmd/info.go')
-rw-r--r--cmd/info.go72
1 files changed, 72 insertions, 0 deletions
diff --git a/cmd/info.go b/cmd/info.go
new file mode 100644
index 0000000..6257ec1
--- /dev/null
+++ b/cmd/info.go
@@ -0,0 +1,72 @@
+/*
+ * info.go - Global information about the program.
+ *
+ * Copyright 2017 Google Inc.
+ * Author: Joe Richey (joerichey@google.com)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package cmd
+
+import (
+ "time"
+
+ "github.com/urfave/cli"
+)
+
+// Info contains the global info for the functions.
+var Info struct {
+ // Program is the name of the top-level program being executed. If not
+ // set it is set in cmd.RunArgs().
+ Program string
+ // VersionTag (if set) will be displayed in both the short and long
+ // version output. VersionTag is not parsed, so any string will work.
+ VersionTag string
+ // BuildTime (if set) will be displayed in the long version output.
+ BuildTime time.Time
+ // Authors (if non-empty) are displayed in the long version output.
+ Authors []cli.Author
+ // Copyright (if set) is displayed in the long version output.
+ Copyright string
+}
+
+// Linker flags of the form "-X cmd.Info.VersionTag=1.0" do not work, so we use
+// these separate files so variables can be set from the Makefile.
+var (
+ versionTag string
+ buildTime string
+)
+
+// fscrypt specific initialization
+func init() {
+ Info.VersionTag = versionTag
+ Info.BuildTime = buildTime
+ Info.Authors = []cli.Author{{
+ Name: "Joe Richey",
+ Email: "joerichey@google.com",
+ }}
+ Info.Copyright = `Copyright 2017 Google, Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.`
+}