Skip to content

Commit 4bc0bc2

Browse files
authored
Merge pull request #67 from jeanlaurent/add-version-command
Add version command
2 parents 607bf3c + 167b137 commit 4bc0bc2

File tree

3 files changed

+26
-8
lines changed

3 files changed

+26
-8
lines changed

Makefile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.PHONY: all deps osxkeychain secretservice test validate wincred
22

33
TRAVIS_OS_NAME ?= linux
4-
VERSION = 0.5.1
4+
VERSION := $(shell grep 'const Version' credentials/version.go | awk -F'"' '{ print $$2 }')
55

66
all: test
77

@@ -16,13 +16,14 @@ osxkeychain:
1616
mkdir bin
1717
go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go
1818

19-
codesign: osxkeychain
19+
osxcodesign: osxkeychain
2020
$(eval SIGNINGHASH = $(shell security find-identity -v -p codesigning | grep "Developer ID Application: Docker Inc" | cut -d ' ' -f 4))
2121
xcrun -log codesign -s $(SIGNINGHASH) --force --verbose bin/docker-credential-osxkeychain
2222
xcrun codesign --verify --deep --strict --verbose=2 --display bin/docker-credential-osxkeychain
2323

24-
osxrelease: clean test codesign
24+
osxrelease: clean vet_osx lint fmt test osxcodesign
2525
mkdir -p release
26+
@echo "\nPackaging version ${VERSION}\n"
2627
cd bin && tar cvfz ../release/docker-credential-osxkeychain-v$(VERSION)-amd64.tar.gz docker-credential-osxkeychain
2728

2829
secretservice:
@@ -49,8 +50,12 @@ vet_osx:
4950
vet_linux:
5051
go vet ./secretservice
5152

52-
validate: vet
53+
lint:
5354
for p in `go list ./... | grep -v /vendor/`; do \
5455
golint $$p ; \
5556
done
57+
58+
fmt:
5659
gofmt -s -l `ls **/*.go | grep -v vendor`
60+
61+
validate: vet lint fmt

credentials/credentials.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,12 @@ func (c *Credentials) isValid() (bool, error) {
3333
return true, nil
3434
}
3535

36-
// Docker credentials should be labeled as such in credentials stores that allow labelling.
36+
// CredsLabel holds the way Docker credentials should be labeled as such in credentials stores that allow labelling.
3737
// That label allows to filter out non-Docker credentials too at lookup/search in macOS keychain,
3838
// Windows credentials manager and Linux libsecret. Default value is "Docker Credentials"
3939
var CredsLabel = "Docker Credentials"
4040

41+
// SetCredsLabel is a simple setter for CredsLabel
4142
func SetCredsLabel(label string) {
4243
CredsLabel = label
4344
}
@@ -50,7 +51,7 @@ func SetCredsLabel(label string) {
5051
func Serve(helper Helper) {
5152
var err error
5253
if len(os.Args) != 2 {
53-
err = fmt.Errorf("Usage: %s <store|get|erase|list>", os.Args[0])
54+
err = fmt.Errorf("Usage: %s <store|get|erase|list|version>", os.Args[0])
5455
}
5556

5657
if err == nil {
@@ -74,6 +75,8 @@ func HandleCommand(helper Helper, key string, in io.Reader, out io.Writer) error
7475
return Erase(helper, in)
7576
case "list":
7677
return List(helper, out)
78+
case "version":
79+
return PrintVersion(out)
7780
}
7881
return fmt.Errorf("Unknown credential action `%s`", key)
7982
}
@@ -131,8 +134,8 @@ func Get(helper Helper, reader io.Reader, writer io.Writer) error {
131134

132135
resp := Credentials{
133136
ServerURL: serverURL,
134-
Username: username,
135-
Secret: secret,
137+
Username: username,
138+
Secret: secret,
136139
}
137140

138141
buffer.Reset()
@@ -175,3 +178,9 @@ func List(helper Helper, writer io.Writer) error {
175178
}
176179
return json.NewEncoder(writer).Encode(accts)
177180
}
181+
182+
//PrintVersion outputs the current version.
183+
func PrintVersion(writer io.Writer) error {
184+
fmt.Fprintln(writer, Version)
185+
return nil
186+
}

credentials/version.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package credentials
2+
3+
// Version holds a string describing the current version
4+
const Version = "0.5.2-dev"

0 commit comments

Comments
 (0)