From 4d60b372aad526abf2fcfb471bf7a484edcc6657 Mon Sep 17 00:00:00 2001 From: Jean-Laurent de Morlhon Date: Tue, 30 May 2017 09:45:00 +0200 Subject: [PATCH 1/5] Add a version command Signed-off-by: Jean-Laurent de Morlhon --- credentials/credentials.go | 14 +++++++++++--- credentials/version.go | 4 ++++ 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 credentials/version.go diff --git a/credentials/credentials.go b/credentials/credentials.go index 544ab3c..0025a76 100644 --- a/credentials/credentials.go +++ b/credentials/credentials.go @@ -50,7 +50,7 @@ func SetCredsLabel(label string) { func Serve(helper Helper) { var err error if len(os.Args) != 2 { - err = fmt.Errorf("Usage: %s ", os.Args[0]) + err = fmt.Errorf("Usage: %s ", os.Args[0]) } if err == nil { @@ -74,6 +74,8 @@ func HandleCommand(helper Helper, key string, in io.Reader, out io.Writer) error return Erase(helper, in) case "list": return List(helper, out) + case "version": + return PrintVersion(out) } return fmt.Errorf("Unknown credential action `%s`", key) } @@ -131,8 +133,8 @@ func Get(helper Helper, reader io.Reader, writer io.Writer) error { resp := Credentials{ ServerURL: serverURL, - Username: username, - Secret: secret, + Username: username, + Secret: secret, } buffer.Reset() @@ -175,3 +177,9 @@ func List(helper Helper, writer io.Writer) error { } return json.NewEncoder(writer).Encode(accts) } + +//PrintVersion outputs the current version. +func PrintVersion(writer io.Writer) error { + fmt.Fprintln(writer, Version) + return nil +} diff --git a/credentials/version.go b/credentials/version.go new file mode 100644 index 0000000..8c55934 --- /dev/null +++ b/credentials/version.go @@ -0,0 +1,4 @@ +package credentials + +// Version holds a string describing the current version +const Version = "0.5.1" From fa4a4d4f711315b52951cb677a3aea2aa3393808 Mon Sep 17 00:00:00 2001 From: Jean-Laurent de Morlhon Date: Tue, 30 May 2017 11:00:31 +0200 Subject: [PATCH 2/5] Bump Version 0.5.1-> 0.5.2-devel Signed-off-by: Jean-Laurent de Morlhon --- credentials/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/credentials/version.go b/credentials/version.go index 8c55934..5b5c160 100644 --- a/credentials/version.go +++ b/credentials/version.go @@ -1,4 +1,4 @@ package credentials // Version holds a string describing the current version -const Version = "0.5.1" +const Version = "0.5.2-dev" From 6ba4edf6e925c6c2e0667447cf803680ee50b50f Mon Sep 17 00:00:00 2001 From: Jean-Laurent de Morlhon Date: Tue, 30 May 2017 10:25:54 +0200 Subject: [PATCH 3/5] Read version from sources Signed-off-by: Jean-Laurent de Morlhon --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c3247cc..5479b87 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: all deps osxkeychain secretservice test validate wincred TRAVIS_OS_NAME ?= linux -VERSION = 0.5.1 +VERSION := $(shell grep 'const Version' credentials/version.go | awk -F'"' '{ print $$2 }') all: test @@ -23,6 +23,7 @@ codesign: osxkeychain osxrelease: clean test codesign mkdir -p release + @echo "\nPackaging version ${VERSION}\n" cd bin && tar cvfz ../release/docker-credential-osxkeychain-v$(VERSION)-amd64.tar.gz docker-credential-osxkeychain secretservice: From 2a67ef15248f9ae9d64823bc6a3b09c50f19fa7b Mon Sep 17 00:00:00 2001 From: Jean-Laurent de Morlhon Date: Tue, 30 May 2017 10:59:50 +0200 Subject: [PATCH 4/5] make linter happy Signed-off-by: Jean-Laurent de Morlhon --- credentials/credentials.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/credentials/credentials.go b/credentials/credentials.go index 0025a76..da8b594 100644 --- a/credentials/credentials.go +++ b/credentials/credentials.go @@ -33,11 +33,12 @@ func (c *Credentials) isValid() (bool, error) { return true, nil } -// Docker credentials should be labeled as such in credentials stores that allow labelling. +// CredsLabel holds the way Docker credentials should be labeled as such in credentials stores that allow labelling. // That label allows to filter out non-Docker credentials too at lookup/search in macOS keychain, // Windows credentials manager and Linux libsecret. Default value is "Docker Credentials" var CredsLabel = "Docker Credentials" +// SetCredsLabel is a simple setter for CredsLabel func SetCredsLabel(label string) { CredsLabel = label } From 167b137eb463378922809858a1bb4ddf67bea8ae Mon Sep 17 00:00:00 2001 From: Jean-Laurent de Morlhon Date: Tue, 30 May 2017 11:08:33 +0200 Subject: [PATCH 5/5] vet/lint/fmt before release Signed-off-by: Jean-Laurent de Morlhon --- Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 5479b87..58a0c54 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,12 @@ osxkeychain: mkdir bin go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go -codesign: osxkeychain +osxcodesign: osxkeychain $(eval SIGNINGHASH = $(shell security find-identity -v -p codesigning | grep "Developer ID Application: Docker Inc" | cut -d ' ' -f 4)) xcrun -log codesign -s $(SIGNINGHASH) --force --verbose bin/docker-credential-osxkeychain xcrun codesign --verify --deep --strict --verbose=2 --display bin/docker-credential-osxkeychain -osxrelease: clean test codesign +osxrelease: clean vet_osx lint fmt test osxcodesign mkdir -p release @echo "\nPackaging version ${VERSION}\n" cd bin && tar cvfz ../release/docker-credential-osxkeychain-v$(VERSION)-amd64.tar.gz docker-credential-osxkeychain @@ -50,8 +50,12 @@ vet_osx: vet_linux: go vet ./secretservice -validate: vet +lint: for p in `go list ./... | grep -v /vendor/`; do \ golint $$p ; \ done + +fmt: gofmt -s -l `ls **/*.go | grep -v vendor` + +validate: vet lint fmt