Files
cms-server/justfile
Asai Neko 39f555b780
All checks were successful
Client CMS Check Build (NixCN CMS) TeamCity build finished
Backend Check Build (NixCN CMS) TeamCity build finished
Remove search engine, add event list api
Signed-off-by: Asai Neko <sugar@sne.moe>
2026-01-30 11:54:13 +08:00

52 lines
1.6 KiB
Makefile

project_name := "nixcn-cms"
go_cmd := `realpath $(which go)`
pnpm_cmd := `realpath $(which pnpm)`
project_dir := justfile_directory()
output_dir := join(project_dir, ".outputs")
client_dir := join(project_dir, "client")
client_output_dir := join(output_dir, "client")
client_cms_dir := join(client_dir, "cms")
server_exec_path := join(output_dir, project_name)
server_entry := "main.go"
install: install-cms install-back
generate: gen-back
install-cms:
cd {{ client_cms_dir }} && {{ pnpm_cmd }} install
clean:
mkdir -p .outputs
find .outputs -mindepth 1 ! -path .outputs/config.yaml -exec rm -rf {} +
build-client-cms:
cd {{ client_cms_dir }} && {{ pnpm_cmd }} run build --outDir {{ join(client_output_dir, "cms") }}
build-back:
{{ go_cmd }} build -o {{ server_exec_path }}{{ if os() == "windows" { ".exe" } else { "" } }} {{ server_entry }}
install-back:
cd {{ project_dir }} && go mod tidy
run-back:
cd {{ output_dir }} && CONFIG_PATH={{ output_dir }} {{ server_exec_path }}{{ if os() == "windows" { ".exe" } else { "" } }}
test-back:
cd {{ output_dir }} && CONFIG_PATH={{ output_dir }} GO_ENV=test go test -C .. ./...
gen-back:
cd {{ project_dir }} && go generate .
watch-back:
watchexec -r -e go,yaml,tpl -i '.devenv/**' -i '.direnv/**' -i 'client/**' -i 'vendor/**' 'go build -o {{ server_exec_path }} . && cd {{ output_dir }} && CONFIG_PATH={{ output_dir }} {{ server_exec_path }}'
dev: clean install generate
devenv up --verbose
dev-client-cms: install-cms
devenv up client-cms --verbose
dev-back: clean install-back gen-back
devenv up postgres redis meilisearch lgtm --verbose