Skip to content
Permalink
Browse files
[XCBuild] Refactor WebKit resources to emit output tasks for dependen…
…cy validation

https://bugs.webkit.org/show_bug.cgi?id=239556

Reviewed by Alexey Proskuryakov.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  * Replace the script phase that calls generate-automation-atom.py with
    a build rule, and process those files as headers.
  * Clean up references and project metadata for deleted files.
  * Use WK_FRAMEWORK_VERSION_PREFIX in script output paths so that the
    realpaths are correct on macOS.

Canonical link: https://commits.webkit.org/249974@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
emw-apple committed Apr 26, 2022
1 parent 2ad8586 commit 0ff6aacbc535fd107560dd3c2b0c8e5356289484
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 26 deletions.
@@ -1,3 +1,17 @@
2022-04-21 Elliott Williams <emw@apple.com>

[XCBuild] Refactor WebKit resources to emit output tasks for dependency validation
https://bugs.webkit.org/show_bug.cgi?id=239556

Reviewed by Alexey Proskuryakov.

* WebKit/WebKit.xcodeproj/project.pbxproj:
* Replace the script phase that calls generate-automation-atom.py with
a build rule, and process those files as headers.
* Clean up references and project metadata for deleted files.
* Use WK_FRAMEWORK_VERSION_PREFIX in script output paths so that the
realpaths are correct on macOS.

2022-04-25 Brent Fulgham <bfulgham@apple.com>

