-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
44 lines (35 loc) · 1.01 KB
/
justfile
File metadata and controls
44 lines (35 loc) · 1.01 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
# CloudDrop — macOS Menu Bar App for Cloudflare R2
app_name := "CloudDrop"
build_dir := ".build/release"
bundle_dir := "build/" + app_name + ".app"
# Build debug and run
dev:
swift build
.build/debug/{{app_name}}
# Build release
build:
swift build -c release
# Generate app icon
icon:
swift Scripts/generate-icon.swift
# Create .app bundle from release build
bundle: build
rm -rf {{bundle_dir}}
mkdir -p {{bundle_dir}}/Contents/MacOS
mkdir -p {{bundle_dir}}/Contents/Resources
cp {{build_dir}}/{{app_name}} {{bundle_dir}}/Contents/MacOS/
cp Resources/Info.plist {{bundle_dir}}/Contents/
cp Resources/AppIcon.icns {{bundle_dir}}/Contents/Resources/
codesign --force --sign - --entitlements Resources/CloudDrop.entitlements {{bundle_dir}}
# Run the bundled app
run: bundle
open {{bundle_dir}}
# Install to /Applications
install: bundle
cp -R {{bundle_dir}} /Applications/
# Generate changelog
changelog:
git cliff
# Clean build artifacts
clean:
rm -rf .build build