Bug 237129 - [XCBuild] WTF's SPI dependencies are copied via a folder reference and do not emit task outputs
Summary: [XCBuild] WTF's SPI dependencies are copied via a folder reference and do not...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Elliott Williams
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-02-23 22:00 PST by Elliott Williams
Modified: 2022-02-25 12:45 PST (History)
2 users (show)

See Also:


Attachments
Patch (174.32 KB, patch)
2022-02-23 22:17 PST, Elliott Williams
ews-feeder: commit-queue-
Details | Formatted Diff | Diff
Patch (174.66 KB, patch)
2022-02-23 22:32 PST, Elliott Williams
ews-feeder: commit-queue-
Details | Formatted Diff | Diff
Patch for relanding (174.00 KB, patch)
2022-02-24 16:05 PST, Elliott Williams
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Elliott Williams 2022-02-23 22:00:46 PST
[XCBuild] WTF's SPI dependencies are copied via a folder reference and do not emit task outputs
Comment 1 Elliott Williams 2022-02-23 22:17:44 PST
Created attachment 453074 [details]
Patch
Comment 2 Elliott Williams 2022-02-23 22:18:13 PST
rdar://board/58950
Comment 3 Elliott Williams 2022-02-23 22:32:27 PST
Created attachment 453075 [details]
Patch
Comment 4 Alexey Proskuryakov 2022-02-24 10:36:29 PST
Comment on attachment 453075 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=453075&action=review

> Source/WTF/WTF.xcodeproj/project.pbxproj:822
> +				"$(HEADER_OUTPUT_DIR)/$(INPUT_FILE_DIR:dir:standardizepath:base)/$(INPUT_FILE_DIR:base)/$(INPUT_FILE_NAME)",

Nice.

> Source/WTF/WTF.xcodeproj/project.pbxproj:825
> +			script = "cp -f \"${INPUT_FILE_PATH}\" \"${SCRIPT_OUTPUT_FILE_0}\"\n";

Not sure if this matters at all, but do we want to preserve timestamps?

> Source/WTF/WTF.xcodeproj/project.pbxproj:872
> -			dstSubFolderSpec = 0;
> +			dstSubfolderSpec = 0;

:-O
Comment 5 Elliott Williams 2022-02-24 10:57:32 PST
(In reply to Alexey Proskuryakov from comment #4)
> > Source/WTF/WTF.xcodeproj/project.pbxproj:825
> > +			script = "cp -f \"${INPUT_FILE_PATH}\" \"${SCRIPT_OUTPUT_FILE_0}\"\n";
> 
> Not sure if this matters at all, but do we want to preserve timestamps?

Xcode's native copy (PbxCp) only copies file contents, not metadata, so I am matching that behavior here. AFAIK, build systems typically don't preserve timestamps, because it would break use cases like two different source checkouts building to the same directory.
 
> > Source/WTF/WTF.xcodeproj/project.pbxproj:872
> > -			dstSubFolderSpec = 0;
> > +			dstSubfolderSpec = 0;
> 
> :-O

Oh no, I thought I had caught all of these! Some recent Xcode has changed the capitalization here, unfortunately.
Comment 6 Elliott Williams 2022-02-24 12:13:06 PST
(In reply to Elliott Williams from comment #5)
> (In reply to Alexey Proskuryakov from comment #4)
> > > Source/WTF/WTF.xcodeproj/project.pbxproj:872
> > > -			dstSubFolderSpec = 0;
> > > +			dstSubfolderSpec = 0;
> > 
> > :-O
> 
> Oh no, I thought I had caught all of these! Some recent Xcode has changed
> the capitalization here, unfortunately.

Looks like this is actually the other way around: the only project which used camel-cased "SubFolder" is WTF. I'll leave the renaming as-is to match our other pbxprojs.
Comment 7 EWS 2022-02-24 13:09:30 PST
Committed r290452 (247753@main): <https://commits.webkit.org/247753@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453075 [details].
Comment 8 Ryan Haddad 2022-02-24 15:27:18 PST
Reverted r290452 for reason:

Caused failues with clean builds

Committed r290471 (247770@trunk): <https://commits.webkit.org/247770@trunk>
Comment 9 Elliott Williams 2022-02-24 16:05:23 PST
Created attachment 453147 [details]
Patch for relanding

The original patch was missing a build rule for subdirectories of Scripts/, so Scripts/Preferences/* was being copied to /usr/local/include/Scripts.

Tested with a clean build locally.
Comment 10 EWS 2022-02-25 12:45:40 PST
Committed r290523 (247806@main): <https://commits.webkit.org/247806@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453147 [details].