Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f625fb7fe0d38a12c76a175fc74a65f34441288
      
https://github.com/WebKit/WebKit/commit/3f625fb7fe0d38a12c76a175fc74a65f34441288
  Author: Elliott Williams <[email protected]>
  Date:   2026-03-26 (Thu, 26 Mar 2026)

  Changed paths:
    M Source/JavaScriptCore/Scripts/generate-unified-sources.sh
    A Source/WTF/Scripts/generate-unified-source-bundles.py
    R Source/WTF/Scripts/generate-unified-source-bundles.rb
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/CMakeLists.txt
    M Source/WebCore/Scripts/generate-unified-sources.sh
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebKit/Scripts/generate-unified-sources.sh
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/scripts/generate-unified-sources.sh
    M Source/cmake/WebKitMacros.cmake
    M Tools/Scripts/filter-build-webkit
    M Tools/TestWebKitAPI/Scripts/generate-unified-sources.sh
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [Build] Rewrite generate-unified-sources in Python
https://bugs.webkit.org/show_bug.cgi?id=310723
rdar://173342223

Reviewed by Darin Adler.

A faithful 1:1 port of the Ruby script to Python, which produces
byte-identical output during the build. The overall data structures and
control flow are the same, and the major refactors are to use some
Python stdlib classes that are higher level than what's available in
Ruby, namely `ArgumentParser` and `pathlib.Path`.

Works towards future enhancements to the bundling algorithm, which will
be easier to write, test, and typecheck in Python.

* Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
* Source/WTF/Scripts/generate-unified-source-bundles.py: Added.
(log):
(bundle_prefix_and_size_for_path):
(SourceFile):
(SourceFile.__init__):
(SourceFile.sort_key):
(SourceFile.derived):
(SourceFile.__str__):
(SourceFile.__repr__):
(BundleManager):
(BundleManager.__init__):
(BundleManager.write_file):
(BundleManager.bundle_file_name):
(BundleManager.flush):
(BundleManager.flush_to_max):
(BundleManager.add_file):
(process_file_for_unified_source_generation):
(parse_args):
(main):
* Source/WTF/Scripts/generate-unified-source-bundles.rb: Removed.
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/CMakeLists.txt:
* Source/WebCore/Scripts/generate-unified-sources.sh:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebKit/Scripts/generate-unified-sources.sh:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/scripts/generate-unified-sources.sh:
* Source/cmake/WebKitMacros.cmake:
* Tools/Scripts/filter-build-webkit:
(main):
* Tools/TestWebKitAPI/Scripts/generate-unified-sources.sh:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to