* Fix for #828 Add build tags to ldflags and print in version output Signed-off-by: Jonas Östanbäck <jonas.ostanback@gmail.com> * Reworked formatBuiltWith function Signed-off-by: Jonas Östanbäck <jonas.ostanback@gmail.com> * Add tags to version information in admin panel Signed-off-by: Jonas Östanbäck <jonas.ostanback@gmail.com> * Added new variable for use on admin page. Signed-off-by: Jonas Östanbäck <jonas.ostanback@gmail.com> * Fixed incorrect indentationtags/v1.21.12.1
| @@ -11,7 +11,7 @@ BINDATA := modules/{options,public,templates}/bindata.go | |||||
| STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less) | STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less) | ||||
| JAVASCRIPTS := | JAVASCRIPTS := | ||||
| LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')" | |||||
| LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')" -X "main.Tags=$(TAGS)" | |||||
| TARGETS ?= linux/*,darwin/*,windows/* | TARGETS ?= linux/*,darwin/*,windows/* | ||||
| PACKAGES ?= $(shell go list ./... | grep -v /vendor/) | PACKAGES ?= $(shell go list ./... | grep -v /vendor/) | ||||
| @@ -8,6 +8,7 @@ package main // import "code.gitea.io/gitea" | |||||
| import ( | import ( | ||||
| "os" | "os" | ||||
| "strings" | |||||
| "code.gitea.io/gitea/cmd" | "code.gitea.io/gitea/cmd" | ||||
| "code.gitea.io/gitea/modules/log" | "code.gitea.io/gitea/modules/log" | ||||
| @@ -18,15 +19,19 @@ import ( | |||||
| // Version holds the current Gitea version | // Version holds the current Gitea version | ||||
| var Version = "1.1.0+dev" | var Version = "1.1.0+dev" | ||||
| // Tags holds the build tags used | |||||
| var Tags = "" | |||||
| func init() { | func init() { | ||||
| setting.AppVer = Version | setting.AppVer = Version | ||||
| setting.AppBuiltWith = formatBuiltWith(Tags) | |||||
| } | } | ||||
| func main() { | func main() { | ||||
| app := cli.NewApp() | app := cli.NewApp() | ||||
| app.Name = "Gitea" | app.Name = "Gitea" | ||||
| app.Usage = "A painless self-hosted Git service" | app.Usage = "A painless self-hosted Git service" | ||||
| app.Version = Version | |||||
| app.Version = Version + formatBuiltWith(Tags) | |||||
| app.Commands = []cli.Command{ | app.Commands = []cli.Command{ | ||||
| cmd.CmdWeb, | cmd.CmdWeb, | ||||
| cmd.CmdServ, | cmd.CmdServ, | ||||
| @@ -41,3 +46,11 @@ func main() { | |||||
| log.Fatal(4, "Failed to run app with %s: %v", os.Args, err) | log.Fatal(4, "Failed to run app with %s: %v", os.Args, err) | ||||
| } | } | ||||
| } | } | ||||
| func formatBuiltWith(Tags string) string { | |||||
| if len(Tags) == 0 { | |||||
| return "" | |||||
| } | |||||
| return " built with: " + strings.Replace(Tags, " ", ", ", -1) | |||||
| } | |||||
| @@ -59,6 +59,7 @@ const ( | |||||
| var ( | var ( | ||||
| // AppVer settings | // AppVer settings | ||||
| AppVer string | AppVer string | ||||
| AppBuiltWith string | |||||
| AppName string | AppName string | ||||
| AppURL string | AppURL string | ||||
| AppSubURL string | AppSubURL string | ||||
| @@ -939,7 +940,7 @@ var logLevels = map[string]string{ | |||||
| } | } | ||||
| func newLogService() { | func newLogService() { | ||||
| log.Info("Gitea v%s", AppVer) | |||||
| log.Info("Gitea v%s%s", AppVer, AppBuiltWith) | |||||
| LogModes = strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",") | LogModes = strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",") | ||||
| LogConfigs = make([]string, len(LogModes)) | LogConfigs = make([]string, len(LogModes)) | ||||
| @@ -48,6 +48,9 @@ func NewFuncMap() []template.FuncMap { | |||||
| "AppVer": func() string { | "AppVer": func() string { | ||||
| return setting.AppVer | return setting.AppVer | ||||
| }, | }, | ||||
| "AppBuiltWith": func() string { | |||||
| return setting.AppBuiltWith | |||||
| }, | |||||
| "AppDomain": func() string { | "AppDomain": func() string { | ||||
| return setting.Domain | return setting.Domain | ||||
| }, | }, | ||||
| @@ -13,7 +13,7 @@ | |||||
| <dt>{{.i18n.Tr "admin.config.app_name"}}</dt> | <dt>{{.i18n.Tr "admin.config.app_name"}}</dt> | ||||
| <dd>{{AppName}}</dd> | <dd>{{AppName}}</dd> | ||||
| <dt>{{.i18n.Tr "admin.config.app_ver"}}</dt> | <dt>{{.i18n.Tr "admin.config.app_ver"}}</dt> | ||||
| <dd>{{AppVer}}</dd> | |||||
| <dd>{{AppVer}}{{AppBuiltWith}}</dd> | |||||
| <dt>{{.i18n.Tr "admin.config.app_url"}}</dt> | <dt>{{.i18n.Tr "admin.config.app_url"}}</dt> | ||||
| <dd>{{.AppUrl}}</dd> | <dd>{{.AppUrl}}</dd> | ||||
| <dt>{{.i18n.Tr "admin.config.domain"}}</dt> | <dt>{{.i18n.Tr "admin.config.domain"}}</dt> | ||||