Files
cms-server/justfile
Asai Neko f7bde8ef2e
Some checks failed
Client CMS Check Build (NixCN CMS) TeamCity build finished
Backend Check Build (NixCN CMS) TeamCity build failed
Mod justfile to auto swag init when go files changed
Signed-off-by: Asai Neko <sugar@sne.moe>
2026-01-29 01:00:51 +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/**' 'swag init && 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 backend postgres redis meilisearch lgtm --verbose