55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
import os
 | 
						|
import argparse
 | 
						|
import sys
 | 
						|
 | 
						|
from scripts.build import run
 | 
						|
from scripts.context import Context
 | 
						|
from utils import SystemUtils
 | 
						|
from utils.logger_utils import init
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    parser = argparse.ArgumentParser(description='构建脚本')
 | 
						|
    parser.add_argument('--config', type=str, help='配置文件', default='build_config.json')
 | 
						|
 | 
						|
    args = parser.parse_args()
 | 
						|
    config_path = args.config
 | 
						|
    if not config_path.endswith('.json'):
 | 
						|
        config_path += '.json'
 | 
						|
 | 
						|
    print(config_path)
 | 
						|
 | 
						|
    if not os.path.exists(config_path):
 | 
						|
        print(f"输入的配置文件不存在 {config_path}")
 | 
						|
        sys.exit(0)
 | 
						|
 | 
						|
    context = Context.from_json(open(config_path, "r", encoding="UTF-8").read())
 | 
						|
 | 
						|
    if SystemUtils.is_windows():
 | 
						|
        context.project_original_path = context.project_original_path.replace("/", os.sep)
 | 
						|
        pass
 | 
						|
    logger = init()
 | 
						|
 | 
						|
    run(context)
 | 
						|
    # # 系统信息示例
 | 
						|
    # print(f"当前系统: {SystemUtils.get_platform_name()}")
 | 
						|
    # print(f"是Windows系统吗? {SystemUtils.is_windows()}")
 | 
						|
    #
 | 
						|
    # # 命令执行示例
 | 
						|
    # if SystemUtils.is_windows():
 | 
						|
    #     cmd = "echo Hello Windows"
 | 
						|
    # else:
 | 
						|
    #     cmd = "echo 'Hello Unix/Linux/macOS'"
 | 
						|
    #
 | 
						|
    # # 执行并获取输出
 | 
						|
    # return_code, output, error = CommandUtils.execute(cmd)
 | 
						|
    # print(f"\n命令执行结果:")
 | 
						|
    # print(f"返回码: {return_code}")
 | 
						|
    # print(f"输出: {output.strip()}")
 | 
						|
    # if error:
 | 
						|
    #     print(f"错误: {error}")
 | 
						|
    #
 | 
						|
    # # 实时输出示例
 | 
						|
    # print("\n实时输出示例:")
 | 
						|
    # CommandUtils.execute_with_real_time_output(
 | 
						|
    #     "ping -c 4 127.0.0.1" if not SystemUtils.is_windows() else "ping -n 4 127.0.0.1")
 |