Skip to content

Commit dab7922

Browse files
committed
Change --version output
1 parent 4d525dd commit dab7922

File tree

10 files changed

+275
-271
lines changed

10 files changed

+275
-271
lines changed

.goreleaser.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ builds:
3030
- amd64
3131
ldflags:
3232
- -s -w
33-
- -X github.com/arduino/arduino-lint/configuration.version={{.Tag}}
34-
- -X github.com/arduino/arduino-lint/configuration.commit={{ .ShortCommit }}
35-
- -X github.com/arduino/arduino-lint/configuration.buildTimestamp={{.Date}}
33+
- -X github.com/arduino/arduino-lint/version.version={{.Tag}}
34+
- -X github.com/arduino/arduino-lint/version.commit={{ .ShortCommit }}
35+
- -X github.com/arduino/arduino-lint/version.date={{.Date}}
3636
- # ARM
3737
id: arduino_lint_arm
3838
binary: arduino-lint
@@ -47,9 +47,9 @@ builds:
4747
- 6
4848
ldflags:
4949
- -s -w
50-
- -X github.com/arduino/arduino-lint/configuration.version={{.Tag}}
51-
- -X github.com/arduino/arduino-lint/configuration.commit={{ .ShortCommit }}
52-
- -X github.com/arduino/arduino-lint/configuration.buildTimestamp={{.Date}}
50+
- -X github.com/arduino/arduino-lint/version.version={{.Tag}}
51+
- -X github.com/arduino/arduino-lint/version.commit={{ .ShortCommit }}
52+
- -X github.com/arduino/arduino-lint/version.date={{.Date}}
5353
- "-extldflags '-static'"
5454
- # ARMv7
5555
id: arduino_lint_armv7
@@ -65,9 +65,9 @@ builds:
6565
- 7
6666
ldflags:
6767
- -s -w
68-
- -X github.com/arduino/arduino-lint/configuration.version={{.Tag}}
69-
- -X github.com/arduino/arduino-lint/configuration.commit={{ .ShortCommit }}
70-
- -X github.com/arduino/arduino-lint/configuration.buildTimestamp={{.Date}}
68+
- -X github.com/arduino/arduino-lint/version.version={{.Tag}}
69+
- -X github.com/arduino/arduino-lint/version.commit={{ .ShortCommit }}
70+
- -X github.com/arduino/arduino-lint/version.date={{.Date}}
7171
- "-extldflags '-static'"
7272
- # ARM64
7373
id: arduino_lint_arm64
@@ -81,9 +81,9 @@ builds:
8181
- arm64
8282
ldflags:
8383
- -s -w
84-
- -X github.com/arduino/arduino-lint/configuration.version={{.Tag}}
85-
- -X github.com/arduino/arduino-lint/configuration.commit={{ .ShortCommit }}
86-
- -X github.com/arduino/arduino-lint/configuration.buildTimestamp={{.Date}}
84+
- -X github.com/arduino/arduino-lint/version.version={{.Tag}}
85+
- -X github.com/arduino/arduino-lint/version.commit={{ .ShortCommit }}
86+
- -X github.com/arduino/arduino-lint/version.date={{.Date}}
8787
- "-extldflags '-static'"
8888
- # All the other platforms
8989
id: arduino_lint
@@ -98,9 +98,9 @@ builds:
9898
- 386
9999
ldflags:
100100
- -s -w
101-
- -X github.com/arduino/arduino-lint/configuration.version={{.Tag}}
102-
- -X github.com/arduino/arduino-lint/configuration.commit={{ .ShortCommit }}
103-
- -X github.com/arduino/arduino-lint/configuration.buildTimestamp={{.Date}}
101+
- -X github.com/arduino/arduino-lint/version.version={{.Tag}}
102+
- -X github.com/arduino/arduino-lint/version.commit={{ .ShortCommit }}
103+
- -X github.com/arduino/arduino-lint/version.date={{.Date}}
104104
- "-extldflags '-static'"
105105

106106
archives:

Taskfile.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ tasks:
2626
go:test-unit:
2727
desc: Run unit tests
2828
cmds:
29-
- go test -short -run '{{ default ".*" .TEST_REGEX }}' {{ default "-v" .GOFLAGS }} -coverprofile=coverage_unit.txt {{ default .DEFAULT_PACKAGES .PACKAGES }}
29+
- go test -short -run '{{ default ".*" .TEST_REGEX }}' {{ default "-v" .GOFLAGS }} -coverprofile=coverage_unit.txt {{ default .DEFAULT_PACKAGES .PACKAGES }} {{ .TEST_LDFLAGS }}
3030

