.PHONY: build run test tidy lint docker hash-password nidusctl ## build: compile the binary build: go build -o bin/davserver ./cmd/server go build -o bin/nidusctl ./tools/nidusctl ## run: run the server locally run: build ./bin/davserver -config config.yaml ## test: run all tests test: go test ./... -v -race ## tidy: tidy go modules tidy: go mod tidy ## lint: run golangci-lint lint: golangci-lint run ./... ## docker: build Docker image docker: docker build -t davserver:latest . ## compose: start with Docker Compose compose: docker compose up --build ## hash-password: generate bcrypt hash for a password ## Usage: make hash-password PWD=mysecret hash-password: @go run -v ./tools/hashpwd $(PWD) ## nidusctl: build and run the sharing-grant admin CLI ## Usage: make nidusctl ARGS="calendar share alice work bob write" nidusctl: build ./bin/nidusctl -config config.yaml $(ARGS)