-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
50 lines (40 loc) · 1.61 KB
/
justfile
File metadata and controls
50 lines (40 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
set shell := ["bash", "-cu"]
app_name := "Pixie"
bundle_output := "target/release/bundle/osx" / app_name + ".app"
dist_dir := "dist"
dist_bundle := dist_dir / app_name + ".app"
sign_identity := env_var_or_default("PIXIE_SIGN_IDENTITY", "-")
default:
@just --list
# Build the release binary
build:
cargo build --release
# Create the app bundle using cargo-bundle
bundle: build
cargo bundle --release
# Create the app bundle and copy to dist/
app: bundle
rm -rf "{{dist_bundle}}"
mkdir -p "{{dist_dir}}"
cp -R "{{bundle_output}}" "{{dist_bundle}}"
# Sign the app bundle in dist/
sign identity=sign_identity:
codesign --force --deep --sign "{{identity}}" --requirements '=designated => identifier "com.pixie.app"' "{{dist_bundle}}"
codesign --verify --deep --strict --verbose=2 "{{dist_bundle}}"
# Build, bundle, and sign the app (default ad-hoc signing)
signed-app: app sign
# Bump version in Cargo.toml and create a matching tag
release-version version:
sed -i '' 's/^version = ".*"/version = "{{version}}"/' Cargo.toml
git add Cargo.toml
git commit -m "chore: bump version to {{version}}"
git tag "v{{version}}"
@echo "Version bumped to {{version}} and tag v{{version}} created."
@printf "\033]52;c;$(printf "git push origin main v{{version}}" | base64 | tr -d '\n')\a"
@echo "Push command 'git push origin main v{{version}}' copied to clipboard (OSC52)."
# Install cargo-bundle if not already installed
install-bundler:
cargo install cargo-bundle
# Benchmark picker window enumeration latency
bench-picker:
cargo test benchmark_get_all_windows -- --ignored --nocapture