-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move xcodeproj
folder away from the project root
#1990
Comments
While moving the (also because, otherwise, how would we guarantee that someone wouldn't decide to move the TL;DRI got some brainstorm about it below, but the TL;DR is that I think it'd make more sense to pass That being said, despite the Braindump of alternative ideasHere is a braindump of a couple of alternative ideas / potential solutions I could think of when I thought about this problem: 1️⃣ See if creating a symlink of one
|
Funnily enough,
But, as you already noticed, in practice calling that suggested invocation in practice ends up exiting with |
Allowing callers to forward
|
...It would also save us from reverse engineer / understand the various Xcode / |
True… though I'd argue we'd still benefit from understanding which Besides, we still kinda need to understand what Xcode vs |
As a side note, I noticed that our current implementation of While it's likely currently the case for most if not all our current projects (?)… I don't see any reason why we should really assume this to always be true; e.g. imagine a monorepo hosting multiple apps and where we'd have decided to put the All that is one more point in the camp of allowing |
@mokagio I've started a draft implementation of some improvements to our I actually have some hope about a solution that would allow us to use |
When called in the root of the project
xcodebuild -resolvePackageDependencies
will generatePackage.resolved
in both thexcodeproj
andxcworkspace
folders. This is likely a bug, as the same command with the 16.0 beta 3 version only generates the resolved file in thexcodeproj
folder.Regardless of the cause, this behavior can, sometimes, result in CI failures such as the one in this build: https://buildkite.com/automattic/pocket-casts-ios/builds/7634#019113ca-d4bd-4838-b93a-aae0e4a0528f
One solution is to specify the workspace to the command. See how this build passes: https://buildkite.com/automattic/pocket-casts-ios/builds/7657
While this approach does the job, it requires us to drop the SPM caching because the
install_swift_dependencies
command in the CI toolkit does not support those options.Of course, we could add support at the toolkit level, but there is an alternative approach.
A different approach would be to move the
xcodeproj
in a subfolder. This is the setup used in WordPress and WooCommerce, for example.I find this approach attractive because it would give us a chance to tidy up the project root folder. For example, we could use this structure:
@Automattic/apps-infrastructure what do you think? Is it worth establishing a convention of moving the
xcodeproj
folder away from the root if anxcworskpace
is in use? Or should we take this as the occasion to make theinstall_swift_dependencies
CI toolkit plugin more flexible?Of course, nothing stops us from doing both, but give each approach would make the other unnecessary, I'd rather take a choice on which one to focus on in the short term.
The text was updated successfully, but these errors were encountered: