mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-13 15:46:22 +00:00
67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Clean module for Nxtscape build system
|
|
"""
|
|
|
|
import os
|
|
import shutil
|
|
from pathlib import Path
|
|
from context import BuildContext
|
|
from utils import run_command, log_info, log_success, safe_rmtree
|
|
|
|
|
|
def clean(ctx: BuildContext) -> bool:
|
|
"""Clean build artifacts"""
|
|
log_info("🧹 Cleaning build artifacts...")
|
|
|
|
out_path = ctx.chromium_src / ctx.out_dir
|
|
if out_path.exists():
|
|
safe_rmtree(out_path)
|
|
log_success("Cleaned build directory")
|
|
|
|
log_info("\n🔀 Resetting git branch and removing all tracked files...")
|
|
git_reset(ctx)
|
|
|
|
log_info("\n🧹 Cleaning Sparkle build artifacts...")
|
|
clean_sparkle(ctx)
|
|
|
|
return True
|
|
|
|
|
|
def clean_sparkle(ctx: BuildContext) -> bool:
|
|
"""Clean Sparkle build artifacts"""
|
|
log_info("\n🧹 Cleaning Sparkle build artifacts...")
|
|
sparkle_dir = ctx.get_sparkle_dir()
|
|
if sparkle_dir.exists():
|
|
safe_rmtree(sparkle_dir)
|
|
log_success("Cleaned Sparkle build directory")
|
|
return True
|
|
|
|
|
|
def git_reset(ctx: BuildContext) -> bool:
|
|
"""Reset git branch and clean with exclusions"""
|
|
os.chdir(ctx.chromium_src)
|
|
run_command(["git", "reset", "--hard", "HEAD"])
|
|
os.chdir(ctx.root_dir)
|
|
|
|
log_info("\n🧹 Running git clean with exclusions for important directories...")
|
|
os.chdir(ctx.chromium_src)
|
|
run_command(
|
|
[
|
|
"git",
|
|
"clean",
|
|
"-fdx",
|
|
"chrome/",
|
|
"components/",
|
|
"--exclude=third_party/",
|
|
"--exclude=build_tools/",
|
|
"--exclude=uc_staging/",
|
|
"--exclude=buildtools/",
|
|
"--exclude=tools/",
|
|
"--exclude=build/",
|
|
]
|
|
)
|
|
os.chdir(ctx.root_dir)
|
|
log_success("Git reset and clean complete")
|
|
return True
|