mirror of
https://github.com/go-shiori/shiori.git
synced 2024-11-10 09:23:35 +08:00
6f19c12c95
* added 404 template * added auth domain * added embed file for frontend * added base config and dependencies * added basic new http server * added separated server command * updated go modules * removed modd file * Added shortcut to send internal server error response * Added JWT support to Auth Domain * Added JWT support to API * docs: added comments to response struct * naming * inline returns * updated dependencies * production logger * bookmarks endpoint * reverted old views api path * frontend for api v1 * proper 404 error (not working atm) * use response * removed 404 html * server error handler * login and basic auth * adjusted session duration * properly retrieve tags * properly delete bookmark * cleanup * archiver domain * debug routes * bookmark routes * expiration by parameter * move to logrus * logout * frontend cache * updated dependencies * http: migrated to gin * linted * Added version command * unit tests, docs * response test utils and tests * remove logout handler * auth * createtag * improved http test utilities * assert message equals * Remove 1.19 from test matrix * moved api to v1 folder * docs: contribute docs * updated makefile * updated usage docs * warn in server command * updaed docs with shiori version command * Updated documentation * deps: update
66 lines
1.7 KiB
Makefile
66 lines
1.7 KiB
Makefile
GO ?= $(shell command -v go 2> /dev/null)
|
|
BASH ?= $(shell command -v bash 2> /dev/null)
|
|
|
|
# Development
|
|
SHIORI_DIR ?= dev-data
|
|
|
|
# Testing
|
|
GO_TEST_FLAGS ?= -v -race
|
|
GOTESTFMT_FLAGS ?=
|
|
|
|
# Build
|
|
CGO_ENABLED ?= 0
|
|
BUILD_TIME := $(shell date -u +%Y%m%d.%H%M%S)
|
|
BUILD_HASH := $(shell git describe --tags)
|
|
BUILD_TAGS ?= osusergo,netgo
|
|
LDFLAGS += -s -w -X main.version=$(BUILD_HASH) -X main.date=$(BUILD_TIME)
|
|
|
|
# Development
|
|
GIN_MODE ?= debug
|
|
SHIORI_DEVELOPMENT ?= true
|
|
|
|
# Help documentatin à la https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
|
.PHONY: help
|
|
help:
|
|
@cat Makefile | grep -v '\.PHONY' | grep -v '\help:' | grep -B1 -E '^[a-zA-Z0-9_.-]+:.*' | sed -e "s/:.*//" | sed -e "s/^## //" | grep -v '\-\-' | sed '1!G;h;$$!d' | awk 'NR%2{printf "\033[36m%-30s\033[0m",$$0;next;}1' | sort
|
|
|
|
## Cleans up build artifacts
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf dist
|
|
|
|
## Runs the legacy http API for local development
|
|
.PHONY: serve
|
|
serve:
|
|
SHIORI_DEVELOPMENT=$(SHIORI_DEVELOPMENT) SHIORI_DIR=$(SHIORI_DIR) go run main.go serve
|
|
|
|
## Runs server for local development
|
|
.PHONY: run-server
|
|
run-server:
|
|
GIN_MODE=$(GIN_MODE) SHIORI_DEVELOPMENT=$(SHIORI_DEVELOPMENT) SHIORI_DIR=$(SHIORI_DIR) go run main.go server
|
|
|
|
## Generate swagger docs
|
|
.PHONY: swagger
|
|
swagger:
|
|
swag init
|
|
|
|
## Run linter
|
|
.PHONY: lint
|
|
lint:
|
|
golangci-lint run
|
|
|
|
## Run unit tests
|
|
.PHONY: unittest
|
|
unittest:
|
|
GIN_MODE=$(GIN_MODE) GO_TEST_FLAGS="$(GO_TEST_FLAGS)" GOTESTFMT_FLAGS="$(GOTESTFMT_FLAGS)" $(BASH) -xe ./scripts/test.sh
|
|
|
|
## Build binary
|
|
.PHONY: build
|
|
build: clean
|
|
GIN_MODE=$(GIN_MODE) goreleaser build --rm-dist --snapshot
|
|
|
|
## Creates a coverage report
|
|
.PHONY: coverage
|
|
coverage:
|
|
$(GO) test $(GO_TEST_FLAGS) -coverprofile=coverage.txt ./...
|
|
$(GO) tool cover -html=coverage.txt
|