Skip to content

main

Main entry point for EasyBuild: build software from .eb input file

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)
  • Fotis Georgatos (Uni.Lu, NTUA)
  • Maxime Boissonneault (Compute Canada)

build_and_install_software(ecs, init_session_state, exit_on_failure=True)

Build and install software for all provided parsed easyconfig files.

PARAMETER DESCRIPTION
ecs

easyconfig files to install software with

init_session_state

initial session state, to use in test reports

exit_on_failure

whether or not to exit on installation failure

DEFAULT: True

clean_exit(logfile, tmpdir, testing, silent=False)

Small utility function to perform a clean exit.

find_easyconfigs_by_specs(build_specs, robot_path, try_to_generate, testing=False)

Find easyconfigs by build specifications.

main(args=None, logfile=None, do_build=None, testing=False, modtool=None, prepared_cfg_data=None)

Main function: parse command line options, and act accordingly.

PARAMETER DESCRIPTION
args

command line arguments to use

DEFAULT: None

logfile

log file to use

DEFAULT: None

do_build

whether or not to actually perform the build

DEFAULT: None

testing

enable testing mode

DEFAULT: False

prepared_cfg_data

prepared configuration data for main function, as returned by prepare_main (or None)

DEFAULT: None

prepare_main(args=None, logfile=None, testing=None)

Prepare for calling main function by setting up the EasyBuild configuration

PARAMETER DESCRIPTION
args

command line arguments to take into account when parsing the EasyBuild configuration settings

DEFAULT: None

logfile

log file to use

DEFAULT: None

testing

enable testing mode

DEFAULT: None

RETURNS DESCRIPTION

3-tuple with initial session state data, EasyBuildOptions instance, and tuple with configuration settings

process_easystack(easystack_path, args, logfile, testing, init_session_state, do_build)

Process an EasyStack file. That means, parsing, looping over all items in the EasyStack file building (where requested) the individual items, etc

PARAMETER DESCRIPTION
easystack_path

path to EasyStack file to be processed

args

original command line arguments as received by main()

logfile

log file to use

testing

enable testing mode

init_session_state

initial session state, to use in test reports

do_build

whether or not to actually perform the build

process_eb_args(eb_args, eb_go, cfg_settings, modtool, testing, init_session_state, hooks, do_build)

Remainder of main function, actually process provided arguments (list of files/paths), according to specified options.

PARAMETER DESCRIPTION
eb_args

list of arguments that were specified to 'eb' command (or an easystack file); includes filenames/paths of files to process (mostly easyconfig files, but can also includes patch files, etc.)

eb_go

EasyBuildOptions instance (option parser)

cfg_settings

as returned by set_up_configuration

modtool

the modules tool, as returned by modules_tool()

testing

bool whether we're running in test mode

init_session_state

initial session state, to use in test reports

hooks

hooks, as loaded by load_hooks from the options

do_build

whether or not to actually perform the build

run_contrib_style_checks(ecs, check_contrib, check_style)

Handle running of contribution and style checks on specified easyconfigs (if desired).

RETURNS DESCRIPTION

boolean indicating whether or not any checks were actually performed