def main(args: argparse.Namespace) -> None: pytest_cases = [] for path in args.paths: pytest_cases += get_pytest_cases(path, args.target) paths = set() app_configs = defaultdict(set) for case in pytest_cases: paths.add(case.app_path) app_configs[case.app_path].add(case.config) app_dirs = list(paths) if not app_dirs: raise RuntimeError('No apps found') logging.info(f'Found {len(app_dirs)} apps') app_dirs.sort() # Find compatible configurations of each app, collect them as BuildItems build_items: List[BuildItem] = [] config_rules = config_rules_from_str(args.config or []) for app_dir in app_dirs: app_dir = os.path.realpath(app_dir) build_items += find_builds_for_app( app_path=app_dir, work_dir=app_dir, build_dir='build_@t_@w', build_log=f'{app_dir}/build_@t_@w/build.log', target_arg=args.target, build_system='cmake', config_rules=config_rules, ) modified_build_items = [] # auto clean up the binaries if no flag --preserve-all for item in build_items: is_test_related = item.config_name in app_configs[item.app_dir] if args.test_only and not is_test_related: logging.info(f'Skipping non-test app: {item}') continue copied_item = copy.deepcopy(item) if not args.preserve_all and not is_test_related: copied_item.preserve = False modified_build_items.append(copied_item) logging.info(f'Found {len(modified_build_items)} builds') modified_build_items.sort(key=lambda x: x.build_path) # type: ignore build_apps( build_items=modified_build_items, parallel_count=args.parallel_count, parallel_index=args.parallel_index, dry_run=False, build_verbose=args.build_verbose, keep_going=True, output_build_list=None, size_info=args.size_info, )
def run(build, pkgs): log = "Build started at: %s\n" %datetime.now() SafeWriteFile(build_log, log) SafeWriteFile(build_err, '') create_mmps(build, pkgs) create_engine_mmps(build) log = "Build engines started at: %s\n" %datetime.now() SafeWriteFile(build_log, log, 'a') build_mmp() log = "Build engines ended at: %s\n" %datetime.now() SafeWriteFile(build_log, log, 'a') build_apps(pkgs) create_installers(pkgs)
def run(build, pkgs, only_begotten_engine=None): log = "Build started at: %s\n" % datetime.now() SafeWriteFile(build_log, log) SafeWriteFile(build_err, '') create_mmps(build, pkgs) create_engine_mmps(build) parse_codecs() parse_base() log = "Build engines started at: %s\n" % datetime.now() SafeWriteFile(build_log, log, 'a') if only_begotten_engine: minimal_whitelist(build_log) build_mmp(only_begotten_engine) log = "Build engines ended at: %s\n" % datetime.now() SafeWriteFile(build_log, log, 'a') build_apps(pkgs) create_installers(pkgs)
def run(build, pkgs, only_begotten_engine=None): log = "Build started at: %s\n" % time.ctime() SafeWriteFile(build_log, log) SafeWriteFile(build_err, '') Generate_ScummVm_hrh(build) create_mmps(build, pkgs) create_engine_mmps(build) parse_codecs(pkgs) parse_base() parse_lua() parse_gamedata(build, pkgs) SafeWriteFile(build_log, log, 'a') if only_begotten_engine: minimal_whitelist(build_log) build_mmp(only_begotten_engine) log = "Build engines ended at: %s\n" % time.ctime() SafeWriteFile(build_log, log, 'a') build_apps(pkgs) create_installers(pkgs)
def main(args: argparse.Namespace) -> None: if args.all_pytest_apps: paths = get_pytest_dirs(IDF_PATH, args.under_dir) args.recursive = True elif args.paths is None: paths = [os.getcwd()] else: paths = args.paths app_dirs = [] for path in paths: app_dirs += find_apps(CMakeBuildSystem, path, args.recursive, [], args.target) if not app_dirs: logging.error('No apps found') sys.exit(1) logging.info('Found {} apps'.format(len(app_dirs))) app_dirs.sort() # Find compatible configurations of each app, collect them as BuildItems build_items: List[BuildItem] = [] config_rules = config_rules_from_str(args.config or []) for app_dir in app_dirs: app_dir = os.path.realpath(app_dir) build_items += find_builds_for_app( app_dir, app_dir, 'build_@t_@w', f'{app_dir}/build_@t_@w/build.log', args.target, 'cmake', config_rules, True, ) logging.info('Found {} builds'.format(len(build_items))) build_items.sort(key=lambda x: x.build_path) # type: ignore build_apps(build_items, args.parallel_count, args.parallel_index, False, args.build_verbose, True, None, args.size_info)