79 lines
2.5 KiB
Makefile
79 lines
2.5 KiB
Makefile
compile: daemon-compile-x64-lin
|
|
|
|
daemon-compile-armhf:
|
|
GOARCH=arm GOARM=6 go build -o OliveTin.armhf github.com/jamesread/OliveTin/cmd/OliveTin
|
|
|
|
daemon-compile-x64-lin:
|
|
GOOS=linux go build -o OliveTin github.com/jamesread/OliveTin/cmd/OliveTin
|
|
|
|
daemon-compile-x64-win:
|
|
GOOS=windows GOARCH=amd64 go build -o OliveTin.exe github.com/jamesread/OliveTin/cmd/OliveTin
|
|
|
|
daemon-compile: daemon-compile-armhf daemon-compile-x64-lin daemon-compile-x64-win
|
|
|
|
daemon-codestyle:
|
|
go fmt ./...
|
|
go vet ./...
|
|
golint ./...
|
|
gocyclo -over 4 cmd internal
|
|
|
|
daemon-unittests:
|
|
mkdir -p reports
|
|
go test ./... -coverprofile reports/unittests.out
|
|
go tool cover -html=reports/unittests.out -o reports/unittests.html
|
|
|
|
grpc:
|
|
protoc -I.:/usr/share/gocode/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis/ --go_out=plugins=grpc:gen/grpc/ OliveTin.proto
|
|
protoc -I.:/usr/share/gocode/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis/ --grpc-gateway_out=gen/grpc --grpc-gateway_opt paths=source_relative OliveTin.proto
|
|
|
|
podman-image:
|
|
buildah bud -t olivetin
|
|
|
|
podman-container:
|
|
podman kill olivetin
|
|
podman rm olivetin
|
|
podman create --name olivetin -p 1337:1337 -p 1338:1338 -p 1339:1339 -v /etc/OliveTin/:/config:ro olivetin
|
|
podman start olivetin
|
|
|
|
devrun: compile
|
|
killall OliveTin || true
|
|
./OliveTin &
|
|
|
|
devcontainer: compile podman-image podman-container
|
|
|
|
webui-codestyle:
|
|
cd webui && eslint main.js js/*
|
|
cd webui && stylelint style.css
|
|
|
|
release-common:
|
|
rm -rf releases/
|
|
mkdir -p releases/common/
|
|
cp -r webui releases/common/
|
|
cp -r var/config.yaml releases/common/
|
|
cp OliveTin.service releases/common/
|
|
cp README.md releases/common/
|
|
cp Dockerfile releases/common/
|
|
|
|
release-bin-rpi: daemon-compile-armhf release-common
|
|
mkdir -p releases/rpi/
|
|
cd releases/common && cp -r * ../rpi/
|
|
cp OliveTin.armhf releases/rpi/OliveTin
|
|
cd releases/rpi && tar cavf "../OliveTin-armhf-`date +'%Y-%m-%d'`.`git rev-parse --short HEAD`.tgz" .
|
|
|
|
release-bin-x64-lin: daemon-compile-x64-lin release-common
|
|
mkdir -p releases/x64-lin/
|
|
cd releases/common && cp -r * ../x64-lin/
|
|
cp OliveTin releases/x64-lin/
|
|
cd releases/x64-lin && tar cavf "../OliveTin-x64-linux-`date +'%Y-%m-%d'`.`git rev-parse --short HEAD`.tgz" .
|
|
|
|
release-bin-x64-win: daemon-compile-x64-win release-common
|
|
mkdir -p releases/x64-win/
|
|
cd releases/common && cp -r * ../x64-win/
|
|
cp OliveTin.exe releases/x64-win/
|
|
cd releases/x64-lin && zip -r "../OliveTin-x64-windows-`date +'%Y-%m-%d'`.`git rev-parse --short HEAD`.zip" .
|
|
|
|
releases: release-bin-rpi release-bin-x64-lin release-bin-x64-win
|
|
|
|
|
|
.PHONY: grpc release-common
|