42 lines
1 KiB
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
|
|
|