summaryrefslogtreecommitdiff
path: root/pkg/config/version/main.go
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2020-06-17 13:17:16 +0200
committerkali kaneko (leap communications) <kali@leap.se>2020-06-26 12:13:41 +0200
commit253b12e140905d3a38bcd09d55b9c5dbf0601d66 (patch)
tree3c2da8b70ebe0536cb4382b54d8a1a8c04f5cc4a /pkg/config/version/main.go
parent35971c9a80879728a7bec38494a1edc1ecbf740f (diff)
[feat] working about dialog
Diffstat (limited to 'pkg/config/version/main.go')
-rw-r--r--pkg/config/version/main.go95
1 files changed, 0 insertions, 95 deletions
diff --git a/pkg/config/version/main.go b/pkg/config/version/main.go
deleted file mode 100644
index a86b619..0000000
--- a/pkg/config/version/main.go
+++ /dev/null
@@ -1,95 +0,0 @@
-package main
-
-import (
- "flag"
- "io"
- "log"
- "os"
- "os/exec"
- "path/filepath"
- "strings"
- "text/template"
- "time"
-)
-
-var (
- flPackageName = flag.String("package", "main", "name for the generated golang package")
- flVariableName = flag.String("variable", "VERSION", "variable name in the generated golang package")
- flOutputFile = flag.String("output", "", "output filename (default stdout)")
-)
-
-func main() {
- flag.Parse()
- dir := "."
- if flag.NArg() > 0 {
- dir = flag.Args()[0]
- }
- dir, err := filepath.Abs(dir)
- if err != nil {
- log.Fatal(err)
- }
-
- var output io.Writer
- if len(*flOutputFile) > 0 {
- fh, err := os.Create(*flOutputFile)
- if err != nil {
- log.Fatal(err)
- }
- defer fh.Close()
- output = fh
- } else {
- output = os.Stdout
- }
-
- vers, err := GitDescribe(dir)
- if err != nil {
- log.Fatal(err)
- }
- vp := VersionPackage{
- Name: *flPackageName,
- Path: dir,
- Date: time.Now(),
- Variable: *flVariableName,
- Version: vers,
- }
-
- packageTemplate.Execute(output, vp)
-}
-
-// VersionPackage is the needed information to template a version package
-type VersionPackage struct {
- Name string
- Path string
- Date time.Time
- Variable string
- Version string
-}
-
-var packageTemplate = template.Must(template.New("default").Parse(packageLayout))
-var packageLayout = `package {{.Name}}
-// AUTO-GENERATED. DO NOT EDIT
-// {{.Date}}
-
-// {{.Variable}} is generated by git-describe from gen.go
-var {{.Variable}} = "{{.Version}}"
- `
-
-// GitDescribe calls `git describe` in the provided path
-func GitDescribe(path string) (string, error) {
- cwd, err := os.Getwd()
- if err != nil {
- return "", err
- }
- // TODO check if this is a directory
- if err := os.Chdir(path); err != nil {
- return "", err
- }
- defer os.Chdir(cwd)
-
- buf, err := exec.Command("git", "describe").CombinedOutput()
- if err != nil {
- return "", err
- }
-
- return strings.TrimSpace(string(buf)), nil
-}