ca75bca667
* chore: bump chromium in DEPS to 520c02b46668fc608927e0fcd79b6a90885a48bf * chore: bump chromium in DEPS to 90.0.4414.0 * resolve chromium conflicts * resolve v8 conflicts * fix node gn files * 2673502: Remove RenderViewCreated use from ExtensionHost. https://chromium-review.googlesource.com/c/chromium/src/+/2673502 * 2676903: [mojo] Remove most legacy Binding classes. https://chromium-review.googlesource.com/c/chromium/src/+/2676903 * 2644847: Move self-deleting URLLoaderFactory base into //services/network. https://chromium-review.googlesource.com/c/chromium/src/+/2644847 * 2664006: Remove from mojo::DataPipe. https://chromium-review.googlesource.com/c/chromium/src/+/2664006 * 2674530: Remove CertVerifierService feature https://chromium-review.googlesource.com/c/chromium/src/+/2674530 * 2668748: Move OnSSLCertificateError to a new interface. https://chromium-review.googlesource.com/c/chromium/src/+/2668748 * 2672923: Remove RAPPOR reporting infrastructure. https://chromium-review.googlesource.com/c/chromium/src/+/2672923 * 2673502: Remove RenderViewCreated use from ExtensionHost. https://chromium-review.googlesource.com/c/chromium/src/+/2673502 * 2655126: Convert FrameHostMsg_ContextMenu and FrameMsg_ContextMenuClosed|CustomContextMenuAction to Mojo https://chromium-review.googlesource.com/c/chromium/src/+/2655126 * 2628705: Window Placement: Implement screen.isExtended and change event https://chromium-review.googlesource.com/c/chromium/src/+/2628705 * 2643161: Refactor storage::kFileSystem*Native* https://chromium-review.googlesource.com/c/chromium/src/+/2643161 * fix build * only remove the biggest subdir of //ios * chore: bump chromium in DEPS to 90.0.4415.0 * update patches * update sysroots * 2686147: Remove WebContentsObserver::RenderViewCreated(). https://chromium-review.googlesource.com/c/chromium/src/+/2686147 * 2596429: Fixing how extension's split and spanning modes affect OriginAccessList. https://chromium-review.googlesource.com/c/chromium/src/+/2596429 * 2686026: [mojo] Delete AssociatedInterfacePtr (replaced by AssociatedRemote) https://chromium-review.googlesource.com/c/chromium/src/+/2686026 * 2651705: Move ui/base/dragdrop/file_info to ui/base/clipboard https://chromium-review.googlesource.com/c/chromium/src/+/2651705 * 358217: drawBitmap is deprecated https://skia-review.googlesource.com/c/skia/+/358217 * fix gn check * 2678098: Use gen/front_end as input to generate_devtools_grd https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2678098 * 2674530: Remove CertVerifierService feature https://chromium-review.googlesource.com/c/chromium/src/+/2674530 * fixup 2664006: Remove from mojo::DataPipe. https://chromium-review.googlesource.com/c/chromium/src/+/2664006 * fixup build_add_electron_tracing_category.patch * 2673415: [base] Prepare CrashReporterClient for string16 switch https://chromium-review.googlesource.com/c/chromium/src/+/2673415 * 2673413: Add CursorFactoryWin to handle Cursors on Windows https://chromium-review.googlesource.com/c/chromium/src/+/2673413 * 2668748: Move OnSSLCertificateError to a new interface. https://chromium-review.googlesource.com/c/chromium/src/+/2668748 * fix mas gn check * update patch after merge * Update node for .mjs files * build: load v8_prof_processor dependencies as ESM * chore: add patch to fix linux 32bit Co-authored-by: Jeremy Rose <nornagon@nornagon.net> Co-authored-by: Jeremy Rose <jeremya@chromium.org> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
109 lines
3.4 KiB
Python
109 lines
3.4 KiB
Python
#!/usr/bin/env python
|
|
from __future__ import print_function
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
import zipfile
|
|
|
|
EXTENSIONS_TO_SKIP = [
|
|
'.pdb',
|
|
'.mojom.js',
|
|
'.mojom-lite.js',
|
|
'.info',
|
|
'.m.js'
|
|
]
|
|
|
|
PATHS_TO_SKIP = [
|
|
# Skip because it is an output of //ui/gl that we don't need.
|
|
'angledata',
|
|
# Skip because these are outputs that we don't need.
|
|
'./libVkICD_mock_',
|
|
# Skip because these are outputs that we don't need.
|
|
'./VkICD_mock_',
|
|
# Skip because its an output of create_bundle from
|
|
# //build/config/mac/rules.gni that we don't need
|
|
'Electron.dSYM',
|
|
# Refs https://chromium-review.googlesource.com/c/angle/angle/+/2425197.
|
|
# Remove this when Angle themselves remove the file:
|
|
# https://issuetracker.google.com/issues/168736059
|
|
'gen/angle/angle_commit.h',
|
|
# //chrome/browser:resources depends on this via
|
|
# //chrome/browser/resources/ssl/ssl_error_assistant, but we don't need to
|
|
# ship it.
|
|
'pyproto',
|
|
# On Windows, this binary doesn't exist (the crashpad handler is built-in).
|
|
# On MacOS, the binary is called 'chrome_crashpad_handler' and is inside the
|
|
# app bundle.
|
|
# On Linux, we don't use crashpad, but this binary is still built for some
|
|
# reason. Exclude it from the zip.
|
|
'./crashpad_handler',
|
|
# Skip because these are outputs that we don't need.
|
|
'resources/inspector',
|
|
'gen/third_party/devtools-frontend/src'
|
|
]
|
|
|
|
def skip_path(dep, dist_zip, target_cpu):
|
|
# Skip specific paths and extensions as well as the following special case:
|
|
# snapshot_blob.bin is a dependency of mksnapshot.zip because
|
|
# v8_context_generator needs it, but this file does not get generated for arm
|
|
# and arm 64 binaries of mksnapshot since they are built on x64 hardware.
|
|
# Consumers of arm and arm64 mksnapshot can generate snapshot_blob.bin
|
|
# themselves by running mksnapshot.
|
|
should_skip = (
|
|
any(dep.startswith(path) for path in PATHS_TO_SKIP) or
|
|
any(dep.endswith(ext) for ext in EXTENSIONS_TO_SKIP) or
|
|
(
|
|
"arm" in target_cpu
|
|
and dist_zip == "mksnapshot.zip"
|
|
and dep == "snapshot_blob.bin"
|
|
)
|
|
)
|
|
if should_skip:
|
|
print("Skipping {}".format(dep))
|
|
return should_skip
|
|
|
|
def execute(argv):
|
|
try:
|
|
output = subprocess.check_output(argv, stderr=subprocess.STDOUT)
|
|
return output
|
|
except subprocess.CalledProcessError as e:
|
|
print(e.output)
|
|
raise e
|
|
|
|
def main(argv):
|
|
dist_zip, runtime_deps, target_cpu, _, flatten_val = argv
|
|
should_flatten = flatten_val == "true"
|
|
dist_files = set()
|
|
with open(runtime_deps) as f:
|
|
for dep in f.readlines():
|
|
dep = dep.strip()
|
|
if not skip_path(dep, dist_zip, target_cpu):
|
|
dist_files.add(dep)
|
|
if sys.platform == 'darwin' and not should_flatten:
|
|
execute(['zip', '-r', '-y', dist_zip] + list(dist_files))
|
|
else:
|
|
with zipfile.ZipFile(
|
|
dist_zip, 'w', zipfile.ZIP_DEFLATED, allowZip64=True
|
|
) as z:
|
|
for dep in dist_files:
|
|
if os.path.isdir(dep):
|
|
for root, _, files in os.walk(dep):
|
|
for filename in files:
|
|
z.write(os.path.join(root, filename))
|
|
else:
|
|
basename = os.path.basename(dep)
|
|
dirname = os.path.dirname(dep)
|
|
arcname = (
|
|
os.path.join(dirname, 'chrome-sandbox')
|
|
if basename == 'chrome_sandbox'
|
|
else dep
|
|
)
|
|
z.write(
|
|
dep,
|
|
os.path.basename(arcname)
|
|
if should_flatten
|
|
else arcname,
|
|
)
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main(sys.argv[1:]))
|