mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-19 19:45:12 +00:00
cmd/syncthing: Append build tags used to the long version string
$ go run build.go -race -no-upgrade $ syncthing -version syncthing v0.14.25-rc.2 "Dysprosium Dragonfly" (go1.8 darwin-amd64) jb@unu.kastelo.net 2017-03-16 23:06:21 UTC [noupgrade, race] GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4043
This commit is contained in:
parent
ef35a7a4cb
commit
a54365424e
13
cmd/syncthing/buildtag_noupgrade.go
Normal file
13
cmd/syncthing/buildtag_noupgrade.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright (C) 2017 The Syncthing Authors.
|
||||||
|
//
|
||||||
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||||
|
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
//+build noupgrade
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
BuildTags = append(BuildTags, "noupgrade")
|
||||||
|
}
|
13
cmd/syncthing/buildtag_race.go
Normal file
13
cmd/syncthing/buildtag_race.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright (C) 2017 The Syncthing Authors.
|
||||||
|
//
|
||||||
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||||
|
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
//+build race
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
BuildTags = append(BuildTags, "race")
|
||||||
|
}
|
@ -63,6 +63,7 @@ var (
|
|||||||
IsCandidate bool
|
IsCandidate bool
|
||||||
IsBeta bool
|
IsBeta bool
|
||||||
LongVersion string
|
LongVersion string
|
||||||
|
BuildTags []string
|
||||||
allowedVersionExp = regexp.MustCompile(`^v\d+\.\d+\.\d+(-[a-z0-9]+)*(\.\d+)*(\+\d+-g[0-9a-f]+)?(-[^\s]+)?$`)
|
allowedVersionExp = regexp.MustCompile(`^v\d+\.\d+\.\d+(-[a-z0-9]+)*(\.\d+)*(\+\d+-g[0-9a-f]+)?(-[^\s]+)?$`)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -99,7 +100,9 @@ func init() {
|
|||||||
l.Fatalf("Invalid version string %q;\n\tdoes not match regexp %v", Version, allowedVersionExp)
|
l.Fatalf("Invalid version string %q;\n\tdoes not match regexp %v", Version, allowedVersionExp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func setBuildMetadata() {
|
||||||
// Check for a clean release build. A release is something like
|
// Check for a clean release build. A release is something like
|
||||||
// "v0.1.2", with an optional suffix of letters and dot separated
|
// "v0.1.2", with an optional suffix of letters and dot separated
|
||||||
// numbers like "-beta3.47". If there's more stuff, like a plus sign and
|
// numbers like "-beta3.47". If there's more stuff, like a plus sign and
|
||||||
@ -124,6 +127,10 @@ func init() {
|
|||||||
|
|
||||||
date := BuildDate.UTC().Format("2006-01-02 15:04:05 MST")
|
date := BuildDate.UTC().Format("2006-01-02 15:04:05 MST")
|
||||||
LongVersion = fmt.Sprintf(`syncthing %s "%s" (%s %s-%s) %s@%s %s`, Version, Codename, runtime.Version(), runtime.GOOS, runtime.GOARCH, BuildUser, BuildHost, date)
|
LongVersion = fmt.Sprintf(`syncthing %s "%s" (%s %s-%s) %s@%s %s`, Version, Codename, runtime.Version(), runtime.GOOS, runtime.GOARCH, BuildUser, BuildHost, date)
|
||||||
|
|
||||||
|
if len(BuildTags) > 0 {
|
||||||
|
LongVersion = fmt.Sprintf("%s [%s]", LongVersion, strings.Join(BuildTags, ", "))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -318,6 +325,8 @@ func parseCommandLineOptions() RuntimeOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
setBuildMetadata()
|
||||||
|
|
||||||
options := parseCommandLineOptions()
|
options := parseCommandLineOptions()
|
||||||
l.SetFlags(options.logFlags)
|
l.SetFlags(options.logFlags)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user