easybuild.tools.robot module¶
Dependency resolution functionality, a.k.a. robot.
Authors:
- Stijn De Weirdt (Ghent University)
- Dries Verdegem (Ghent University)
- Kenneth Hoste (Ghent University)
- Pieter De Baets (Ghent University)
- Jens Timmerman (Ghent University)
- Toon Willems (Ghent University)
- Ward Poelmans (Ghent University)
-
easybuild.tools.robot.check_conflicts(easyconfigs, modtool, check_inter_ec_conflicts=True)¶ Check for conflicts in dependency graphs for specified easyconfigs.
Parameters: - easyconfigs – list of easyconfig files (EasyConfig instances) to check for conflicts
- modtool – ModulesTool instance to use
- check_inter_ec_conflicts – also check for conflicts between (dependencies of) listed easyconfigs
Returns: True if one or more conflicts were found, False otherwise
-
easybuild.tools.robot.det_robot_path(robot_paths_option, tweaked_ecs_paths, pr_paths, auto_robot=False)¶ Determine robot path.
-
easybuild.tools.robot.dry_run(easyconfigs, modtool, short=False)¶ Compose dry run overview for supplied easyconfigs: * [ ] for unavailable * [x] for available * [F] for forced * [R] for rebuild :param easyconfigs: list of parsed easyconfigs (EasyConfig instances) :param modtool: ModulesTool instance to use :param short: use short format for overview: use a variable for common prefixes
-
easybuild.tools.robot.missing_deps(easyconfigs, modtool)¶ Determine subset of easyconfigs for which no module is installed yet.
-
easybuild.tools.robot.raise_error_missing_deps(missing_deps, extra_msg=None)¶ Raise error to report missing dependencies.
-
easybuild.tools.robot.resolve_dependencies(easyconfigs, modtool, retain_all_deps=False, raise_error_missing_ecs=True)¶ Work through the list of easyconfigs to determine an optimal order :param easyconfigs: list of easyconfigs :param modtool: ModulesTool instance to use :param retain_all_deps: boolean indicating whether all dependencies must be retained, regardless of availability;
retain all deps when True, check matching build option when FalseParameters: raise_error_missing_ecs – raise an error when one or more easyconfig files could not be found
-
easybuild.tools.robot.search_easyconfigs(query, short=False, filename_only=False, terse=False, consider_extra_paths=True, print_result=True, case_sensitive=False)¶ Search for easyconfigs, if a query is provided.
Parameters: - query – regex query string
- short – figure out common prefix of hits, use variable to factor it out
- filename_only – only print filenames, not paths
- terse – stick to terse (machine-readable) output, as opposed to pretty-printing
- consider_extra_paths – consider all paths when searching
- print_result – print the list of easyconfigs
- case_sensitive – boolean to decide whether search is case sensitive
Returns: return a list of paths for the query