tools
Easyconfig module that provides functionality for dealing with easyconfig (.eb) files, alongside the EasyConfig class to represent parsed easyconfig files.
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)
- Fotis Georgatos (Uni.Lu, NTUA)
- Ward Poelmans (Ghent University)
            alt_easyconfig_paths(tmpdir, tweaked_ecs=False, from_prs=None, from_commit=None, review_pr=None)
¶
    Obtain alternative paths for easyconfig files.
            avail_easyblocks()
¶
    Return a list of all available easyblocks.
            categorize_files_by_type(paths)
¶
    Splits list of filepaths into a 4 separate lists: easyconfigs, files to delete, patch files and files with extension .py
            check_sha256_checksums(ecs, whitelist=None)
¶
    Check whether all provided (parsed) easyconfigs have SHA256 checksums for sources & patches.
| PARAMETER | DESCRIPTION | 
|---|---|
| whitelist | list of regex patterns on easyconfig filenames; check is skipped for matching easyconfigs 
                  
                    DEFAULT:
                       | 
| RETURNS | DESCRIPTION | 
|---|---|
| list of strings describing checksum issues (missing checksums, wrong checksum type, etc.) | 
            dep_graph(filename, specs)
¶
    Create a dependency graph for the given easyconfigs.
            det_copy_ec_specs(orig_paths, from_pr=None, from_commit=None)
¶
    Determine list of paths + target directory for --copy-ec.
            det_easyconfig_paths(orig_paths)
¶
    Determine paths to easyconfig files.
| PARAMETER | DESCRIPTION | 
|---|---|
| orig_paths | list of original easyconfig paths 
 | 
| RETURNS | DESCRIPTION | 
|---|---|
| list of paths to easyconfig files | 
            dump_env_script(easyconfigs)
¶
    Dump source scripts that set up build environment for specified easyconfigs.
| PARAMETER | DESCRIPTION | 
|---|---|
| easyconfigs | list of easyconfigs to generate scripts for 
 | 
            find_related_easyconfigs(path, ec)
¶
    Find related easyconfigs for provided parsed easyconfig in specified path.
A list of easyconfigs for the same software (name) is returned, matching the 1st criterion that yields a non-empty list.
The following criteria are considered (in this order) next to common software version criterion, i.e. exact version match, a major/minor version match, a major version match, or no version match (in that order).
(i) matching versionsuffix and toolchain name/version (ii) matching versionsuffix and toolchain name (any toolchain version) (iii) matching versionsuffix (any toolchain name/version) (iv) matching toolchain name/version (any versionsuffix) (v) matching toolchain name (any versionsuffix, toolchain version) (vi) no extra requirements (any versionsuffix, toolchain name/version)
If no related easyconfigs with a matching software name are found, an empty list is returned.
            find_resolved_modules(easyconfigs, avail_modules, modtool, retain_all_deps=False)
¶
    Find easyconfigs in 1st argument which can be fully resolved using modules specified in 2nd argument
| PARAMETER | DESCRIPTION | 
|---|---|
| easyconfigs | list of parsed easyconfigs 
 | 
| avail_modules | list of available modules 
 | 
| retain_all_deps | retain all dependencies, regardless of whether modules are available for them or not 
                  
                    DEFAULT:
                       | 
            get_paths_for(subdir=EASYCONFIGS_PKG_SUBDIR, robot_path=None)
¶
    Return a list of absolute paths where the specified subdir can be found, determined by the PYTHONPATH
            parse_easyconfigs(paths, validate=True)
¶
    Parse easyconfig files
| PARAMETER | DESCRIPTION | 
|---|---|
| paths | paths to easyconfigs 
 | 
            review_pr(paths=None, pr=None, colored=True, branch='develop', testing=False, max_ecs=None, filter_ecs=None)
¶
    Print multi-diff overview between specified easyconfigs or PR and specified branch.
| PARAMETER | DESCRIPTION | 
|---|---|
| pr | pull request number in easybuild-easyconfigs repo to review 
                  
                    DEFAULT:
                       | 
| paths | path tuples (path, generated) of easyconfigs to review 
                  
                    DEFAULT:
                       | 
| colored | boolean indicating whether a colored multi-diff should be generated 
                  
                    DEFAULT:
                       | 
| branch | easybuild-easyconfigs branch to compare with 
                  
                    DEFAULT:
                       | 
| testing | whether to ignore PR labels (used in test_review_pr) 
                  
                    DEFAULT:
                       | 
            run_contrib_checks(ecs)
¶
    Run contribution check on specified easyconfigs.
            skip_available(easyconfigs, modtool)
¶
    Skip building easyconfigs for existing modules.
            stats_to_str(stats, isyeb=False)
¶
    Pretty print build statistics to string.