feat: Add justfile to replace Makefile with Just task runner

This commit is contained in:
Ruidy (aider) 2024-12-08 12:05:00 +01:00 committed by Ruidy
parent 7b0d63855f
commit 150e8380e6
No known key found for this signature in database
GPG key ID: E00F51288CB857CC
2 changed files with 50 additions and 33 deletions

View file

@ -1,33 +0,0 @@
NAME=rentease
PORT=8000
DB_USER=ruidy
DB_NAME=villafleurie
build: format lint ## Build the binary
@docker build -t ${NAME}:latest .
run: build ## Run the binary
@docker run -p ${PORT}:${PORT} -e DATABASE_URL="host=docker.for.mac.host.internal user=${DB_USER} database=${DB_NAME}" -e PORT=${PORT} ${NAME}
dev: ## Run the binary in dev mode
@docker build -t ${NAME}:dev -f Dockerfile.dev .
@docker run -p ${PORT}:${PORT} --rm -v `pwd`:/app -v /app/tmp --name ${NAME} -e DATABASE_URL="host=docker.for.mac.host.internal user=${DB_USER} database=${DB_NAME}" -e PORT=${PORT} ${NAME}:dev
test: ## Run the tests
@go test ./...
up-deps: ## Update dependencies
@go get -u ./...
cron: ## Run the cron
@go run cmd/cron/main.go
format: ## Format the code
@templ generate internal/views
@templ fmt .
@go fmt ./...
lint: ## Lint the code
@golangci-lint run ./...
help: ## Display this help message
@echo "Usage: make [command]"
@echo
@echo "Commands:"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " %-15s %s\n", $$1, $$2}'
.DEFAULT_GOAL := help
.PHONY: build run dev templ format lint

50
justfile Normal file
View file

@ -0,0 +1,50 @@
# Set default values
name := "rentease"
port := "8000"
db_user := "ruidy"
db_name := "villafleurie"
# List available recipes
default:
@just --list
# Build the binary
build: format lint
@docker build -t {{name}}:latest .
# Run the binary
run: build
@docker run -p {{port}}:{{port}} \
-e DATABASE_URL="host=docker.for.mac.host.internal user={{db_user}} database={{db_name}}" \
-e PORT={{port}} {{name}}
# Run the binary in dev mode
dev:
@docker build -t {{name}}:dev -f Dockerfile.dev .
@docker run -p {{port}}:{{port}} --rm \
-v `pwd`:/app -v /app/tmp \
--name {{name}} \
-e DATABASE_URL="host=docker.for.mac.host.internal user={{db_user}} database={{db_name}}" \
-e PORT={{port}} {{name}}:dev
# Run the tests
test:
@go test ./...
# Update dependencies
up-deps:
@go get -u ./...
# Run the cron
cron:
@go run cmd/cron/main.go
# Format the code
format:
@templ generate internal/views
@templ fmt .
@go fmt ./...
# Lint the code
lint:
@golangci-lint run ./...