RESOLVED FIXED243228
[Xcode] Building a single-project scheme builds its dependencies
https://bugs.webkit.org/show_bug.cgi?id=243228
Summary [Xcode] Building a single-project scheme builds its dependencies
Elliott Williams
Reported 2022-07-26 13:25:58 PDT
Schemes like "WebCore", "JavaScriptCore", etc. currently build the entire workspace _up to_ their respective framework. The idea is that it's an easy way to build a subset of the workspace up to a specific target. However, with the switch to Make-based workspace builds, there is no longer a workflow for building a single project _without_ its dependencies. My understanding from talking to folks is that we need a way to do this, for a number of reasons: - We have scripts that run redundantly, so a null build of the full stack is slower than a null build of a single project, sometimes by 10-15 sec. - Sometimes an engineer is working on unrelated or staged changes in separate parts of the workspace, and doesn't want changes in one project to cause heavy rebuilds of the other project. - It's unintuitive that running Make in a specific directory (e.g. `make -C Source/WebCore`) will build projects in other directories. If we agree that these are workflows that we should support, then we need a way to build these projects in the workspace without their dependencies. Because Xcode doesn't allow us to control dependency resolution at runtime, I propose we turn off "Find Implicit Dependencies" in all the single-project schemes.
Attachments
Radar WebKit Bug Importer
Comment 1 2022-07-26 13:26:26 PDT
Elliott Williams
Comment 2 2022-07-27 15:56:57 PDT
There are some exceptions to consider here. For instance, the `JavaScriptCore` scheme is used by `build-jsc`, and that tool expects to build up to JSC, not JSC only. In this case, maybe we should have two schemes, "JavaScriptCore" and "Everything up to JavaScriptCore", which have implicit dependencies disabled and enabled, respectively.
Elliott Williams
Comment 3 2022-07-28 09:23:23 PDT
EWS
Comment 4 2022-07-28 11:51:48 PDT
Committed 252924@main (56fd2f7529a1): <https://commits.webkit.org/252924@main> Reviewed commits have been landed. Closing PR #2814 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.