1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-22 01:57:12 -05:00

Merge pull request #2110 from tnextday/set-var-in-go-build

Set version details use ldflags
This commit is contained in:
Kslr 2019-12-31 09:37:56 +08:00 committed by GitHub
commit b1403e85ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 15 deletions

View File

@ -13,10 +13,12 @@ package core
//go:generate errorgen
import (
"runtime"
"v2ray.com/core/common/serial"
)
const (
var (
version = "4.22.0"
build = "Custom"
codename = "V2Fly, a community-driven edition of V2Ray."
@ -32,7 +34,7 @@ func Version() string {
// VersionStatement returns a list of strings representing the full version info.
func VersionStatement() []string {
return []string{
serial.Concat("V2Ray ", Version(), " (", codename, ") ", build),
serial.Concat("V2Ray ", Version(), " (", codename, ") ", build, " (", runtime.Version(), " ", runtime.GOOS, "/", runtime.GOARCH, ")"),
intro,
}
}

View File

@ -17,9 +17,11 @@ __root="$(cd "$(dirname "${__dir}")" && pwd)" # <-- change this as it depends on
NOW=$(date '+%Y%m%d-%H%M%S')
TMP=$(mktemp -d)
SRCDIR=$(pwd)
CODENAME="user"
BUILDNAME=$NOW
VERSIONTAG=$(git describe --tags)
GOPATH=$(go env GOPATH)
cleanup () { rm -rf $TMP; }
@ -28,27 +30,21 @@ trap cleanup INT TERM ERR
get_source() {
echo ">>> Getting v2ray sources ..."
go get -insecure -v -t v2ray.com/core/...
SRCDIR="$GOPATH/src/v2ray.com/core"
}
build_v2() {
pushd $GOPATH/src/v2ray.com/core
echo ">>> Update source code name ..."
sed -i "s/^[ \t]\+codename.\+$/\tcodename = \"${CODENAME}\"/;s/^[ \t]\+build.\+$/\tbuild = \"${BUILDNAME}\"/;" core.go
pushd $SRCDIR
LDFLAGS="-s -w -X v2ray.com/core.codename=${CODENAME} -X v2ray.com/core.build=${BUILDNAME} -X v2ray.com/core.version=${VERSIONTAG}"
echo ">>> Compile v2ray ..."
pushd $GOPATH/src/v2ray.com/core/main
env CGO_ENABLED=0 go build -o $TMP/v2ray${EXESUFFIX} -ldflags "-s -w"
env CGO_ENABLED=0 go build -o $TMP/v2ray${EXESUFFIX} -ldflags "$LDFLAGS" ./main
if [[ $GOOS == "windows" ]];then
env CGO_ENABLED=0 go build -o $TMP/wv2ray${EXESUFFIX} -ldflags "-s -w -H windowsgui"
env CGO_ENABLED=0 go build -o $TMP/wv2ray${EXESUFFIX} -ldflags "-H windowsgui $LDFLAGS" ./main
fi
popd
git checkout -- core.go
popd
echo ">>> Compile v2ctl ..."
pushd $GOPATH/src/v2ray.com/core/infra/control/main
env CGO_ENABLED=0 go build -o $TMP/v2ctl${EXESUFFIX} -tags confonly -ldflags "-s -w"
env CGO_ENABLED=0 go build -o $TMP/v2ctl${EXESUFFIX} -tags confonly -ldflags "$LDFLAGS" ./infra/control/main
popd
}
@ -66,7 +62,7 @@ build_dat() {
copyconf() {
echo ">>> Copying config..."
pushd $GOPATH/src/v2ray.com/core/release/config
pushd $SRCDIR/release/config
tar c --exclude "*.dat" . | tar x -C $TMP
}