Bluemage/Makefile

42 lines
1 KiB
Makefile

.ONESHELL:
export PATH := $(shell pwd)/bin:$(shell pwd)/web/node_modules/.bin:$(PATH)
export GOOSE_DRIVER ?= sqlite3
export GOOSE_DBSTRING ?= ./go/data.db
export GOOSE_MIGRATION_DIR ?= schemas/migrations
build: generate-go generate-web
go build -o bin/bluemage ./go/cmd/bluemage/main.go
run:
cd go && air
run-web: generate-web
cd web && npm run dev
generate-go: migrate
rm -rf go/gen/*
ogen -target go/gen/reddit -package reddit -clean schemas/openapi/reddit.yaml
(cd ./schemas/proto && buf generate --template buf.gen.go.yaml .)
(cd go/gen && bobgen-sqlite --config ../bobgen.yaml)
(cd go && goverter gen -g 'output:file ../gen/converter/converter.go' -g 'output:package github.com/tigorlazuardi/bluemage/go/gen/converter' ./converts)
generate-web:
rm -rf web/gen
cd ./schemas/proto
buf generate --template buf.gen.web.yaml .
migrate:
@goose up
migrate-new:
@read -p "Name new migration: " name
if [[ $$name ]]; then goose create "$$name" sql; fi
migrate-redo:
@goose redo
migrate-down:
@goose down