55 lines
1.1 KiB
Makefile
55 lines
1.1 KiB
Makefile
ifneq ($(STAGE), prod)
|
|
PATH := tools:$(PATH)
|
|
endif
|
|
|
|
APP_NAME := dayoff
|
|
ENTRY_POINT = ./src/$(APP_NAME).cr
|
|
|
|
.PHONY: build-docker
|
|
build-docker:
|
|
docker build --file docker/Dockerfile.dev --tag $(APP_NAME)-crystal --tag anwinged/$(APP_NAME)-crystal .
|
|
|
|
install-shards:
|
|
shards install
|
|
|
|
.PHONY: install
|
|
install: build-docker install-shards install-assets build-assets
|
|
|
|
.PHONY: build
|
|
build:
|
|
mkdir -p build
|
|
crystal build $(ENTRY_POINT) --release --no-debug --static -o build/$(APP_NAME)
|
|
|
|
.PHONY: format
|
|
format:
|
|
crystal tool format ./src ./spec
|
|
|
|
install-assets:
|
|
nodejs npm install
|
|
|
|
build-assets:
|
|
rm -rf ./public/assets
|
|
nodejs npm run-script build
|
|
|
|
format-assets:
|
|
nodejs npm run-script format-webpack || true
|
|
nodejs npm run-script format-js || true
|
|
nodejs npm run-script format-vue || true
|
|
|
|
.PHONY: run
|
|
run: format
|
|
crystal run $(ENTRY_POINT)
|
|
|
|
.PHONY: run-server
|
|
run-server: format
|
|
mkdir -p ./var/data
|
|
BASE_PATH="./var/data" server run $(ENTRY_POINT)
|
|
|
|
.PHONY: spec
|
|
spec: format
|
|
crystal spec --warnings all --error-on-warnings --error-trace
|
|
|
|
.PHONY: ameba
|
|
ameba:
|
|
ameba src/ || true
|