[webkit-changes] [WebKit/WebKit] 961540: [Xcode] Move WebKitLegacy's header migration logic...

Elliott Williams noreply at github.com
Wed Feb 22 18:55:08 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 961540b8e2eeb3788116bea395e2900cea7ebc6d
      https://github.com/WebKit/WebKit/commit/961540b8e2eeb3788116bea395e2900cea7ebc6d
  Author: Elliott Williams <emw at apple.com>
  Date:   2023-02-22 (Wed, 22 Feb 2023)

  Changed paths:
    R Source/WebKit/Scripts/migrate-headers.py
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    A Source/WebKitLegacy/MigratedHeaders-input.xcfilelist
    A Source/WebKitLegacy/MigratedHeaders-output.xcfilelist
    M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm
    M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig
    M Source/WebKitLegacy/scripts/migrate-header-rule
    A Source/WebKitLegacy/scripts/migrate-headers.py

  Log Message:
  -----------
  [Xcode] Move WebKitLegacy's header migration logic to a script phase
https://bugs.webkit.org/show_bug.cgi?id=252715

Reviewed by Alexey Proskuryakov.

Apply the same refactoring that was done for WebKit in 259916 at main.
Move the migrate-headers.py script to WebKitLegacy and use it to copy
headers from WebCore.

Unlike WebKit, which reexports WebKitLegacy, WebKitLegacy doesn't
formally reexport WebCore, so extra work is needed to tell TAPI about
the migrated headers. Use -extra-private-header to pass them to tapi.
This list must be maintained, but since the set of migrated headers is
stable and verified by TAPI, it should be a low maintenance burden. We
can change migrate-headers.py to generate a filelist once
rdar://102197642 is done.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj: Refer to
  migrate-headers.py from its new location in WebKitLegacy.
* Source/WebKitLegacy/MigratedHeaders-input.xcfilelist: Added.
* Source/WebKitLegacy/MigratedHeaders-output.xcfilelist: Added.
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
  - Remove "Migrated Headers" group.
  - Add migrate-headers.py script and the xcfilelists that power it.
  - Replace the migrate-header-rule build rule with a script phase that calls migrate-headers.py.
  - Update the "Generate Export Files" script phase to read a single
    `ReexportedFromWebCore.exp` file.
* Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm: I'm
  not exactly sure why, but the compiler now complains about some
  missing implementation methods in the stubbed-out
  WebInspectorFrontendClient for iOS. Add them.
(WebInspectorFrontendClient::supportsDiagnosticLogging):
(WebInspectorFrontendClient::logDiagnosticEvent):
(WebInspectorFrontendClient::canSave):
* Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig: Add
  -extra-private-header flags and leave FIXMEs about when to get rid of
  it.
* Source/WebKitLegacy/scripts/migrate-header-rule:
  - Stop creating forwarding headers. Because the migrated headers
    aren't part of WebKitLegacy's target, they aren't part of its
    headermap, which means we no longer need to support parsing
    unprocessed WebCore headers with other <WebCore/...> includes.
  - Instead of creating one export file per header, write them all to a
    single `ReexportedFromWebCore.exp`.
* Source/WebKitLegacy/scripts/migrate-headers.py: Renamed from Source/WebKit/Scripts/migrate-headers.py.

Canonical link: https://commits.webkit.org/260718@main




More information about the webkit-changes mailing list