Files
cms-server/justfile
Asai Neko 2ad3ba2400
All checks were successful
Client CMS Check Build (NixCN CMS) TeamCity build finished
Backend Check Build (NixCN CMS) TeamCity build finished
Add swag cmd install in install-back justfile
Signed-off-by: Asai Neko <sugar@localhost.localdomain>
2026-02-03 11:55:40 +08:00

53 lines
1.7 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:
go install github.com/swaggo/swag/cmd/swag@latest
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 lgtm --verbose