import os.path
import shutil
import utils
log = utils.stream_logger()
def run_clean(root_dir, args):
args = {
"root_dir": root_dir,
"skip_vendor": args.skip_vendor,
"skip_change": args.skip_change,
}
log.info("Start to clean vendor cache and component build cache")
vendor_path = os.path.join(root_dir, "vendor")
common_path = os.path.join(root_dir, "common")
source_path = os.path.join(root_dir, "functionsystem")
if not args["skip_vendor"]:
vendor_list = [
os.path.join(vendor_path, "build"),
os.path.join(vendor_path, "output"),
os.path.join(vendor_path, "src", "etcd", "bin"),
]
for folder in vendor_list:
shutil.rmtree(folder, ignore_errors=True)
if not args["skip_change"]:
utils.sync_command(["git", "clean", "-dffx"], cwd=root_dir)
output_list = [
os.path.join(source_path, "build"),
os.path.join(source_path, "output"),
os.path.join(common_path, "logs", "build"),
os.path.join(common_path, "logs", "output"),
os.path.join(common_path, "litebus", "build"),
os.path.join(common_path, "litebus", "output"),
os.path.join(common_path, "metrics", "build"),
os.path.join(common_path, "metrics", "output"),
]
for folder in output_list:
shutil.rmtree(folder, ignore_errors=True)