Newer
Older
## tank, Import and Store Files for AURA
## Copyright (C) 2017-2020 Christian Pointner <equinox@helsinki.at>
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU Affero General Public License as
## published by the Free Software Foundation, either version 3 of the
## License, or (at your option) any later version.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU Affero General Public License for more details.
## You should have received a copy of the GNU Affero General Public License
## along with this program. If not, see <https://www.gnu.org/licenses/>.
ifndef $(GOPATH)
GOPATH=$(shell go env GOPATH)
export GOPATH
SWAG = $(GOPATH)/bin/swag
SWAG_ARGS := -d api/v1/,cmd/tank/ -g api.go
version := $(shell grep -oP 'app\.Version = "\K(.*)(?=")' cmd/tank/main.go)
init.dev::
go get -u github.com/swaggo/swag/cmd/swag
go install github.com/swaggo/swag/cmd/swag@latest
curl -sSfL https://github.com/pre-commit/pre-commit/releases/download/v3.7.0/pre-commit-3.7.0.pyz -o pre-commit.pyz && python3 pre-commit.pyz && rm -f pre-commit.pyz
api-docs:
$(SWAG) init $(SWAG_ARGS) --pd -o api/docs
# build target actually depends on api-docs
# to allow building binary without generating api docs first, we put api/docs/docs.go under version control
# see #30
$(GOCMD) build -o $(EXECUTABLE) ./cmd/tank
$(GOCMD) build -o $(EXECUTABLE) -tags=dev ./cmd/tank
test-all:
gitlab-runner exec docker test-all
coverage:
gitlab-runner exec docker test-all | grep 'ok.*of statements'
git tag ${version}
git push origin ${version}
@echo "Release '${version}' tagged and pushed successfully."
distclean: clean
rm -f ui/assets_vfsdata.go