Procedures

ProcedureLocationProcedure TypeDescription
acquire_lock cache_lock Function
cache_exists cache Function
check_stdin_available cli Subroutine
cleanup_stale_locks cache_lock Subroutine
cleanup_temp_dir temp_utils Subroutine
clear_cache cache Subroutine
create_temp_dir temp_utils Function
create_temp_file temp_utils Function

Create a unique temporary file path without creating a directory

create_test_cache_dir temp_utils Function

Create a unique test cache directory to avoid race conditions in parallel tests

debug_print logger_utils Subroutine

Print debug message (only if verbose level >= 2)

discover_fpm_tests test_discovery Subroutine
ensure_cache_dir cache Subroutine
ensure_cache_structure cache Subroutine
ensure_config_dir config Subroutine
ensure_registry_exists registry_resolver Subroutine
ensure_registry_exists_in_dir registry_resolver Subroutine
escape_shell_arg system_utils Function
format_fortran_code formatter_utils Function
format_fortran_file formatter_utils Subroutine
fortran_with_cache_dir temp_utils Function

Create a command that runs fortrun with specified cache directory

fortran_with_isolated_cache temp_utils Function

Create a command that runs fortrun with isolated cache

generate_fpm_with_deps fpm_generator Subroutine
generate_fpm_with_deps_from_config fpm_generator Subroutine
get_cache_dir cache Function
get_cache_info cache Subroutine
get_cache_key cache Function
get_cache_subdir cache Function
get_config_dir config Function
get_content_hash cache Function
get_current_directory temp_utils Function
get_current_log_level logger Function
get_fpm_digest cache Function
get_logger_verbose_level logger_utils Function

Get the current verbose level

get_module_cache_dir fpm_module_cache Function

Get the default module cache directory

get_project_root temp_utils Function
get_registry_path config Function
get_single_file_content_hash cache Function
get_stderr_redirect system_utils Function

Get platform-specific stderr redirection string

get_system_temp_dir temp_utils Function
get_temp_file_path temp_utils Function
handle_cache_info main Subroutine
handle_clear_cache main Subroutine
handle_standardize_only main Subroutine
handle_test_command test_cli Subroutine
handle_test_subcommand main Subroutine
int_to_char string_utils Function
invalidate_cache cache Subroutine
is_debug_category_enabled logger Function
is_lazy_fortran_file runner Function

Check if file is a lazy fortran file (.lf or .LF extension)

is_locked cache_lock Function
load_registry registry_resolver Subroutine
load_registry_from_path registry_resolver Subroutine
log_debug logger Subroutine
log_error logger Subroutine
log_info logger Subroutine
log_verbose logger Subroutine
log_warn logger Subroutine
logical_to_char string_utils Function
mkdir temp_utils Subroutine

Safe mkdir that creates parent directories and doesn't terminate on failure (unlike FPM's mkdir)

new_module_cache fpm_module_cache Function

Create a new module cache instance

parse_arguments cli Subroutine
parse_arguments_with_stdin_check cli Subroutine
path_join temp_utils Function
print_error logger_utils Subroutine

Print error message (always shown, verbose level >= 0)

print_help main Subroutine
print_info logger_utils Subroutine

Print info message (only if verbose level >= 1)

print_test_help test_cli Subroutine
print_warning logger_utils Subroutine

Print warning message (always shown, verbose level >= 0)

release_lock cache_lock Subroutine
resolve_module_to_package registry_resolver Subroutine
resolve_module_with_version registry_resolver Subroutine
retrieve_build_artifacts cache Subroutine
route_command command_router Subroutine
run_fortran_file runner Subroutine
run_parallel_tests test_runner Subroutine
run_single_test test_execution Subroutine
scan_modules module_scanner Subroutine
set_logger_verbose_level logger_utils Subroutine

Set the global verbose level for the logger

set_verbose_level logger Subroutine
should_log logger Function
store_build_artifacts cache Subroutine
store_executable_cache cache Subroutine
store_module_cache cache Subroutine
sys_copy_dir system_utils Subroutine

Copy a directory recursively from source to destination

sys_copy_file system_utils Subroutine

Copy a file from source to destination

sys_count_files system_utils Function

Count files in a directory

sys_create_dir system_utils Subroutine

Create a directory (with parent directories if needed)

sys_create_symlink system_utils Subroutine

Create a symbolic link

sys_dir_exists system_utils Function

Check if a directory exists

sys_file_exists system_utils Function

Check if a file exists (handles both regular files and symlinks)

sys_find_files system_utils Subroutine

Find files matching a pattern (recursive or non-recursive)

sys_get_absolute_path system_utils Subroutine

Get absolute path of a file

sys_get_current_dir system_utils Subroutine

Get current working directory

sys_get_path_separator system_utils Function

Get platform-specific path separator

sys_get_temp_dir system_utils Function

Get system temporary directory

sys_kill_process system_utils Subroutine

Kill a process by PID

sys_list_files system_utils Subroutine

List files in a directory matching a pattern

sys_move_file system_utils Subroutine

Move/rename a file

sys_process_exists system_utils Function

Check if a process exists

sys_remove_dir system_utils Subroutine

Remove a directory and all its contents

sys_remove_file system_utils Subroutine

Remove a file

sys_run_command system_utils Subroutine

Run a command and capture output

sys_run_command_with_exit_code system_utils Subroutine

Run a command and capture output and exit code to files This is a portable way to replace Unix "command > output 2>&1; echo $? > exit_file"

sys_sleep system_utils Subroutine

Sleep for specified seconds

validate_registry registry_resolver Subroutine