HARDENING: Add MESSAGE_CHECK in some Captive Portal cases
@@ -1352,7 +1352,6 @@
7B73124225CC8525003B2796 /* StreamConnectionEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B73123925CC8525003B2796 /* StreamConnectionEncoder.h */; };
7BAB111025DD02B3008FC479 /* ScopedActiveMessageReceiveQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BAB110F25DD02B2008FC479 /* ScopedActiveMessageReceiveQueue.h */; };
7BCF70DE2615D06E00E4FB70 /* ScopedRenderingResourcesRequestCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7BCF70CB2614935E00E4FB70 /* ScopedRenderingResourcesRequestCocoa.mm */; };
7BDDA3192747C0400038659E /* (null) in Headers */ = {isa = PBXBuildFile; };
7BE37F9327C7CA51007A6CD3 /* IPCStreamTesterIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BE37F9227C7C518007A6CD3 /* IPCStreamTesterIdentifier.h */; };
7BE9326327F5C75A00D5FEFB /* ReceiverMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BE9326227F5C75A00D5FEFB /* ReceiverMatcher.h */; };
7C065F2C1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C065F2A1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h */; };
@@ -1963,6 +1962,12 @@
CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */; };
D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484311FF4B6500032B39 /* WebPopupMenu.h */; };
D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484511FF4B6500032B39 /* WebSearchPopupMenu.h */; };
DD4DB786280F945A001700D4 /* ElementAttribute.js in Headers */ = {isa = PBXBuildFile; fileRef = 990657341F323CBF00944F9C /* ElementAttribute.js */; settings = {ATTRIBUTES = (Private, ); }; };
DD4DB787280F945E001700D4 /* ElementDisplayed.js in Headers */ = {isa = PBXBuildFile; fileRef = 990657331F323CBF00944F9C /* ElementDisplayed.js */; settings = {ATTRIBUTES = (Private, ); }; };
DD4DB788280F9471001700D4 /* EnterFullscreen.js in Headers */ = {isa = PBXBuildFile; fileRef = 99CA66C8203668220074F35E /* EnterFullscreen.js */; settings = {ATTRIBUTES = (Private, ); }; };
DD4DB789280F9471001700D4 /* FindNodes.js in Headers */ = {isa = PBXBuildFile; fileRef = 990657311F323CBF00944F9C /* FindNodes.js */; settings = {ATTRIBUTES = (Private, ); }; };
DD4DB78A280F9471001700D4 /* FormElementClear.js in Headers */ = {isa = PBXBuildFile; fileRef = 990657321F323CBF00944F9C /* FormElementClear.js */; settings = {ATTRIBUTES = (Private, ); }; };
DD4DB78B280F9471001700D4 /* FormSubmit.js in Headers */ = {isa = PBXBuildFile; fileRef = 990657351F323CBF00944F9C /* FormSubmit.js */; settings = {ATTRIBUTES = (Private, ); }; };
DDA0A27C27E55E4D005E086E /* DOMCSSImportRule.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA0A17C27E55E24005E086E /* DOMCSSImportRule.h */; settings = {ATTRIBUTES = (Public, ); }; };
DDA0A27D27E55E4D005E086E /* DOMMutationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA0A17D27E55E24005E086E /* DOMMutationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; };
DDA0A27E27E55E4D005E086E /* DOMText.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA0A17E27E55E24005E086E /* DOMText.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -2375,6 +2380,23 @@
);
script = "exec \"${SRCROOT}/Scripts/postprocess-header-rule\"\n";
};
DD4DB777280F91CA001700D4 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
filePatterns = "*/atoms/*.js";
fileType = pattern.proxy;
inputFiles = (
"$(SRCROOT)/Scripts/generate-automation-atom.py",
"$(SRCROOT)/UIProcess/Automation/atoms/utils.js",
);
isEditable = 1;
name = "Generate WebDriver Atoms";
outputFiles = (
"$(HEADER_OUTPUT_DIR)/atoms/$(INPUT_FILE_NAME)",
);
runOncePerArchitecture = 0;
script = "python3 \"${SCRIPT_INPUT_FILE_0}\" \"${INPUT_FILE_PATH}\" \"${SCRIPT_OUTPUT_FILE_0}\"\n";
};
DDA0A38427E56213005E086E /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
@@ -13770,7 +13792,6 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
7BDDA3192747C0400038659E /* (null) in Headers */,
37A5E01418BBF93F000A081E /* _WKActivatedElementInfo.h in Headers */,
379A873618BBFA4300588AF2 /* _WKActivatedElementInfoInternal.h in Headers */,
449316A325DC7DC400AA66DE /* _WKAppHighlight.h in Headers */,
@@ -13971,7 +13992,13 @@
2DD9EB2D1A6F012500BB1267 /* APINavigationClient.h in Headers */,
BCF69FA21176D01400471A52 /* APINavigationData.h in Headers */,
2DF9EEEE1A786EAD00B6CFBE /* APINavigationResponse.h in Headers */,
DD4DB788280F9471001700D4 /* EnterFullscreen.js in Headers */,
DD4DB789280F9471001700D4 /* FindNodes.js in Headers */,
DD4DB78A280F9471001700D4 /* FormElementClear.js in Headers */,
DD4DB78B280F9471001700D4 /* FormSubmit.js in Headers */,
7A1E2A851EEFE8920037A0E0 /* APINotificationProvider.h in Headers */,
DD4DB787280F945E001700D4 /* ElementDisplayed.js in Headers */,
DD4DB786280F945A001700D4 /* ElementAttribute.js in Headers */,
BC33DD681238464600360F3F /* APINumber.h in Headers */,
BC857FB512B830E600EDEB2E /* APIOpenPanelParameters.h in Headers */,
7C89D2981A6753B2003A5FDE /* APIPageConfiguration.h in Headers */,
@@ -15701,7 +15728,6 @@
2E16B6F42019BC25008996D6 /* Copy Additional Resources */,
8DC2EF520486A6940098B216 /* Resources */,
372589431C1E496800C92CA9 /* Copy Shims */,
99CA3862207286DB00BAD578 /* Copy WebDriver Atoms to Framework Private Headers */,
37E531011B2391090074F0DF /* Copy iOS Sandbox Profiles for Manual Sandboxing */,
1A07D2F71919B36500ECDA16 /* Copy Message Generation Scripts */,
F4CDF3CC27E918D900191928 /* Copy Profiling Data */,
@@ -15722,6 +15748,7 @@
6517571927C9B43A00D9FE40 /* Copy Frameworks to Secondary Path */,
);
buildRules = (
DD4DB777280F91CA001700D4 /* PBXBuildRule */,
DDF74C7827EE20C90011F633 /* PBXBuildRule */,
DDA0A38427E56213005E086E /* PBXBuildRule */,
535E08C422545B7200DF00CA /* PBXBuildRule */,
@@ -16114,9 +16141,9 @@
);
name = "Copy Custom WebContent Resources to Framework Private Headers";
outputPaths = (
"$(BUILT_PRODUCTS_DIR)/WebKit.framework/PrivateHeaders/CustomWebContentResources/WebContent.entitlements",
"$(BUILT_PRODUCTS_DIR)/WebKit.framework/PrivateHeaders/CustomWebContentResources/Info-WebContent.plist",
"$(BUILT_PRODUCTS_DIR)/WebKit.framework/PrivateHeaders/CustomWebContentResources/WebContentProcess.xib",
"$(BUILT_PRODUCTS_DIR)/WebKit.framework/$(WK_FRAMEWORK_VERSION_PREFIX)PrivateHeaders/CustomWebContentResources/WebContent.entitlements",
"$(BUILT_PRODUCTS_DIR)/WebKit.framework/$(WK_FRAMEWORK_VERSION_PREFIX)PrivateHeaders/CustomWebContentResources/Info-WebContent.plist",
"$(BUILT_PRODUCTS_DIR)/WebKit.framework/$(WK_FRAMEWORK_VERSION_PREFIX)PrivateHeaders/CustomWebContentResources/WebContentProcess.xib",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -16675,26 +16702,6 @@
shellPath = /bin/sh;
shellScript = "mkdir -p ${DSTROOT}/usr/local\n";
};
99CA3862207286DB00BAD578 /* Copy WebDriver Atoms to Framework Private Headers */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"$(SRCROOT)/UIProcess/Automation/atoms/ElementAttribute.js",
"$(SRCROOT)/UIProcess/Automation/atoms/ElementDisplayed.js",
"$(SRCROOT)/UIProcess/Automation/atoms/EnterFullscreen.js",
"$(SRCROOT)/UIProcess/Automation/atoms/FindNodes.js",
"$(SRCROOT)/UIProcess/Automation/atoms/FormElementClear.js",
"$(SRCROOT)/UIProcess/Automation/atoms/FormSubmit.js",
);
name = "Copy WebDriver Atoms to Framework Private Headers";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "DST_DIR=\"$TARGET_BUILD_DIR/$PRIVATE_HEADERS_FOLDER_PATH/atoms\"\nmkdir -p \"$DST_DIR\"\n\nfor ((i = 0; i < ${SCRIPT_INPUT_FILE_COUNT}; ++i)); do\n eval WEBDRIVER_ATOM=\\${SCRIPT_INPUT_FILE_${i}}\n python3 ${SRCROOT}/Scripts/generate-automation-atom.py \"${WEBDRIVER_ATOM}\" \"${DST_DIR}/${WEBDRIVER_ATOM##*/}\"\ndone\n";
};
A55DEAA61670402E003DB841 /* Check For Inappropriate Macros in External Headers */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;

0 comments on commit 0ff6aac

Please sign in to comment.