Browse Source

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
master
Jonas Lunny Xiao 8 years ago
parent
commit
a201977590
5 changed files with 21 additions and 4 deletions
  1. +1
    -1
      Makefile
  2. +14
    -1
      main.go
  3. +2
    -1
      modules/setting/setting.go
  4. +3
    -0
      modules/templates/helper.go
  5. +1
    -1
      templates/admin/config.tmpl

+ 1
- 1
Makefile View File

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


+ 14
- 1
main.go View File

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

+ 2
- 1
modules/setting/setting.go View File

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


+ 3
- 0
modules/templates/helper.go View File

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


+ 1
- 1
templates/admin/config.tmpl View File

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


Loading…
Cancel
Save