add clash build version in ci
This commit is contained in:
parent
db4e4f2e0f
commit
eb29a86ce1
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@ ClashX/Resources/dashboard
|
||||
ClashX.app
|
||||
*.dmg
|
||||
**/xcuserdata/
|
||||
.idea
|
||||
|
@ -20,9 +20,9 @@ install:
|
||||
- cd ..
|
||||
- brew update
|
||||
- echo `go version`
|
||||
- brew upgrade go || true
|
||||
- echo `go version`
|
||||
- CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10 go build -buildmode=c-archive
|
||||
#- brew upgrade go || true
|
||||
#- echo `go version`
|
||||
- python3 ci_build_clash.py
|
||||
- cd $TRAVIS_BUILD_DIR
|
||||
|
||||
script:
|
||||
|
50
ClashX/ci_build_clash.py
Normal file
50
ClashX/ci_build_clash.py
Normal file
@ -0,0 +1,50 @@
|
||||
import subprocess
|
||||
import datetime
|
||||
import plistlib
|
||||
|
||||
|
||||
def get_version():
|
||||
with open('./go.mod') as file:
|
||||
for line in file.readlines():
|
||||
if "require" in line:
|
||||
return line.split(" ")[-1].strip()
|
||||
return "unknown"
|
||||
|
||||
|
||||
def build_clash(version):
|
||||
build_time = datetime.datetime.now().strftime("%Y-%m-%d-%H%M")
|
||||
command = f"""CGO_CFLAGS=-mmacosx-version-min=10.12 \
|
||||
CGO_LDFLAGS=-mmacosx-version-min=10.10 \
|
||||
GOBUILD=CGO_ENABLED=0 \
|
||||
go build -ldflags '-X "github.com/Dreamacro/clash/constant.Version={version}" \
|
||||
-X "github.com/Dreamacro/clash/constant.BuildTime={build_time}"' \
|
||||
-buildmode=c-archive """
|
||||
subprocess.check_output(command, shell=True)
|
||||
|
||||
|
||||
def write_to_info(version):
|
||||
path = "info.plist"
|
||||
|
||||
with open(path, 'rb') as f:
|
||||
contents = plistlib.load(f)
|
||||
|
||||
if not contents:
|
||||
exit(-1)
|
||||
|
||||
contents["coreVersion"] = version
|
||||
with open(path, 'wb') as f:
|
||||
plistlib.dump(contents, f, sort_keys=False)
|
||||
|
||||
|
||||
def run():
|
||||
version = get_version()
|
||||
print("current clash version: ", version)
|
||||
build_clash(version)
|
||||
print("build static library complete!")
|
||||
print("writing info.plist")
|
||||
write_to_info(version)
|
||||
print("done")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
Loading…
Reference in New Issue
Block a user