Fix for #828: Embed build tags (#1051)

* 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 indentation
This commit is contained in:
Jonas 2017-02-28 01:40:02 +01:00 committed by Lunny Xiao
parent 8947b711aa
commit a201977590
5 changed files with 21 additions and 4 deletions

View file

@ -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/)

15
main.go
View file

@ -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)
}

View file

@ -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))

View file

@ -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
},

View file

@ -13,7 +13,7 @@
<dt>{{.i18n.Tr "admin.config.app_name"}}</dt>
<dd>{{AppName}}</dd>
<dt>{{.i18n.Tr "admin.config.app_ver"}}</dt>
<dd>{{AppVer}}</dd>
<dd>{{AppVer}}{{AppBuiltWith}}</dd>
<dt>{{.i18n.Tr "admin.config.app_url"}}</dt>
<dd>{{.AppUrl}}</dd>
<dt>{{.i18n.Tr "admin.config.domain"}}</dt>