canape/Makefile

79 lines
2.3 KiB
Makefile

.PHONY: docker migration dev clean test build-prepare build-js build-css build-font build-go copy-templates copy-images watch-js watch-css watch-templates watch
DB_USER=test
DB_PASS=test
DB_DSN_DEV=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/dev?sslmode=disable
DB_DSN_TEST=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/test?sslmode=disable
MIGRATION=migrate -url '$(DB_DSN_DEV)'
MIGRATION_SCHEMA=./sql/migration
MIGRATION_TEST_DATA=./sql/dev
DOCKER_COMPOSE_FILE=./docker/docker-compose.yml
DOCKER_COMPOSE=docker-compose -f $(DOCKER_COMPOSE_FILE)
build-prepare:
mkdir -p ./build/public/js
mkdir -p ./build/public/css
mkdir -p ./build/templates
mkdir -p ./build/public/img/movies
build-js: build-prepare
node node_modules/.bin/browserify src/public/js/app.js -o build/public/js/app.js
build-css: build-prepare
node ./node_modules/.bin/lessc --include-path=./node_modules src/public/less/app.less build/public/css/app.css
build-font: build-prepare
node ./node_modules/.bin/fontify
build-go: build-prepare
go build -o ./build/canape src/main.go
copy-templates: build-prepare
cp -r ./src/templates/* ./build/templates
copy-images: build-prepare
cp -r ./src/public/img/* ./build/public/img
build: build-js build-css build-font copy-templates copy-images build-go
watch-js: build-prepare
node ./node_modules/.bin/nodemon -e js -w src/public/js/app.js -x 'make build-js' &
watch-css: build-prepare
node ./node_modules/.bin/nodemon -e less -w src/public/less/app.less -x 'make build-css' &
watch-templates: build-prepare
node ./node_modules/.bin/nodemon -e tmpl -w src/templates -x 'make copy-templates' &
watch-images: build-prepare
node ./node_modules/.bin/nodemon -e jpg,png -w src/public/img -x 'make copy-images' &
watch-go: build-prepare
CONFIG_FILE="./config.yml" fresh -c fresh.conf
watch: watch-js watch-css watch-templates watch-images watch-go
docker:
$(DOCKER_COMPOSE) up -d
sleep 4
migration-schema: docker
$(MIGRATION) -path $(MIGRATION_SCHEMA) up
migration-dev-data: docker migration-schema
$(MIGRATION) -path $(MIGRATION_TEST_DATA) up
migration: migration-schema migration-dev-data
dev: docker migration build-font watch
clean:
-rm -r ./build
$(DOCKER_COMPOSE) stop
$(DOCKER_COMPOSE) rm --force -v
test: docker
POSTGRES_DSN="$(DB_DSN_TEST)" go test -v -p=1 ./...