.ONESHELL: .PHONY: issetup issetup: @[ -f .git/hooks/commit-msg ] || (echo "You must run 'make setup' first to initialize the repo!" && exit 1) .PHONY: setup setup: @cp .gitea/conventional_commits/commit-msg .git/hooks/ .PHONY: help help: ## Show the help. @echo "Usage: make " @echo "" @echo "Targets:" @fgrep "##" Makefile | fgrep -v fgrep .PHONY: buildrel buildrel: issetup ## Format code. dotnet build -c Release project_name.sln .PHONY: build build: issetup ## Format code. dotnet build project_name.sln .PHONY: publish publish: issetup ## Format code. dotnet publish -c Release project_name.sln .PHONY: fmt fmt: issetup ## Format code. dotnet format project_name.sln .PHONY: lint lint: issetup ## Lint code. dotnet format --verify-no-changes --verbosity diagnostic project_name.sln .PHONY: test test: issetup ## Run tests and generate coverage report. dotnet test project_name.sln .PHONY: clean clean: issetup ## Clean unused files. dotnet clean project_name.sln .PHONY: release release: issetup ## Create a new tag for release. @echo "WARNING: This operation will create a version tag and push to gitea" @read -p "Version? (provide the next x.y.z semver) : " TAG; echo "$$TAG" > project_name/VERSION @gitchangelog > HISTORY.md @git add project_name/VERSION HISTORY.md @git commit -m "release: version $$(cat project_name/VERSION) 🚀" @echo "creating git tag : $$(cat project_name/VERSION)" @git tag $$(cat project_name/VERSION) @git push -u origin HEAD --tags @echo "Gitea Actions will detect the new tag and release the new version." .PHONY: docs docs: issetup ## Build the documentation. @echo "building documentation ..." @mkdocs build URL="site/index.html"; xdg-open $$URL || sensible-browser $$URL || x-www-browser $$URL || gnome-open $$URL || open $$URL # This project has been generated from rochacbruno/python-project-template # __author__ = 'rochacbruno' # __repo__ = https://github.com/rochacbruno/python-project-template # __sponsor__ = https://github.com/sponsors/rochacbruno/