From a2019775903902622dc80c2231f105e3213f8a60 Mon Sep 17 00:00:00 2001 From: Jonas Date: Tue, 28 Feb 2017 01:40:02 +0100 Subject: [PATCH] Fix for #828: Embed build tags (#1051) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix for #828 Add build tags to ldflags and print in version output Signed-off-by: Jonas Östanbäck * Reworked formatBuiltWith function Signed-off-by: Jonas Östanbäck * Add tags to version information in admin panel Signed-off-by: Jonas Östanbäck * Added new variable for use on admin page. Signed-off-by: Jonas Östanbäck * Fixed incorrect indentation --- Makefile | 2 +- main.go | 15 ++++++++++++++- modules/setting/setting.go | 3 ++- modules/templates/helper.go | 3 +++ templates/admin/config.tmpl | 2 +- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 212aa4fdc1bc..9dad28910a98 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ BINDATA := modules/{options,public,templates}/bindata.go STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less) 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/* PACKAGES ?= $(shell go list ./... | grep -v /vendor/) diff --git a/main.go b/main.go index 6576bf3e896d..383dbc209316 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ package main // import "code.gitea.io/gitea" import ( "os" + "strings" "code.gitea.io/gitea/cmd" "code.gitea.io/gitea/modules/log" @@ -18,15 +19,19 @@ import ( // Version holds the current Gitea version var Version = "1.1.0+dev" +// Tags holds the build tags used +var Tags = "" + func init() { setting.AppVer = Version + setting.AppBuiltWith = formatBuiltWith(Tags) } func main() { app := cli.NewApp() app.Name = "Gitea" app.Usage = "A painless self-hosted Git service" - app.Version = Version + app.Version = Version + formatBuiltWith(Tags) app.Commands = []cli.Command{ cmd.CmdWeb, cmd.CmdServ, @@ -41,3 +46,11 @@ func main() { 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) +} diff --git a/modules/setting/setting.go b/modules/setting/setting.go index dd06691dc3c4..bdece17ad4d1 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -59,6 +59,7 @@ const ( var ( // AppVer settings AppVer string + AppBuiltWith string AppName string AppURL string AppSubURL string @@ -939,7 +940,7 @@ var logLevels = map[string]string{ } 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"), ",") LogConfigs = make([]string, len(LogModes)) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index b03128a0b1ec..1f510bda6ad8 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -48,6 +48,9 @@ func NewFuncMap() []template.FuncMap { "AppVer": func() string { return setting.AppVer }, + "AppBuiltWith": func() string { + return setting.AppBuiltWith + }, "AppDomain": func() string { return setting.Domain }, diff --git a/templates/admin/config.tmpl b/templates/admin/config.tmpl index 12a25e8e5d71..ca12bbe05758 100644 --- a/templates/admin/config.tmpl +++ b/templates/admin/config.tmpl @@ -13,7 +13,7 @@
{{.i18n.Tr "admin.config.app_name"}}
{{AppName}}
{{.i18n.Tr "admin.config.app_ver"}}
-
{{AppVer}}
+
{{AppVer}}{{AppBuiltWith}}
{{.i18n.Tr "admin.config.app_url"}}
{{.AppUrl}}
{{.i18n.Tr "admin.config.domain"}}