Bug 191324 - Create .xcfilelist files
Summary: Create .xcfilelist files
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Keith Rollin
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-11-06 12:45 PST by Keith Rollin
Modified: 2018-11-09 11:39 PST (History)
13 users (show)

See Also:


Attachments
Patch (311.13 KB, patch)
2018-11-06 13:24 PST, Keith Rollin
no flags Details | Formatted Diff | Diff
Freshly rebased, and with incremental build problem fixed. (313.25 KB, patch)
2018-11-07 11:43 PST, Keith Rollin
no flags Details | Formatted Diff | Diff
Patch (67.37 KB, patch)
2018-11-08 13:30 PST, Keith Rollin
krollin: commit-queue+
Details | Formatted Diff | Diff
Patch (312.28 KB, patch)
2018-11-08 14:03 PST, Keith Rollin
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Keith Rollin 2018-11-06 12:45:02 PST
As part of preparing for enabling XCBuild, create and use .xcfilelist files. These files are using during Run Script build phases in an Xcode project. If a Run Script build phase produces new files that are used later as inputs to subsequent build phases, XCBuild needs to know about these files. These files can be either specified in an "output files" section of the Run Script phase editor, or in .xcfilelist files that are associated with the Run Script build phase.

This patch takes the second approach. It consists of three sets of changes:

* Modify the DerivedSources.make files to have a 'print_all_generated_files" target that produces a list of the files they create.

* Create a shell script that produces .xcfilelist files from the output of the previous step, as well as for the files created in the Generate Unified Sources build steps.

* Add the new .xcfilelist files to the associated projects.

Note that, with these changes, the Xcode workspace and projects can no longer be fully loaded into Xcode 9. Xcode will attempt to load the projects that have .xcfilelist files associated with them, but will fail and display a placeholder for those projects instead. It's expected that all developers are using Xcode 10 by now and that not being able to load into Xcode 9 is not a practical issue. Keep in mind that this is strictly an IDE issue, and that the projects can still be built with `xcodebuild`.

Also note that the shell script that creates the .xcfilelist files can also be used to verify that the set of files that's currently checked in is up-to-date. This checking can be used as part of a check-in hook or part of check-webkit-style to sooner catch cases where the .xcfilelist files need to be regenerated.
Comment 1 Radar WebKit Bug Importer 2018-11-06 12:45:20 PST
<rdar://problem/45852819>
Comment 2 Keith Rollin 2018-11-06 13:24:34 PST
Created attachment 353996 [details]
Patch
Comment 3 Keith Rollin 2018-11-06 13:48:39 PST
OK, who submitted a conflicting patch before mine?
Comment 4 Keith Rollin 2018-11-06 15:59:30 PST
This is going to take longer than I thought to reland. This patch is messing up incremental builds.
Comment 5 Keith Rollin 2018-11-07 11:43:45 PST
Created attachment 354119 [details]
Freshly rebased, and with incremental build problem fixed.
Comment 6 WebKit Commit Bot 2018-11-08 13:23:22 PST
Comment on attachment 354119 [details]
Freshly rebased, and with incremental build problem fixed.