3131
test-integration:
3232
desc: Run integration tests
@@ -255,9 +255,14 @@ vars:
255255
TIMESTAMP:
256256
sh: echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
257257
LDFLAGS: >
258-
-ldflags '-X github.com/arduino/arduino-lint/configuration.commit={{.COMMIT}} -X github.com/arduino/arduino-lint/configuration.buildTimestamp={{.TIMESTAMP}}'
258+
-ldflags '-X github.com/arduino/arduino-lint/version.commit="{{.COMMIT}}" -X github.com/arduino/arduino-lint/version.date={{.TIMESTAMP}}'
259+
TEST_VERSION: "0.0.0-test.preview"
260+
TEST_COMMIT: "deadbeef"
261+
TEST_LDFLAGS: >
262+
-ldflags '-X github.com/arduino/arduino-lint/version.version={{.TEST_VERSION}}
263+
-X github.com/arduino/arduino-lint/version.commit={{.TEST_COMMIT}}
264+
-X github.com/arduino/arduino-lint/version.date={{.TIMESTAMP}}'
259265
GOFLAGS: "-timeout 10m -v -coverpkg=./... -covermode=atomic"
260-
261266
GOLINTFLAGS: "-min_confidence 0.8 -set_exit_status"
262267

263268
DOCS_VERSION: dev

command/command.go

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,9 @@ func ArduinoLint(rootCommand *cobra.Command, cliArguments []string) {
3939

4040
if configuration.VersionMode() {
4141
if configuration.OutputFormat() == outputformat.Text {
42-
fmt.Println(configuration.Version() + " " + configuration.BuildTimestamp())
42+
fmt.Println(configuration.VersionInfo())
4343
} else {
44-
versionObject := struct {
45-
Version string `json:"version"`
46-
BuildTimestamp string `json:"buildTimestamp"`
47-
}{
48-
Version: configuration.Version(),
49-
BuildTimestamp: configuration.BuildTimestamp(),
50-
}
51-
versionJSON, err := json.MarshalIndent(versionObject, "", " ")
44+
versionJSON, err := json.MarshalIndent(configuration.VersionInfo(), "", " ")
5245
if err != nil {
5346
panic(err)
5447
}

configuration/configuration.go

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ import (
2020
"fmt"
2121
"io/ioutil"
2222
"os"
23+
"path/filepath"
2324
"strconv"
2425
"strings"
2526

2627
"github.com/arduino/arduino-lint/configuration/checkmode"
2728
"github.com/arduino/arduino-lint/project/projecttype"
2829
"github.com/arduino/arduino-lint/result/outputformat"
30+
"github.com/arduino/arduino-lint/version"
2931
"github.com/arduino/go-paths-helper"
3032
"github.com/sirupsen/logrus"
3133
"github.com/spf13/pflag"
@@ -199,21 +201,10 @@ func VersionMode() bool {
199201
return versionMode
200202
}
201203

202-
var version string
203-
var commit string
204+
var versionInfo = version.NewInfo(filepath.Base(os.Args[0]))
204205

205-
func Version() string {
206-
if version == "" {
207-
return "0.0.0+" + commit
208-
}
209-
210-
return version
211-
}
212-
213-
var buildTimestamp string
214-
215-
func BuildTimestamp() string {
216-
return buildTimestamp
206+
func VersionInfo() *version.Info {
207+
return versionInfo
217208
}
218209

219210
var targetPaths paths.PathList

configuration/configuration_test.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -235,15 +235,3 @@ func TestInitializeOfficial(t *testing.T) {
235235
os.Setenv("ARDUINO_LINT_OFFICIAL", "invalid value")
236236
assert.Error(t, Initialize(test.ConfigurationFlags(), projectPaths))
237237
}
238-
239-
func TestVersion(t *testing.T) {
240-
commit = "abcd"
241-
assert.Equal(t, "0.0.0+"+commit, Version())
242-
version = "42.1.2"
243-
assert.Equal(t, version, Version())
244-
}
245-
246-
func TestBuildTimestamp(t *testing.T) {
247-
buildTimestamp = "2020-11-27T04:05:19+00:00"
248-
assert.Equal(t, buildTimestamp, BuildTimestamp())
249-
}

0 commit comments

Comments
 (0)