easybuild.tools.robot module

Dependency resolution functionality, a.k.a. robot.

author:Stijn De Weirdt (Ghent University)
author:Dries Verdegem (Ghent University)
author:Kenneth Hoste (Ghent University)
author:Pieter De Baets (Ghent University)
author:Jens Timmerman (Ghent University)
author:Toon Willems (Ghent University)
author: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.

  • 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

True if one or more conflicts were found, False otherwise

easybuild.tools.robot.det_robot_path(robot_paths_option, tweaked_ecs_paths, pr_path, 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.resolve_dependencies(easyconfigs, modtool, retain_all_deps=False)

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 False
easybuild.tools.robot.search_easyconfigs(query, short=False, filename_only=False, terse=False)

Search for easyconfigs, if a query is provided.