diff --git a/Makefile b/Makefile index 6186e58a..73aa37eb 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ GOFMT ?= gofmt "-s" PACKAGES ?= $(shell $(GO) list ./...) VETPACKAGES ?= $(shell $(GO) list ./... | grep -v /examples/) GOFILES := $(shell find . -name "*.go") +VERSION := $(shell grep 'const VERSION =' global/vars.go |awk '{print $$4}' |sed 's/\"//g') # ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) TESTFOLDER := $(shell $(GO) list ./... | grep -E 'xiang$$|global$$|table$$|user$$|xfs$$' | grep -v examples) @@ -111,7 +112,6 @@ bindata: gen-bindata fmt # 将静态文件打包到命令工具 .PHONY: gen-bindata gen-bindata: - rm -f data.go mkdir -p .tmp/data cp -r ui .tmp/data/ cp -r xiang .tmp/data/ @@ -140,6 +140,46 @@ xiang: bindata mv global/vars.go.bak global/vars.go; \ fi; +.PHONY: release +release: clean + mkdir -p dist/release + git clone https://github.com/YaoApp/xiang dist/release + +# UI制品 + git clone https://github.com/YaoApp/xiang-ui .tmp/ui + cd .tmp/ui && yarn install && yarn build + rm -rf dist/release/ui + mv .tmp/ui/dist dist/release/ui + +# 静态文件打包 + mkdir -p .tmp/data + cp -r dist/release/ui .tmp/data/ + cp -r dist/release/xiang .tmp/data/ + go-bindata -fs -pkg data -o dist/release/data/bindata.go -prefix ".tmp/data/" .tmp/data/... + rm -rf .tmp/data + rm -rf .tmp/ui + +# 制品 + if [ ! -z "${XIANG_DOMAIN}" ]; then \ + mv dist/release/global/vars.go dist/release/global/vars.go.bak; \ + sed "s/*.iqka.com/$(XIANG_DOMAIN)/g" dist/release/global/vars.go.bak > dist/release/global/vars.go; \ + fi; + + cd dist/release && GOOS=linux GOARCH=amd64 go build -v -o ../../.tmp/xiang-${VERSION}-linux-amd64 + cd dist/release && GOOS=linux GOARCH=arm GOARM=7 go build -v -o ../../.tmp/xiang-${VERSION}-linux-arm + cd dist/release && GOOS=linux GOARCH=arm64 GOARM=7 go build -v -o ../../.tmp/xiang-${VERSION}-linux-arm64 + cd dist/release && GOOS=darwin GOARCH=amd64 go build -v -o ../../.tmp/xiang-${VERSION}-darwin-amd64 + + rm -rf dist/release + mkdir -p dist/release + mv .tmp/xiang-*-* dist/release/ + chmod +x dist/release/xiang-*-* + +.PHONY: hi +hi: + echo ${VERSION} + + .PHONY: clean clean: rm -rf ./tmp diff --git a/data/bindata.go b/data/bindata.go index 4fa6d6fe..0db57b61 100644 --- a/data/bindata.go +++ b/data/bindata.go @@ -196,7 +196,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 14, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 14, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -216,7 +216,7 @@ func xiangApisReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/README.md", size: 13, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/apis/README.md", size: 13, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -236,7 +236,7 @@ func xiangApisTableHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/table.http.json", size: 2636, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/apis/table.http.json", size: 2636, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -256,7 +256,7 @@ func xiangApisUserHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/user.http.json", size: 1260, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/apis/user.http.json", size: 1260, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -276,7 +276,7 @@ func xiangApisXiangHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/xiang.http.json", size: 583, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/apis/xiang.http.json", size: 583, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -296,7 +296,7 @@ func xiangDataAppJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/app.json", size: 144, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/data/app.json", size: 144, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -316,7 +316,7 @@ func xiangDataIconsDs_store() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/.DS_Store", size: 6148, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/data/icons/.DS_Store", size: 6148, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -336,7 +336,7 @@ func xiangDataIconsIconIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/icon.icns", size: 75636, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/data/icons/icon.icns", size: 75636, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -356,7 +356,7 @@ func xiangDataIconsIconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/icon.ico", size: 31310, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/data/icons/icon.ico", size: 31310, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -376,7 +376,7 @@ func xiangDataIconsIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/icon.png", size: 22420, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/data/icons/icon.png", size: 22420, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -396,7 +396,7 @@ func xiangFlowsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/flows/README.md", size: 12, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/flows/README.md", size: 12, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -416,7 +416,7 @@ func xiangFlowsMenuFlowJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/flows/menu.flow.json", size: 1045, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/flows/menu.flow.json", size: 1045, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -436,7 +436,7 @@ func xiangFlowsTableGetFlowJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/flows/table/get.flow.json", size: 541, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/flows/table/get.flow.json", size: 541, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -456,7 +456,7 @@ func xiangModelsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/models/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/models/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -476,7 +476,7 @@ func xiangModelsMenuJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/models/menu.json", size: 6061, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/models/menu.json", size: 6061, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -496,7 +496,7 @@ func xiangModelsUserJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/models/user.json", size: 8826, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/models/user.json", size: 8826, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -516,7 +516,7 @@ func xiangTablesReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/tables/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/tables/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -536,7 +536,7 @@ func xiangTablesUserJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/tables/user.json", size: 1422, mode: os.FileMode(420), modTime: time.Unix(1633085666, 0)} + info := bindataFileInfo{name: "xiang/tables/user.json", size: 1422, mode: os.FileMode(420), modTime: time.Unix(1633218942, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/spec.sh b/spec.sh index a931c9c4..8329ad2a 100755 --- a/spec.sh +++ b/spec.sh @@ -1,6 +1,8 @@ #!/bin/bash -make xiang +make release VERSION=$(go run . version) rm -rf ../xiang-spec/xiang/* -cp -R dist/bin ../xiang-spec/xiang/"v$VERSION" +cp dist/release/xiang-* ../xiang-spec/xiang/ +rm -f ~/Code/bin/xiang +ln -s ~/Code/yao/xiang-spec/xiang/xiang-$VERSION-darwin-amd64 ~/Code/bin/xiang make clean \ No newline at end of file