Skip to content

Commit bfefa45

Browse files
committed
Bump version to 0.20.0
1 parent adb9b64 commit bfefa45

File tree

4 files changed

+27
-49
lines changed

4 files changed

+27
-49
lines changed

Diff for: Makefile

+8-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ srcdir = Sources
77
REPODIR = $(shell pwd)
88
BUILDDIR = $(REPODIR)/.build
99
SOURCES = $(wildcard $(srcdir)/**/*.swift)
10-
10+
RELEASEBUILDDIR = $(BUILDDIR)/apple/Products/Release/xcodes
1111
.DEFAULT_GOAL = all
1212

1313
.PHONY: all
@@ -33,19 +33,19 @@ sign: xcodes
3333
--prefix com.robotsandpencils. \
3434
--options runtime \
3535
--timestamp \
36-
"$(BUILDDIR)/release/xcodes"
36+
"$(RELEASEBUILDDIR)"
3737

3838
.PHONY: zip
3939
zip: sign
4040
@rm xcodes.zip 2> /dev/null || true
41-
@zip --junk-paths xcodes.zip "$(BUILDDIR)/release/xcodes"
41+
@zip --junk-paths xcodes.zip "$(RELEASEBUILDDIR)"
4242
@open -R xcodes.zip
4343

4444
# E.g.
45-
# make notarize USERNAME="[email protected]" PASSWORD="@keychain:altool" ASC_PROVIDER=MyOrg
45+
# make notarize TEAMID="ABCD123"
4646
.PHONY: notarize
4747
notarize: zip
48-
./notarize.sh "$(USERNAME)" "$(PASSWORD)" "$(ASC_PROVIDER)" xcodes.zip
48+
./notarize.sh xcodes.zip "$(TEAMID)"
4949

5050
# E.g.
5151
# make bottle VERSION=0.4.0
@@ -54,23 +54,23 @@ bottle: sign
5454
@rm -r xcodes 2> /dev/null || true
5555
@rm *.tar.gz 2> /dev/null || true
5656
@mkdir -p xcodes/$(VERSION)/bin
57-
@cp "$(BUILDDIR)/release/xcodes" xcodes/$(VERSION)/bin
57+
@cp "$(RELEASEBUILDDIR)" xcodes/$(VERSION)/bin
5858
@tar -zcvf xcodes-$(VERSION).mojave.bottle.tar.gz -C "$(REPODIR)" xcodes
5959
shasum -a 256 xcodes-$(VERSION).mojave.bottle.tar.gz | cut -f1 -d' '
6060
@open -R xcodes-$(VERSION).mojave.bottle.tar.gz
6161

6262
.PHONY: install
6363
install: xcodes
6464
@install -d "$(bindir)"
65-
@install "$(BUILDDIR)/release/xcodes" "$(bindir)"
65+
@install "$(RELEASEBUILDDIR)" "$(bindir)"
6666

6767
.PHONY: uninstall
6868
uninstall:
6969
@rm -rf "$(bindir)/xcodes"
7070

7171
.PHONY: distclean
7272
distclean:
73-
@rm -f $(BUILDDIR)/release
73+
@rm -f $(RELEASEBUILDDIR)
7474

7575
.PHONY: clean
7676
clean: distclean

Diff for: README.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ xcodes install 11.2 GM seed
6969
xcodes install 9.0 --path ~/Archive/Xcode_9.xip
7070
xcodes install --latest-prerelease
7171
xcodes install --latest --directory "/Volumes/Bag Of Holding/"
72+
xcodes install --latest --experimental-unxip
7273
```
7374

7475
You'll then be prompted to enter your Apple ID username and password. You can also provide these with the `XCODES_USERNAME` and `XCODES_PASSWORD` environment variables.
@@ -106,6 +107,14 @@ Xcode will be installed to /Applications by default, but you can provide the pat
106107
- `version`: Print the version number of xcodes itself
107108
- `signout`: Clears the stored username and password
108109

110+
### Experimental Unxip - for faster unxipping
111+
112+
Thanks to the amazing work by [saagarjhi](https://github.com/saagarjha/unxip) - Xcodes now includes the ability to unxip up to 70% faster on some systems.
113+
114+
```
115+
xcodes install --latest --experimental-unxip
116+
```
117+
109118
### Shell Completion Scripts
110119

111120
xcodes can generate completion scripts which allow you to press the tab key on your keyboard to autocomplete commands and arguments when typing an xcodes command. The steps to install a completion script depend on the shell that you use. More information about installation instructions for different shells and the underlying implementation is available in the [swift-argument-parser repo](https://github.com/apple/swift-argument-parser/blob/main/Sources/ArgumentParser/Documentation.docc/Articles/InstallingCompletionScripts.md).
@@ -123,7 +132,7 @@ xcodes --generate-completion-script > ~/.oh-my-zsh/completions/_xcodes
123132

124133
## Development
125134

126-
You'll need Xcode 12 in order to build and run xcodes.
135+
You'll need Xcode 13 in order to build and run xcodes.
127136

128137
<details>
129138
<summary>Using Xcode</summary>
@@ -166,9 +175,7 @@ make bottle VERSION="$VERSION"
166175
# Notarize the release build
167176
# This can take a while
168177
make notarize \
169-
USERNAME="[email protected]" \
170-
PASSWORD="@keychain:ALTool Notarization" \
171-
ASC_PROVIDER="YourAppStoreConnectTeamName"
178+
TEAMID="ABC123"
172179

173180
# Push the new version bump commit and tag
174181
git push --follow-tags

Diff for: Sources/XcodesKit/Version.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
import Version
22

3-
public let version = Version("0.19.0")!
3+
public let version = Version("0.20.0")!

Diff for: notarize.sh

+7-36
Original file line numberDiff line numberDiff line change
@@ -6,43 +6,14 @@
66
#
77
# Adapted from https://github.com/keybase/client/blob/46f5df0aa64ff19198ba7b044bbb7cd907c0be9f/packaging/desktop/package_darwin.sh
88

9-
username="$1"
10-
password="$2"
11-
asc_provider="$3"
12-
file="$4"
9+
file="$1"
10+
team_id="$2"
1311

1412
echo "Uploading to notarization service"
1513

16-
uuid=$(xcrun altool \
17-
--notarize-app \
18-
--primary-bundle-id "com.robotsandpencils.xcodes.zip" \
19-
--username "$username" \
20-
--password "$password" \
21-
--asc-provider "$asc_provider" \
22-
--file "$file" 2>&1 | \
23-
grep 'RequestUUID' | \
24-
awk '{ print $3 }')
14+
result=$(xcrun notarytool submit "$file" \
15+
--keychain-profile "AC_PASSWORD" \
16+
--team-id "$team_id" \
17+
--wait)
2518

26-
echo "Successfully uploaded to notarization service, polling for result: $uuid"
27-
28-
sleep 15
29-
while :
30-
do
31-
fullstatus=$(xcrun altool \
32-
--notarization-info "$uuid" \
33-
--username "$username" \
34-
--password "$password" \
35-
--asc-provider "$asc_provider" 2>&1)
36-
status=$(echo "$fullstatus" | grep 'Status\:' | awk '{ print $2 }')
37-
if [ "$status" = "success" ]; then
38-
echo "Notarization success"
39-
exit 0
40-
elif [ "$status" = "in" ]; then
41-
echo "Notarization still in progress, sleeping for 15 seconds and trying again"
42-
sleep 15
43-
else
44-
echo "Notarization failed, full status below"
45-
echo "$fullstatus"
46-
exit 1
47-
fi
48-
done
19+
echo $result

0 commit comments

Comments
 (0)