mirror of
https://github.com/ankitects/anki.git
synced 2026-04-02 01:11:28 -04:00
76 lines
1.6 KiB
Makefile
76 lines
1.6 KiB
Makefile
set windows-shell := ["cmd.exe", "/c"]
|
|
|
|
# Show available commands
|
|
default:
|
|
@just --list
|
|
|
|
# Build the project
|
|
build:
|
|
{{ ninja }} pylib qt
|
|
|
|
# Build wheels (needed for some platforms)
|
|
wheels:
|
|
{{ ninja }} wheels
|
|
|
|
# Build and run all checks (lint + test) - lets ninja handle dependencies
|
|
check:
|
|
{{ ninja }} pylib qt check
|
|
|
|
# Run all tests (Rust, Python, TypeScript)
|
|
test:
|
|
{{ ninja }} check:rust_test check:pytest check:vitest
|
|
|
|
# Check formatting (fast, no build needed)
|
|
fmt:
|
|
{{ ninja }} check:format
|
|
|
|
# Fix formatting
|
|
fix-fmt:
|
|
{{ ninja }} format
|
|
|
|
# Run linting and type checking (requires build outputs)
|
|
lint:
|
|
{{ ninja }} \
|
|
check:clippy \
|
|
check:mypy \
|
|
check:ruff \
|
|
check:eslint \
|
|
check:svelte \
|
|
check:typescript
|
|
|
|
# Fix auto-fixable lint issues (ruff + eslint)
|
|
fix-lint:
|
|
{{ ninja }} fix:ruff fix:eslint
|
|
|
|
# Run minilints (copyright, contributors, licenses)
|
|
minilints:
|
|
{{ ninja }} check:minilints
|
|
|
|
# Fix minilints (update licenses.json)
|
|
fix-minilints:
|
|
{{ ninja }} fix:minilints
|
|
|
|
# Sync translation files
|
|
ftl-sync:
|
|
{{ ninja }} ftl-sync
|
|
|
|
# Deprecate translation strings
|
|
ftl-deprecate:
|
|
{{ ninja }} ftl-deprecate
|
|
|
|
# Build documentation site
|
|
docs:
|
|
uv run --group docs sphinx-build -b html docs out/docs/html
|
|
@echo "Docs built at out/docs/html/index.html"
|
|
|
|
# Build and serve documentation site
|
|
docs-serve:
|
|
uv run --group docs sphinx-autobuild docs out/docs/html --host 127.0.0.1 --port 8000
|
|
|
|
# Build Rust API docs
|
|
docs-rust:
|
|
cargo doc --open
|
|
|
|
# Helper to get the right ninja command for the platform
|
|
ninja := if os() == "windows" { "tools\\ninja" } else { "./ninja" }
|