focalboard/Makefile
2020-11-03 16:12:39 -08:00

86 lines
2.8 KiB
Makefile

.PHONY: prebuild clean cleanall server server-linux server-win64 generate watch-server webapp mac-app win-app linux-app
all: server
prebuild:
go get github.com/gorilla/mux
go get github.com/gorilla/websocket
go get github.com/spf13/viper
go get github.com/lib/pq
go get github.com/mattn/go-sqlite3
cd webapp; npm install
server:
cd server; go build -o ../bin/octoserver ./main
server-linux:
cd server; env GOOS=linux GOARCH=amd64 go build -o ../bin/octoserver ./main
server-win64:
cd server; env GOOS=windows GOARCH=amd64 go build -o ../bin/octoserver.exe ./main
generate:
cd server; go get -modfile=go.tools.mod github.com/golang/mock/mockgen
cd server; go get -modfile=go.tools.mod github.com/jteeuwen/go-bindata
cd server; go generate ./...
server-lint:
@if ! [ -x "$$(command -v golangci-lint)" ]; then \
echo "golangci-lint is not installed. Please see https://github.com/golangci/golangci-lint#install for installation instructions."; \
exit 1; \
fi; \
cd server; golangci-lint run -p format -p unused -p complexity -p bugs -p performance -E asciicheck -E depguard -E dogsled -E dupl -E funlen -E gochecknoglobals -E gochecknoinits -E goconst -E gocritic -E godot -E godox -E goerr113 -E goheader -E golint -E gomnd -E gomodguard -E goprintffuncname -E gosimple -E interfacer -E lll -E misspell -E nlreturn -E nolintlint -E stylecheck -E unconvert -E whitespace -E wsl --skip-dirs services/store/sqlstore/migrations/ ./...
server-test:
cd server; go test ./...
server-doc:
cd server; go doc ./...
watch-server:
cd server; modd
webapp:
cd webapp; npm run pack
mac-app: server webapp
rm -rf mac/resources/bin
rm -rf mac/resources/pack
mkdir -p mac/resources
cp -R bin mac/resources/bin
cp -R webapp/pack mac/resources/pack
mkdir -p mac/temp
xcodebuild archive -workspace mac/Tasks.xcworkspace -scheme Tasks -archivePath mac/temp/tasks.xcarchive
xcodebuild -exportArchive -archivePath mac/temp/tasks.xcarchive -exportPath mac/dist -exportOptionsPlist mac/export.plist
cd mac/dist; zip -r tasks.zip Tasks.app
win-app: server-win64 webapp
cd win; make build
mkdir -p win/dist/bin
cp -R bin/octoserver.exe win/dist/bin
cp -R config.json win/dist
mkdir -p win/dist/webapp
cp -R webapp/pack win/dist/webapp/pack
# cd win/dist; zip -r ../tasks-win.zip .
linux-app: server-linux webapp
rm -rf linux/temp
mkdir -p linux/temp/tasks-app/webapp
mkdir -p linux/dist
cp -R bin/octoserver linux/temp/tasks-app/
cp -R config.json linux/temp/tasks-app/
cp -R webapp/pack linux/temp/tasks-app/webapp/pack
cd linux; make build
cp -R linux/bin/tasks-app linux/temp/tasks-app/
cd linux/temp; tar -zcf ../dist/tasks-linux.tar.gz tasks-app
rm -rf linux/temp
clean:
rm -rf bin
rm -rf dist
rm -rf webapp/pack
rm -rf mac/temp
rm -rf mac/dist
cleanall: clean
rm -rf webapp/node_modules