robot
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)
check_conflicts(easyconfigs, modtool, check_inter_ec_conflicts=True)
¶
Check for conflicts in dependency graphs for specified easyconfigs.
PARAMETER | DESCRIPTION |
---|---|
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
DEFAULT:
|
RETURNS | DESCRIPTION |
---|---|
True if one or more conflicts were found, False otherwise |
det_robot_path(robot_paths_option, tweaked_ecs_paths, extra_ec_paths, auto_robot=False)
¶
Determine robot path.
dry_run(easyconfigs, modtool, short=False)
¶
Compose dry run overview for supplied easyconfigs: * [ ] for unavailable * [x] for available * [F] for forced * [R] for rebuild
PARAMETER | DESCRIPTION |
---|---|
easyconfigs |
list of parsed easyconfigs (EasyConfig instances)
|
modtool |
ModulesTool instance to use
|
short |
use short format for overview: use a variable for common prefixes
DEFAULT:
|
missing_deps(easyconfigs, modtool, terse=False)
¶
Determine subset of easyconfigs for which no module is installed yet.
raise_error_missing_deps(missing_deps, extra_msg=None)
¶
Raise error to report missing dependencies.
resolve_dependencies(easyconfigs, modtool, retain_all_deps=False, raise_error_missing_ecs=True)
¶
Work through the list of easyconfigs to determine an optimal order
PARAMETER | DESCRIPTION |
---|---|
easyconfigs |
list of easyconfigs
|
modtool |
ModulesTool instance to use
|
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
DEFAULT:
|
raise_error_missing_ecs |
raise an error when one or more easyconfig files could not be found
DEFAULT:
|
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.
PARAMETER | DESCRIPTION |
---|---|
query |
regex query string
|
short |
figure out common prefix of hits, use variable to factor it out
DEFAULT:
|
filename_only |
only print filenames, not paths
DEFAULT:
|
terse |
stick to terse (machine-readable) output, as opposed to pretty-printing
DEFAULT:
|
consider_extra_paths |
consider all paths when searching
DEFAULT:
|
print_result |
print the list of easyconfigs
DEFAULT:
|
case_sensitive |
boolean to decide whether search is case sensitive
DEFAULT:
|
RETURNS | DESCRIPTION |
---|---|
return a list of paths for the query |