Rejecting attachment 354119 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'apply-attachment', '--no-update', '--non-interactive', 354119, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=354119&action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=191324&ctype=xml&excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 354119 from bug 191324.
Fetching: https://bugs.webkit.org/attachment.cgi?id=354119
Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Alex Christensen']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 21 diffs from patch file(s).
patching file Source/JavaScriptCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/JavaScriptCore/DerivedSources.make
patching file Source/JavaScriptCore/DerivedSources.xcfilelist
patching file Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
patching file Source/JavaScriptCore/UnifiedSources.xcfilelist
patching file Source/WebCore/DerivedSources.make
Hunk #3 succeeded at 100 (offset 1 line).
Hunk #4 succeeded at 120 (offset 1 line).
Hunk #5 succeeded at 207 (offset 1 line).
Hunk #6 succeeded at 244 (offset 1 line).
Hunk #7 succeeded at 252 (offset 1 line).
Hunk #8 succeeded at 266 (offset 1 line).
Hunk #9 succeeded at 378 (offset 2 lines).
Hunk #10 succeeded at 406 (offset 2 lines).
Hunk #11 succeeded at 469 (offset 3 lines).
Hunk #12 succeeded at 501 (offset 8 lines).
Hunk #13 succeeded at 743 (offset 8 lines).
Hunk #14 succeeded at 777 (offset 8 lines).
Hunk #15 succeeded at 792 (offset 8 lines).
Hunk #16 succeeded at 828 (offset 8 lines).
Hunk #17 succeeded at 846 (offset 8 lines).
Hunk #18 succeeded at 1064 (offset 8 lines).
Hunk #19 succeeded at 1081 (offset 8 lines).
Hunk #20 succeeded at 1123 (offset 8 lines).
Hunk #21 succeeded at 1142 (offset 8 lines).
Hunk #22 succeeded at 1154 (offset 8 lines).
Hunk #23 succeeded at 1184 (offset 8 lines).
Hunk #24 succeeded at 1215 (offset 8 lines).
Hunk #25 succeeded at 1244 (offset 8 lines).
Hunk #26 succeeded at 1256 (offset 8 lines).
Hunk #27 succeeded at 1264 (offset 8 lines).
Hunk #28 succeeded at 1274 (offset 8 lines).
Hunk #29 succeeded at 1284 (offset 8 lines).
Hunk #30 succeeded at 1292 (offset 8 lines).
Hunk #31 succeeded at 1345 (offset 8 lines).
Hunk #32 succeeded at 1353 (offset 8 lines).
Hunk #33 succeeded at 1377 (offset 8 lines).
Hunk #34 succeeded at 1427 (offset 8 lines).
Hunk #35 succeeded at 1460 (offset 8 lines).
Hunk #36 succeeded at 1485 (offset 8 lines).
Hunk #37 succeeded at 1589 (offset 9 lines).
Hunk #38 succeeded at 1620 (offset 9 lines).
Hunk #39 succeeded at 1679 (offset 9 lines).
Hunk #40 succeeded at 1690 (offset 9 lines).
patching file Source/WebCore/DerivedSources.xcfilelist
patching file Source/WebCore/UnifiedSources.xcfilelist
patching file Source/WebCore/WebCore.xcodeproj/project.pbxproj
Hunk #2 FAILED at 28631.
Hunk #3 FAILED at 30697.
Hunk #4 succeeded at 32010 (offset 88 lines).
Hunk #5 succeeded at 32115 (offset 88 lines).
2 out of 5 hunks FAILED -- saving rejects to file Source/WebCore/WebCore.xcodeproj/project.pbxproj.rej
patching file Source/WebKit/DerivedSources.make
patching file Source/WebKit/DerivedSources.xcfilelist
patching file Source/WebKit/UnifiedSources.xcfilelist
patching file Source/WebKit/WebKit.xcodeproj/project.pbxproj
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/DumpRenderTree/DerivedSources.make
patching file Tools/DumpRenderTree/DerivedSources.xcfilelist
patching file Tools/Scripts/generate-xcfilelists
patching file Tools/WebKitTestRunner/DerivedSources.make
patching file Tools/WebKitTestRunner/DerivedSources.xcfilelist

Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Alex Christensen']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/9912574
Comment 7 Keith Rollin 2018-11-08 13:24:16 PST
Joy.
Comment 8 Keith Rollin 2018-11-08 13:30:11 PST
Created attachment 354268 [details]
Patch
Comment 9 Keith Miller 2018-11-08 13:32:37 PST
Can we use .xcfilelist files for unified sources too? Right now we are manually adding them to the Xcode project because there is no way to say how many should exist as people add files to WebKit.
Comment 10 Keith Rollin 2018-11-08 13:58:20 PST
I've not seen that they can.
Comment 11 Keith Rollin 2018-11-08 14:03:31 PST
Created attachment 354273 [details]
Patch
Comment 12 WebKit Commit Bot 2018-11-08 16:13:15 PST
Comment on attachment 354273 [details]
Patch

Clearing flags on attachment: 354273

Committed r238008: <https://trac.webkit.org/changeset/238008>
Comment 13 WebKit Commit Bot 2018-11-08 16:13:17 PST
All reviewed patches have been landed.  Closing bug.