srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/internal/version/version.go
blob: 030bd4ed4fb92d8ea224574e859858d1c32498a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Package version holds build-time version information for both
// binaries, set via -ldflags "-X mitmux/internal/version.Version=..."
// (see the Makefile's release target). Defaults to "dev" for a plain
// `go build` with no ldflags, so `-version` is never blank or
// misleading about whether a given binary is a tagged release or a
// local build.
package version

var (
	Version = "dev"
	Commit  = ""
	Date    = ""
)

// String returns a one-line version summary for component ("mitmux" or
// "mitmuxd"): "mitmux dev" for an untagged build, or
// "mitmux 1.2.3 (abc1234, 2026-01-02)" once Commit/Date are set.
func String(component string) string {
	s := component + " " + Version
	if Commit != "" || Date != "" {
		s += " ("
		s += Commit
		if Commit != "" && Date != "" {
			s += ", "
		}
		s += Date
		s += ")"
	}
	return s
}