Skip to content

Commit dada7f2

Browse files
committed
2.0.0 beta
1 parent 2184c87 commit dada7f2

5 files changed

Lines changed: 180 additions & 68 deletions

File tree

Xcodes.xcodeproj/project.pbxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,7 +1073,7 @@
10731073
CODE_SIGN_IDENTITY = "-";
10741074
CODE_SIGN_STYLE = Manual;
10751075
COMBINE_HIDPI_IMAGES = YES;
1076-
CURRENT_PROJECT_VERSION = 18;
1076+
CURRENT_PROJECT_VERSION = 19;
10771077
DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\"";
10781078
DEVELOPMENT_TEAM = "";
10791079
ENABLE_HARDENED_RUNTIME = NO;
@@ -1084,7 +1084,7 @@
10841084
"@executable_path/../Frameworks",
10851085
);
10861086
MACOSX_DEPLOYMENT_TARGET = 13.0;
1087-
MARKETING_VERSION = 1.10.0;
1087+
MARKETING_VERSION = 2.0.0;
10881088
PRODUCT_BUNDLE_IDENTIFIER = com.xcodesorg.xcodesapp;
10891089
PRODUCT_NAME = Xcodes;
10901090
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1318,7 +1318,7 @@
13181318
CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements;
13191319
CODE_SIGN_STYLE = Automatic;
13201320
COMBINE_HIDPI_IMAGES = YES;
1321-
CURRENT_PROJECT_VERSION = 18;
1321+
CURRENT_PROJECT_VERSION = 19;
13221322
DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\"";
13231323
DEVELOPMENT_TEAM = ZU6GR6B2FY;
13241324
ENABLE_HARDENED_RUNTIME = YES;
@@ -1329,7 +1329,7 @@
13291329
"@executable_path/../Frameworks",
13301330
);
13311331
MACOSX_DEPLOYMENT_TARGET = 13.0;
1332-
MARKETING_VERSION = 1.10.0;
1332+
MARKETING_VERSION = 2.0.0;
13331333
PRODUCT_BUNDLE_IDENTIFIER = com.xcodesorg.xcodesapp;
13341334
PRODUCT_NAME = Xcodes;
13351335
SWIFT_VERSION = 5.0;
@@ -1343,7 +1343,7 @@
13431343
CODE_SIGN_ENTITLEMENTS = Xcodes/Resources/Xcodes.entitlements;
13441344
CODE_SIGN_STYLE = Automatic;
13451345
COMBINE_HIDPI_IMAGES = YES;
1346-
CURRENT_PROJECT_VERSION = 18;
1346+
CURRENT_PROJECT_VERSION = 19;
13471347
DEVELOPMENT_ASSET_PATHS = "\"Xcodes/Preview Content\"";
13481348
DEVELOPMENT_TEAM = ZU6GR6B2FY;
13491349
ENABLE_HARDENED_RUNTIME = YES;
@@ -1354,7 +1354,7 @@
13541354
"@executable_path/../Frameworks",
13551355
);
13561356
MACOSX_DEPLOYMENT_TARGET = 13.0;
1357-
MARKETING_VERSION = 1.10.0;
1357+
MARKETING_VERSION = 2.0.0;
13581358
PRODUCT_BUNDLE_IDENTIFIER = com.xcodesorg.xcodesapp;
13591359
PRODUCT_NAME = Xcodes;
13601360
SWIFT_VERSION = 5.0;

Xcodes/Backend/AppState+Runtimes.swift

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -122,64 +122,6 @@ extension AppState {
122122
return expectedRuntimePath.url
123123
}
124124

