create Makefile for build & test tasks

This commit is contained in:
Laurent Le Houerou 2024-03-21 06:33:44 +00:00
parent 4191e3b663
commit faa77e7970

33
Makefile Normal file
View File

@ -0,0 +1,33 @@
BINARY_NAME=bin/sorarebuddy
BIN_DIR=$(shell dirname $(BINARY_NAME))
include .env
export $(shell sed 's/=.*//' .env)
ensure-bin-dir:
@mkdir -p $(BIN_DIR)
build: ensure-bin-dir
@echo "Building..."
go build -o $(BINARY_NAME) cmd/console/root.go
run: build
@echo "Running..."
$(info JWTTOKEN is $(JWTTOKEN))
$(info JWTAUDIENCE is $(JWTAUDIENCE))
./$(BINARY_NAME) --jwtaudience $(JWTAUDIENCE) --jwttoken $(JWTTOKEN) --dbhost $(DBHOST) --dbport $(DBPORT) --dbuser $(DBUSER) --dbpass $(DBPASS) --dbname $(DBNAME) --verbose
clean:
@echo "Cleaning..."
go clean
rm -f $(BINARY_NAME)
resetdb:
goose -dir ./db/migrations postgres "host=$(DBHOST) port=$(DBPORT) user=$(DBUSER) password=$(DBPASS) dbname=$(DBNAME) sslmode=disable" down
goose -dir ./db/migrations postgres "host=$(DBHOST) port=$(DBPORT) user=$(DBUSER) password=$(DBPASS) dbname=$(DBNAME) sslmode=disable" up
goose -dir ./db/migrations postgres "host=$(DBHOST) port=$(DBPORT) user=$(DBUSER) password=$(DBPASS) dbname=$(DBNAME) sslmode=disable" status
.PHONY: build run clean ensure-bin-dir resetdb
.DEFAULT_GOAL := all
all: build run clean ensure-bin-dir