mirror of
https://github.com/Alex313031/thorium.git
synced 2025-01-09 11:27:32 -03:00
ce732accf6
1.Move *.bat files to //win_scripts/old. These files have not been updated for a long time and are not convenient to use. 2.Rewrite some sh files with python, currently only for the parts applicable to Windows. 3.Some other related changes.
85 lines
2.2 KiB
Python
85 lines
2.2 KiB
Python
# Copyright (c) 2024 Alex313031, midzer and gz83.
|
|
|
|
"""
|
|
This file is the equivalent of trunk.sh in the parent folder, but for native
|
|
builds on Windows, we do not need to deal with the vs artifacts hash.
|
|
"""
|
|
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def fail(msg):
|
|
# Print error message and exit
|
|
print(f"{sys.argv[0]}: {msg}", file=sys.stderr)
|
|
sys.exit(111)
|
|
|
|
|
|
def try_run(command):
|
|
# Execute a command and exit on failure
|
|
try:
|
|
subprocess.run(command, shell=True, check=True)
|
|
except subprocess.CalledProcessError:
|
|
fail(f"Failed {command}")
|
|
|
|
|
|
def safe_rmtree(path):
|
|
# Remove a directory if it exists
|
|
path = os.path.normpath(path)
|
|
if os.path.exists(path):
|
|
print(f"Removing: {path}")
|
|
shutil.rmtree(path)
|
|
|
|
|
|
# --help
|
|
def display_help():
|
|
print(f"\nScript to Rebase/Sync the Chromium repo.\n")
|
|
|
|
if '--help' in sys.argv:
|
|
display_help()
|
|
sys.exit(0)
|
|
|
|
|
|
# Set chromium/src dir from Windows environment variable
|
|
cr_src_dir = os.getenv('CR_DIR', r'C:/src/chromium/src')
|
|
# Thorium-specific directory that need to be deleted
|
|
pak_dir = os.path.normpath(os.path.join(cr_src_dir, "third_party", "pak"))
|
|
|
|
|
|
def main():
|
|
|
|
print("\nScript to Rebase/Sync the Chromium repo.\n")
|
|
print(f"Rebasing/Syncing and running hooks in {cr_src_dir}\n")
|
|
|
|
# Change directory to cr_src_dir and run commands
|
|
os.chdir(cr_src_dir)
|
|
|
|
# Remove Thorium-specific directory if it exists
|
|
safe_rmtree(pak_dir)
|
|
|
|
# Commands to run
|
|
commands = [
|
|
'cd v8 && git restore . && git clean -ffd',
|
|
'cd third_party/devtools-frontend/src && git restore . && git clean -ffd',
|
|
'cd third_party/ffmpeg && git restore . && git clean -ffd',
|
|
'git checkout -f origin/main',
|
|
'git clean -ffd',
|
|
'git clean -ffd',
|
|
'git rebase-update',
|
|
'git fetch --tags',
|
|
'gclient sync --with_branch_heads --with_tags -f -R -D',
|
|
'git clean -ffd',
|
|
'gclient runhooks'
|
|
]
|
|
|
|
# Run each command with error handling
|
|
for cmd in commands:
|
|
try_run(cmd)
|
|
|
|
print("\nDone! You can now run version.py.\n")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|