Brandon Evans
ad02e89449
Add failing test to cover removing an uninstalled version, fix it
...
https://github.com/RobotsAndPencils/XcodesApp/pull/44#issuecomment-756783640
2021-01-16 10:15:32 -07:00
Brandon Evans
0295bc8b1b
Stop aria2c if Xcodes stops
...
I removed this because I thought it wasn't necessary for some reason. We do send a SIGTERM if the user cancels the installation (via subscription cancellation), but if the whole app quits aria2c would keep running in the background.
2021-01-12 20:51:22 -07:00
Brandon Evans
93f819f2f3
Add downloaders to SettingsView
2021-01-08 17:22:38 -07:00
Brandon Evans
23cd43011b
Bundle aria2c 1.35.0 executable and source
2021-01-08 17:22:38 -07:00
Brandon Evans
fecb40893f
Don't replace existing install state when updating
2021-01-07 21:25:08 -07:00
Brandon Evans
4a33d010a8
Confirm before cancelling installation
2021-01-07 21:25:08 -07:00
Brandon Evans
1a830dc9dc
Add cancel install button to context menu and info pane
2021-01-07 21:25:08 -07:00
Brandon Evans
482b32e4e0
Add isTesting to make NSTestCase check more clear
2021-01-07 21:25:07 -07:00
Brandon Evans
89143b8751
Dispatch Process.run work manually instead of using subscribe(on:) and receive(on:)
...
The previous implementation was doing something weird when it was used during installation in:
verifySecurityAssessment(of: installedXcode)
.combineLatest(self.verifySigningCertificate(of: installedXcode.path.url))
It looks like it would subscribe after the Process.run future had already sent a value, and so it would never finish. This seems weird, and I'm assuming that I'm misunderstanding something about this behaviour, but dispatching manually seems reasonable and works.
2021-01-07 21:25:07 -07:00
Brandon Evans
bfb3fd9ea5
Add install functionality
...
I'm omitting aria2 support for now.
2021-01-07 21:25:07 -07:00
Brandon Evans
a3e9101397
Replace .alert with .emittingError
2021-01-04 16:23:35 -07:00
Brandon Evans
813489b5fa
Add Environment+Mock
2021-01-03 10:18:48 -07:00
Brandon Evans
b1e6cffd09
Use helper from Current
2021-01-03 10:18:08 -07:00
Brandon Evans
f3680da2ae
Add InstallationStepView
2021-01-01 15:36:20 -07:00
Brandon Evans
ba1c4fec0f
Merge pull request #38 from RobotsAndPencils/remove-promisekit
...
Remove PromiseKit
2021-01-01 15:03:34 -07:00
Brandon Evans
245780023b
Convert Current.shell to Combine
2021-01-01 15:02:21 -07:00
Brandon Evans
f00ae396a6
Remove Current.shell sudo functionality
...
This'll be done in the helper
2021-01-01 15:02:20 -07:00
Brandon Evans
9971e0b45d
Remove Promise retry functions
...
We'll need to reimplement these later when implementing installation
2021-01-01 15:02:20 -07:00
Brandon Evans
fa277ccaae
Convert URLSession.downloadTask to Combine
2021-01-01 15:02:20 -07:00
Matt Kiazyk
7d1e22e668
Remove some unused code
2021-01-01 13:01:07 -06:00
Brandon Evans
95ca2bc1c3
Remove PromiseKit and PMKFoundation
2021-01-01 10:29:27 -07:00
Matt Kiazyk
72bdadb796
PR Cleanup
2020-12-31 16:06:03 -06:00
Matt Kiazyk
7bfb94d75a
Uninstall a xcode version
2020-12-31 12:36:31 -06:00
Brandon Evans
15132bdfaa
Psych, switch "default" to "active", add justification
2020-12-30 22:06:39 -07:00
Matt Kiazyk
1cd96cc9fc
Merge branch 'main' into enhancement/31-helpModifier
2020-12-30 15:07:08 -06:00
Matt Kiazyk
8df4bb59e0
Update some text to better suit HIG
...
Co-authored-by: Brandon Evans <brandon.evans@robotsandpencils.com>
2020-12-30 15:00:18 -06:00
Brandon Evans
b32687484d
Move Xcode selection state into window
2020-12-29 13:48:17 -07:00
Brandon Evans
047288384d
Reflect currently-selected Xcode in list
2020-12-28 19:58:36 -07:00
Matt Kiazyk
fdb74ee8d9
Adds the .help modifier to a variety of buttons
2020-12-28 16:27:35 -06:00
Brandon Evans
8084f057fd
Create MainWindow to split up XcodeListView
2020-12-28 12:42:28 -07:00
Brandon Evans
9dc3d21f2e
Rename launch to open
...
This is the preferred verb when it's user-facing, according to Apple's style guide.
2020-12-28 12:42:28 -07:00
Brandon Evans
ba0c429766
Add trailing inspector pane
2020-12-28 12:42:28 -07:00
Brandon Evans
44da1efca9
AcknowledgementsGenerator supports *.LICENSE files for code not from SPM
2020-12-28 10:38:59 -07:00
Brandon Evans
dbff012dc8
Use copyright value from Info.plist in about window
2020-12-28 10:38:29 -07:00
Brandon Evans
bc209f6112
Add privileged helper that runs xcode-select
2020-12-28 10:38:27 -07:00
Brandon Evans
1fef255c3d
Add app icon to installed rows
2020-12-28 07:55:12 -07:00
Brandon Evans
4d2600f821
Add Xcode command menu
2020-12-27 23:23:33 -07:00
Brandon Evans
912ac0a28e
Allow launching and copying the path of an installed Xcode
2020-12-27 23:22:57 -07:00
Brandon Evans
adad238b2a
Move uninstalled Xcode property into AppState
2020-12-27 23:22:57 -07:00
Brandon Evans
acd82fa07a
Extract AppState.XcodeVersion to Xcode
2020-12-27 23:22:57 -07:00
Brandon Evans
de54c3d784
Only sign in before refreshing when using Apple data source
2020-12-27 18:33:29 -07:00
Brandon Evans
33b5f96ed2
Merge XcodeList into AppState
2020-12-27 18:29:25 -07:00
Brandon Evans
f06d72f3eb
Split up Models.swift
2020-12-27 18:29:25 -07:00
Brandon Evans
293aef80e3
Add Xcode Releases data source
2020-12-27 18:29:25 -07:00
Brandon Evans
b342baff02
Update when the app launches or becomes active and it's been a day since last update
2020-12-27 18:29:25 -07:00
Brandon Evans
9b26688255
Add refresh menu item and progress view
2020-12-27 18:29:24 -07:00
Brandon Evans
4ef8428151
Convert XcodeList to Combine
2020-12-27 18:29:24 -07:00
Chad Sykes
ee10d2f92b
Some variable renaming based on PR feedback
2020-12-27 16:14:10 -07:00
Chad Sykes
74cb2198f5
Add missing error alerts to the SignIn views (this does not fix the error formatting from AppState for fear of merge issues)
2020-12-27 13:36:28 -07:00
Chad Sykes
c9c31ff6f5
Fix warning about executing updating the UI from outside the main thread
2020-12-27 13:21:07 -07:00