125-
126-
func downloadRuntime(for runtime: DownloadableRuntime, downloader: Downloader, progressChanged: @escaping (Progress) -> Void) -> AnyPublisher<URL, Error> {
127-
// Check to see if the dmg is in the expected path in case it was downloaded but failed to install
128-
129-
// call https://developerservices2.apple.com/services/download?path=/Developer_Tools/watchOS_10_beta/watchOS_10_beta_Simulator_Runtime.dmg 1st to get cookie
130-
// use runtime.url for final with cookies
131-
132-
// Check to see if the archive is in the expected path in case it was downloaded but failed to install
133-
let url = URL(string: runtime.source)!
134-
let expectedRuntimePath = Path.xcodesApplicationSupport/"\(url.lastPathComponent)"
135-
// aria2 downloads directly to the destination (instead of into /tmp first) so we need to make sure that the download isn't incomplete
136-
let aria2DownloadMetadataPath = expectedRuntimePath.parent/(expectedRuntimePath.basename() + ".aria2")
137-
var aria2DownloadIsIncomplete = false
138-
if case .aria2 = downloader, aria2DownloadMetadataPath.exists {
139-
aria2DownloadIsIncomplete = true
140-
}
141-
if Current.files.fileExistsAtPath(expectedRuntimePath.string), aria2DownloadIsIncomplete == false {
142-
Logger.appState.info("Found existing runtime that will be used for installation at \(expectedRuntimePath).")
143-
return Just(expectedRuntimePath.url)
144-
.setFailureType(to: Error.self)
145-
.eraseToAnyPublisher()
146-
}
147-
else {
148-
149-
Logger.appState.info("Downloading runtime: \(url.lastPathComponent)")
150-
switch downloader {
151-
case .aria2:
152-
let aria2Path = Path(url: Bundle.main.url(forAuxiliaryExecutable: "aria2c")!)!
153-
return downloadRuntimeWithAria2(
154-
runtime,
155-
to: expectedRuntimePath,
156-
aria2Path: aria2Path,
157-
progressChanged: progressChanged)
158-
159-
case .urlSession:
160-
// TODO: Support runtime download via URL Session
161-
return Just(runtime.url)
162-
.setFailureType(to: Error.self)
163-
.eraseToAnyPublisher()
164-
}
165-
}
166-
}
167-
168-
public func downloadRuntimeWithAria2(_ runtime: DownloadableRuntime, to destination: Path, aria2Path: Path, progressChanged: @escaping (Progress) -> Void) -> AnyPublisher<URL, Error> {
169-
let cookies = AppleAPI.Current.network.session.configuration.httpCookieStorage?.cookies(for: runtime.url) ?? []
170-
171-
let (progress, publisher) = Current.shell.downloadWithAria2(
172-
aria2Path,
173-
runtime.url,
174-
destination,
175-
cookies
176-
)
177-
progressChanged(progress)
178-
return publisher
179-
.map { _ in destination.url }
180-
.eraseToAnyPublisher()
181-
}
182-
183125
public func downloadRuntimeWithAria2(_ runtime: DownloadableRuntime, to destination: Path, aria2Path: Path) -> AsyncThrowingStream<Progress, Error> {
184126
let cookies = AppleAPI.Current.network.session.configuration.httpCookieStorage?.cookies(for: runtime.url) ?? []
185127

Xcodes/Resources/Info.plist

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<key>LSMinimumSystemVersion</key>
2626
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
2727
<key>NSHumanReadableCopyright</key>
28-
<string>Copyright © 2023 Robots and Pencils.</string>
28+
<string>Copyright © 2024 XcodesOrg</string>
2929
<key>NSPrincipalClass</key>
3030
<string>NSApplication</string>
3131
<key>NSSupportsAutomaticTermination</key>
@@ -35,11 +35,11 @@
3535
<key>SMPrivilegedExecutables</key>
3636
<dict>
3737
<key>com.robotsandpencils.XcodesApp.Helper</key>
38-
<string>identifier "com.robotsandpencils.XcodesApp.Helper" and info [CFBundleShortVersionString] &gt;= "1.0.0" and anchor apple generic and certificate leaf[subject.OU] = "$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)"</string>
38+
<string>identifier &quot;com.robotsandpencils.XcodesApp.Helper&quot; and info [CFBundleShortVersionString] &gt;= &quot;1.0.0&quot; and anchor apple generic and certificate leaf[subject.OU] = &quot;$(CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT)&quot;</string>
3939
</dict>
4040
<key>SUFeedURL</key>
4141
<string>https://www.xcodes.app/appcast.xml</string>
4242
<key>SUPublicEDKey</key>
43-
<string>SEcz0vgUSeBTOoAXYe+64zea95G6lIf5NgzFs3InYJQ=</string>
43+
<string>GrqOrFQHxfqoLFCAGc9luvsAWQifHtG9gQ3NVJ583tE=</string>
4444
</dict>
4545
</plist>

Xcodes/Resources/Licenses.rtf

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,176 @@ SOFTWARE.\
595595
\
596596
\
597597

598+
\fs34 unxip\
599+
\
600+
601+
\fs26 GNU LESSER GENERAL PUBLIC LICENSE\
602+
Version 3, 29 June 2007\
603+
\
604+
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\
605+
Everyone is permitted to copy and distribute verbatim copies\
606+
of this license document, but changing it is not allowed.\
607+
\
608+
\
609+
This version of the GNU Lesser General Public License incorporates\
610+
the terms and conditions of version 3 of the GNU General Public\
611+
License, supplemented by the additional permissions listed below.\
612+
\
613+
0. Additional Definitions.\
614+
\
615+
As used herein, "this License" refers to version 3 of the GNU Lesser\
616+
General Public License, and the "GNU GPL" refers to version 3 of the GNU\
617+
General Public License.\
618+
\
619+
"The Library" refers to a covered work governed by this License,\
620+
other than an Application or a Combined Work as defined below.\
621+
\
622+
An "Application" is any work that makes use of an interface provided\
623+
by the Library, but which is not otherwise based on the Library.\
624+
Defining a subclass of a class defined by the Library is deemed a mode\
625+
of using an interface provided by the Library.\
626+
\
627+
A "Combined Work" is a work produced by combining or linking an\
628+
Application with the Library. The particular version of the Library\
629+
with which the Combined Work was made is also called the "Linked\
630+
Version".\
631+
\
632+
The "Minimal Corresponding Source" for a Combined Work means the\
633+
Corresponding Source for the Combined Work, excluding any source code\
634+
for portions of the Combined Work that, considered in isolation, are\
635+
based on the Application, and not on the Linked Version.\
636+
\
637+
The "Corresponding Application Code" for a Combined Work means the\
638+
object code and/or source code for the Application, including any data\
639+
and utility programs needed for reproducing the Combined Work from the\
640+
Application, but excluding the System Libraries of the Combined Work.\
641+
\
642+
1. Exception to Section 3 of the GNU GPL.\
643+
\
644+
You may convey a covered work under sections 3 and 4 of this License\
645+
without being bound by section 3 of the GNU GPL.\
646+
\
647+
2. Conveying Modified Versions.\
648+
\
649+
If you modify a copy of the Library, and, in your modifications, a\
650+
facility refers to a function or data to be supplied by an Application\
651+
that uses the facility (other than as an argument passed when the\
652+
facility is invoked), then you may convey a copy of the modified\
653+
version:\
654+
\
655+
a) under this License, provided that you make a good faith effort to\
656+
ensure that, in the event an Application does not supply the\
657+
function or data, the facility still operates, and performs\
658+
whatever part of its purpose remains meaningful, or\
659+
\
660+
b) under the GNU GPL, with none of the additional permissions of\
661+
this License applicable to that copy.\
662+
\
663+
3. Object Code Incorporating Material from Library Header Files.\
664+
\
665+
The object code form of an Application may incorporate material from\
666+
a header file that is part of the Library. You may convey such object\
667+
code under terms of your choice, provided that, if the incorporated\
668+
material is not limited to numerical parameters, data structure\
669+
layouts and accessors, or small macros, inline functions and templates\
670+
(ten or fewer lines in length), you do both of the following:\
671+
\
672+
a) Give prominent notice with each copy of the object code that the\
673+
Library is used in it and that the Library and its use are\
674+
covered by this License.\
675+
\
676+
b) Accompany the object code with a copy of the GNU GPL and this license\
677+
document.\
678+
\
679+
4. Combined Works.\
680+
\
681+
You may convey a Combined Work under terms of your choice that,\
682+
taken together, effectively do not restrict modification of the\
683+
portions of the Library contained in the Combined Work and reverse\
684+
engineering for debugging such modifications, if you also do each of\
685+
the following:\
686+
\
687+
a) Give prominent notice with each copy of the Combined Work that\
688+
the Library is used in it and that the Library and its use are\
689+
covered by this License.\
690+
\
691+
b) Accompany the Combined Work with a copy of the GNU GPL and this license\
692+
document.\
693+
\
694+
c) For a Combined Work that displays copyright notices during\
695+
execution, include the copyright notice for the Library among\
696+
these notices, as well as a reference directing the user to the\
697+
copies of the GNU GPL and this license document.\
698+
\
699+
d) Do one of the following:\
700+
\
701+
0) Convey the Minimal Corresponding Source under the terms of this\
702+
License, and the Corresponding Application Code in a form\
703+
suitable for, and under terms that permit, the user to\
704+
recombine or relink the Application with a modified version of\
705+
the Linked Version to produce a modified Combined Work, in the\
706+
manner specified by section 6 of the GNU GPL for conveying\
707+
Corresponding Source.\
708+
\
709+
1) Use a suitable shared library mechanism for linking with the\
710+
Library. A suitable mechanism is one that (a) uses at run time\
711+
a copy of the Library already present on the user's computer\
712+
system, and (b) will operate properly with a modified version\
713+
of the Library that is interface-compatible with the Linked\
714+
Version.\
715+
\
716+
e) Provide Installation Information, but only if you would otherwise\
717+
be required to provide such information under section 6 of the\
718+
GNU GPL, and only to the extent that such information is\
719+
necessary to install and execute a modified version of the\
720+
Combined Work produced by recombining or relinking the\
721+
Application with a modified version of the Linked Version. (If\
722+
you use option 4d0, the Installation Information must accompany\
723+
the Minimal Corresponding Source and Corresponding Application\
724+
Code. If you use option 4d1, you must provide the Installation\
725+
Information in the manner specified by section 6 of the GNU GPL\
726+
for conveying Corresponding Source.)\
727+
\
728+
5. Combined Libraries.\
729+
\
730+
You may place library facilities that are a work based on the\
731+
Library side by side in a single library together with other library\
732+
facilities that are not Applications and are not covered by this\
733+
License, and convey such a combined library under terms of your\
734+
choice, if you do both of the following:\
735+
\
736+
a) Accompany the combined library with a copy of the same work based\
737+
on the Library, uncombined with any other library facilities,\
738+
conveyed under the terms of this License.\
739+
\
740+
b) Give prominent notice with the combined library that part of it\
741+
is a work based on the Library, and explaining where to find the\
742+
accompanying uncombined form of the same work.\
743+
\
744+
6. Revised Versions of the GNU Lesser General Public License.\
745+
\
746+
The Free Software Foundation may publish revised and/or new versions\
747+
of the GNU Lesser General Public License from time to time. Such new\
748+
versions will be similar in spirit to the present version, but may\
749+
differ in detail to address new problems or concerns.\
750+
\
751+
Each version is given a distinguishing version number. If the\
752+
Library as you received it specifies that a certain numbered version\
753+
of the GNU Lesser General Public License "or any later version"\
754+
applies to it, you have the option of following the terms and\
755+
conditions either of that published version or of any later version\
756+
published by the Free Software Foundation. If the Library as you\
757+
received it does not specify a version number of the GNU Lesser\
758+
General Public License, you may choose any version of the GNU Lesser\
759+
General Public License ever published by the Free Software Foundation.\
760+
\
761+
If the Library as you received it specifies that a proxy can decide\
762+
whether future versions of the GNU Lesser General Public License shall\
763+
apply, that proxy's public statement of acceptance of any version is\
764+
permanent authorization for you to choose that version for the\
765+
Library.\
766+
\
767+
598768
\fs34 data\
599769
\
600770

com.robotsandpencils.XcodesApp.Helper/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>CFBundleIdentifier</key>
6-
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
6+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
77
<key>CFBundleInfoDictionaryVersion</key>
88
<string>6.0</string>
99
<key>CFBundleShortVersionString</key>

0 commit comments

Comments
 (0)