Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@ jobs:
- name: App Store build
run: |
make appstore-build
codesign --display --entitlements - --xml build/appstore/Build/Products/AppStore/Cleared.app \
codesign --display --entitlements - --xml build/appstore/Build/Products/AppStore/GitCleared.app \
| plutil -convert json -o - - | grep -q '"com.apple.security.app-sandbox":true'
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ Package.resolved

# Optional local signing overrides (see Local.xcconfig.example)
Local.xcconfig

# App Review contact details for Scripts/asc.py — a person's phone and email
Store/review-contact.local.json
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 0.4.1

### Changed

- **The app is now called GitCleared.** The bundle, its display name and every
place the interface names itself have changed. The bundle identifier has not,
so the saved token and settings carry over. `make install` removes a copy
installed under the old name.
- The README is written in the tower's own language, and shows the icon.

## 0.4.0

The release that makes Cleared something you can leave running.
Expand Down
23 changes: 15 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: generate build test run install preview icon release dist appstore appstore-build scan clean
.PHONY: generate build test run install preview icon screenshots release dist appstore appstore-build scan clean

RELEASE_APP := build/Build/Products/Release/Cleared.app
RELEASE_APP := build/Build/Products/Release/GitCleared.app
INSTALL_DIR ?= /Applications

generate: ## Regenerate Cleared.xcodeproj from project.yml
Expand All @@ -22,26 +22,33 @@ run: release
## Build Release, replace the copy in /Applications, and launch it.
## Launch at login only works from an installed copy.
install: release
@pkill -x GitCleared 2>/dev/null || true
@# The app was called Cleared until 0.4.1. Take that copy away too, or
@# two would be left watching the same queue.
@pkill -x Cleared 2>/dev/null || true
rm -rf "$(INSTALL_DIR)/Cleared.app"
ditto $(RELEASE_APP) "$(INSTALL_DIR)/Cleared.app"
open "$(INSTALL_DIR)/Cleared.app"
@echo "✓ Installed Cleared $$(defaults read "$(INSTALL_DIR)/Cleared.app/Contents/Info" CFBundleShortVersionString) to $(INSTALL_DIR)"
rm -rf "$(INSTALL_DIR)/GitCleared.app" "$(INSTALL_DIR)/Cleared.app"
ditto $(RELEASE_APP) "$(INSTALL_DIR)/GitCleared.app"
open "$(INSTALL_DIR)/GitCleared.app"
@echo "✓ Installed GitCleared $$(defaults read "$(INSTALL_DIR)/GitCleared.app/Contents/Info" CFBundleShortVersionString) to $(INSTALL_DIR)"

## Render the panel in a normal window against sample data.
## FIXTURE=full|overflow|empty
## Opens a second instance and only ever closes an earlier preview, so an
## installed copy that is running keeps watching.
preview: build
@pkill -f 'Cleared.app/Contents/MacOS/Cleared --ui-preview' 2>/dev/null || true
@pkill -f 'GitCleared.app/Contents/MacOS/GitCleared --ui-preview' 2>/dev/null || true
@open -n "$$(xcodebuild -project Cleared.xcodeproj -scheme Cleared -configuration Debug \
-showBuildSettings 2>/dev/null | sed -n 's/^ *BUILT_PRODUCTS_DIR = //p')/Cleared.app" \
-showBuildSettings 2>/dev/null | sed -n 's/^ *BUILT_PRODUCTS_DIR = //p')/GitCleared.app" \
--args --ui-preview $${FIXTURE:-full}

## Redraw the app icon at every size from Scripts/make-icon.swift.
icon:
swift Scripts/make-icon.swift

## Frame the raw captures in Store/screenshots/raw/ for the App Store listing.
screenshots:
swift Scripts/compose-screenshots.swift

## Build a Developer ID-signed, notarized zip in dist/. See Scripts/release.sh.
dist:
@./Scripts/release.sh
Expand Down
208 changes: 120 additions & 88 deletions README.md

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion Resources/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<!-- Cleared uses only the HTTPS the system provides, which is exempt.
<!-- GitCleared uses only the HTTPS the system provides, which is exempt.
Declaring it here saves answering the question on every upload. -->
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Expand Down
8 changes: 4 additions & 4 deletions Scripts/appstore.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Archives Cleared for the Mac App Store and exports the signed package that
# Archives GitCleared for the Mac App Store and exports the signed package that
# App Store Connect accepts.
#
# make appstore
Expand Down Expand Up @@ -30,11 +30,11 @@ if [ -z "$team" ]; then
exit 1
fi

archive="$HOME/Library/Developer/Xcode/Archives/$(date +%Y-%m-%d)/Cleared $version ($build) $(date +%H.%M).xcarchive"
archive="$HOME/Library/Developer/Xcode/Archives/$(date +%Y-%m-%d)/GitCleared $version ($build) $(date +%H.%M).xcarchive"
out=dist/appstore
options=build/ExportOptions.plist

echo "▸ Archiving Cleared $version ($build) with the AppStore configuration"
echo "▸ Archiving GitCleared $version ($build) with the AppStore configuration"
mkdir -p "$(dirname "$archive")" build
xcodebuild archive -project Cleared.xcodeproj -scheme Cleared \
-archivePath "$archive" -allowProvisioningUpdates >build/appstore-archive.log 2>&1 \
Expand Down Expand Up @@ -73,7 +73,7 @@ pkgutil --check-signature "$pkg" | sed -n '1,6p'
work=$(mktemp -d)
trap 'rm -rf "$work"' EXIT
pkgutil --expand-full "$pkg" "$work/pkg" >/dev/null
app=$(find "$work/pkg" -maxdepth 4 -name 'Cleared.app' | head -1)
app=$(find "$work/pkg" -maxdepth 4 -name 'GitCleared.app' | head -1)
entitlements=$(codesign --display --entitlements - --xml "$app" 2>/dev/null | plutil -convert json -o - - 2>/dev/null || echo '{}')
case "$entitlements" in
*'"com.apple.security.app-sandbox":true'*) ;;
Expand Down
Loading
Loading