From 0a8e63c68292a08d8a7bc4fa397ae41235f086a7 Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Wed, 3 Apr 2019 00:10:11 +0800
Subject: [PATCH] add make version on gitea version (#6485)

---
 Makefile |  4 +++-
 main.go  | 23 +++++++++++++++--------
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/Makefile b/Makefile
index 756a33876c..b8d156b76c 100644
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,8 @@ GOFMT ?= gofmt -s
 GOFLAGS := -i -v
 EXTRA_GOFLAGS ?=
 
+MAKE_VERSION := $(shell make -v | head -n 1)
+
 ifneq ($(DRONE_TAG),)
 	VERSION ?= $(subst v,,$(DRONE_TAG))
 	GITEA_VERSION ?= $(VERSION)
@@ -36,7 +38,7 @@ else
 	GITEA_VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')
 endif
 
-LDFLAGS := -X "main.Version=$(GITEA_VERSION)" -X "main.Tags=$(TAGS)"
+LDFLAGS := -X "main.MakeVersion=$(MAKE_VERSION)" -X "main.Version=$(GITEA_VERSION)" -X "main.Tags=$(TAGS)"
 
 PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations/migration-test,$(filter-out code.gitea.io/gitea/integrations,$(shell $(GO) list ./... | grep -v /vendor/)))
 SOURCES ?= $(shell find . -name "*.go" -type f)
diff --git a/main.go b/main.go
index dfa7629e13..989ae1c58c 100644
--- a/main.go
+++ b/main.go
@@ -23,11 +23,14 @@ import (
 	"github.com/urfave/cli"
 )
 
-// Version holds the current Gitea version
-var Version = "1.5.0-dev"
-
-// Tags holds the build tags used
-var Tags = ""
+var (
+	// Version holds the current Gitea version
+	Version = "1.9.0-dev"
+	// Tags holds the build tags used
+	Tags = ""
+	// MakeVersion holds the current Make version if built with make
+	MakeVersion = ""
+)
 
 func init() {
 	setting.AppVer = Version
@@ -60,10 +63,14 @@ arguments - which can alternatively be run by running the subcommand web.`
 	}
 }
 
-func formatBuiltWith(Tags string) string {
+func formatBuiltWith(makeTags string) string {
+	var version = runtime.Version()
+	if len(MakeVersion) > 0 {
+		version = MakeVersion + ", " + runtime.Version()
+	}
 	if len(Tags) == 0 {
-		return " built with " + runtime.Version()
+		return " built with " + version
 	}
 
-	return " built with " + runtime.Version() + " : " + strings.Replace(Tags, " ", ", ", -1)
+	return " built with " + version + " : " + strings.Replace(Tags, " ", ", ", -1)
 }