项目文件夹

文件
wehub-resource-sync 2c632336aa
CI / Viewer CI (push) Successful in 13m37s
CI / Core CI (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:38 +08:00

93 行
2.7 KiB
Makefile

default:
@just --list
host := "127.0.0.1"
port := "8765"
uv-version-check:
@version="$(uv --version | awk '{print $2}')"; \
required="0.9.17"; \
awk -v v="$version" -v r="$required" 'BEGIN { \
split(v, a, "."); split(r, b, "."); \
for (i = 1; i <= 3; i++) { \
if ((a[i] + 0) > (b[i] + 0)) exit 0; \
if ((a[i] + 0) < (b[i] + 0)) exit 1; \
} \
exit 0; \
}' || { \
echo "uv $required or newer is required for the Python dependency cooldown."; \
echo "Current: uv $version"; \
exit 1; \
}
uv-version-ensure:
@version="$(uv --version | awk '{print $2}')"; \
required="0.9.17"; \
if ! awk -v v="$version" -v r="$required" 'BEGIN { \
split(v, a, "."); split(r, b, "."); \
for (i = 1; i <= 3; i++) { \
if ((a[i] + 0) > (b[i] + 0)) exit 0; \
if ((a[i] + 0) < (b[i] + 0)) exit 1; \
} \
exit 0; \
}'; then \
echo "Updating uv from $version to $required for the Python dependency cooldown."; \
uv --no-config self update "$required"; \
fi
setup root='.':
just uv-version-ensure
# Create a local env template once; never overwrite an existing secrets file.
uv run --frozen --directory {{ quote(root) }} articraft env bootstrap
uv sync --frozen --group dev --directory {{ quote(root) }}
@if command -v npm >/dev/null 2>&1; then \
npm --prefix {{ quote(root + "/viewer/web") }} ci; \
npm --prefix {{ quote(root + "/viewer/web") }} run typecheck; \
else \
echo "npm not found; skipping viewer/web dependency install."; \
echo "Install Node.js and npm to run the viewer and frontend hooks."; \
fi
uv run --frozen --directory {{ quote(root) }} articraft init
format:
just uv-version-check
uv run --frozen ruff format .
lint:
just uv-version-check
uv run --frozen ruff check .
compile record:
just uv-version-check
uv run --frozen articraft compile --target visual {{ quote(record) }}
compile-full record:
just uv-version-check
uv run --frozen articraft compile --target full {{ quote(record) }}
smoke-tests:
just uv-version-check
uv run --frozen --group dev pytest -q \
tests/storage \
tests/viewer/test_api.py \
tests/sdk/test_imports.py \
tests/cli
test-all:
just uv-version-check
uv run --frozen --group dev pytest -q
viewer:
just uv-version-check
uv run --frozen articraft viewer --host {{ quote(host) }} --port {{ quote(port) }}
viewer-dev:
just uv-version-check
uv run --frozen articraft viewer --dev --host {{ quote(host) }} --port {{ quote(port) }}
dashscope-test:
bash scripts/dashscope_run.sh official-test
dashscope-generate prompt:
bash scripts/dashscope_run.sh generate {{ quote(prompt) }}