aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile18
-rw-r--r--cmd/gotp/main.go6
-rw-r--r--gotp.go4
4 files changed, 25 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 3fca313..23f5027 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
// SPDX-FileCopyrightText: 2021 M. Shulhan <ms@kilabit.info>
// SPDX-License-Identifier: GPL-3.0-or-later
README.html
+_bin/
cover.html
cover.out
testdata/add.conf
diff --git a/Makefile b/Makefile
index 4b4f88f..a17d4e4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,20 @@
## SPDX-FileCopyrightText: 2021 M. Shulhan <ms@kilabit.info>
## SPDX-License-Identifier: GPL-3.0-or-later
-.PHONY: all install
-all:
+.PHONY: all test build install
+
+VERSION:=$(shell git describe --tags)
+LDFLAGS:=-ldflags "-s -w -X 'git.sr.ht/~shulhan/gotp.Version=$(VERSION)'"
+
+all: test build
+
+test:
CGO_ENABLED=1 go test -race -failfast -coverprofile=cover.out ./...
go tool cover -html=cover.out -o cover.out
-install:
- go install ./cmd/gotp
+build:
+ mkdir -p _bin/
+ go build $(LDFLAGS) -o _bin/ ./cmd/...
+
+install: build
+ install -m755 _bin/gotp $(GOBIN)/
diff --git a/cmd/gotp/main.go b/cmd/gotp/main.go
index f031e8b..f159234 100644
--- a/cmd/gotp/main.go
+++ b/cmd/gotp/main.go
@@ -22,6 +22,7 @@ const (
cmdList = `list`
cmdRemove = `remove`
cmdRename = `rename`
+ cmdVersion = `version`
)
func main() {
@@ -76,6 +77,11 @@ func main() {
log.Printf(`%s %s: missing parameters`, cmdName, cmd)
os.Exit(1)
}
+
+ case cmdVersion:
+ fmt.Println(`gotp v`, gotp.Version)
+ return
+
default:
log.Printf(`%s: unknown command %q`, cmdName, cmd)
flag.Usage()
diff --git a/gotp.go b/gotp.go
index 3b9625a..4e88a4d 100644
--- a/gotp.go
+++ b/gotp.go
@@ -24,6 +24,10 @@ const (
providerNameAegis = `aegis`
)
+var (
+ Version = `0.2.0`
+)
+
// normalizeLabel convert non alpha number, hyphen, underscore, or period
// characters into `-`.
func normalizeLabel(in string) (out string) {