mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-06 01:15:42 -06:00
46 lines
1.6 KiB
Makefile
46 lines
1.6 KiB
Makefile
set shell := ["bash", "-c"]
|
|
set windows-shell := ["powershell.exe", "-NoLogo", "-Command"]
|
|
|
|
# Regex to exclude files from coverage report, double escapes for Justfile + CLI
|
|
# You can use src\\\\..., but the filename alone is acceptable too
|
|
coverage_exclude_pattern := "src\\\\app\\.rs|audio\\.rs|src\\\\error\\.rs|platform\\\\emscripten\\.rs|bin\\\\.+\\.rs|main\\.rs|platform\\\\desktop\\.rs|platform\\\\tracing_buffer\\.rs|platform\\\\buffered_writer\\.rs|systems\\\\debug\\.rs|systems\\\\profiling\\.rs"
|
|
|
|
binary_extension := if os() == "windows" { ".exe" } else { "" }
|
|
|
|
# !!! --ignore-filename-regex should be used on both reports & coverage testing
|
|
# !!! --remap-path-prefix prevents the absolute path from being used in the generated report
|
|
|
|
# Generate HTML report (for humans, source line inspection)
|
|
html: coverage
|
|
cargo llvm-cov report \
|
|
--remap-path-prefix \
|
|
--ignore-filename-regex "{{ coverage_exclude_pattern }}" \
|
|
--html \
|
|
--open
|
|
|
|
# Display report (for humans)
|
|
report-coverage: coverage
|
|
cargo llvm-cov report \
|
|
--remap-path-prefix \
|
|
--ignore-filename-regex "{{ coverage_exclude_pattern }}"
|
|
|
|
# Run & generate report (for CI)
|
|
coverage:
|
|
cargo llvm-cov \
|
|
--lcov \
|
|
--remap-path-prefix \
|
|
--ignore-filename-regex "{{ coverage_exclude_pattern }}" \
|
|
--output-path lcov.info \
|
|
--profile coverage \
|
|
--no-fail-fast nextest
|
|
|
|
# Profile the project using 'samply'
|
|
samply:
|
|
cargo build --profile profile
|
|
samply record ./target/profile/pacman{{ binary_extension }}
|
|
|
|
# Build the project for Emscripten
|
|
web *args:
|
|
bun run web.build.ts {{args}};
|
|
caddy file-server --root dist
|