Pharos 0.7.23
Modern Web Framework & Web App Hosting Service.
Loading...
Searching...
No Matches
native_app_runtime_finalize.c File Reference

Finalizes loaded app runtime records by applying serve overrides and resolving effective runtime paths. More...

#include "native_app_runtime_finalize.h"
#include "native_app_runtime_paths.h"
#include "native_app_config.h"
#include "native_support.h"
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Macros

#define native_runtime_finalize_strdup   strdup

Functions

static void free_finalize_fields (char *app_root, char *build_dir, char *state_path, char *base_path, char *log_path, char *log_format, char *error_report_path, char *debug, char *runtime_conf_path)
static char * clone_or_empty_finalize (const char *value)
static int has_override_value (const char *value)
static char * finalize_state_path_native (const AppRuntime *app, const ServeConfig *config, const char *app_root, const char *build_dir)
static char * finalize_base_path_native (const AppRuntime *app, const ServeConfig *config, const char *app_root)
static char * finalize_log_path_native (const AppRuntime *app, const ServeConfig *config, const char *app_root)
static char * finalize_log_format_native (const AppRuntime *app, const char *app_root)
static char * finalize_error_report_path_native (const AppRuntime *app, const char *app_root)
static char * finalize_debug_native (const AppRuntime *app, const ServeConfig *config, const char *app_root)
static char * finalize_runtime_conf_path_native (const AppRuntime *app, const ServeConfig *config, const char *app_root)
char * resolved_runtime_conf_path_from_config_native (const ServeConfig *config, const char *app_root)
 Resolves the runtime configuration path that should apply to an app.
int finalize_loaded_app_runtime_native (AppRuntime *app, const ServeConfig *config, const char *app_root_override, const char *build_dir_override)
 Applies overrides and derived runtime paths to a loaded app runtime record.

Detailed Description

Finalizes loaded app runtime records by applying serve overrides and resolving effective runtime paths.

Definition in file native_app_runtime_finalize.c.

Macro Definition Documentation

◆ native_runtime_finalize_strdup

Function Documentation

◆ clone_or_empty_finalize()

char * clone_or_empty_finalize ( const char * value)
static

◆ finalize_base_path_native()

char * finalize_base_path_native ( const AppRuntime * app,
const ServeConfig * config,
const char * app_root )
static

◆ finalize_debug_native()

char * finalize_debug_native ( const AppRuntime * app,
const ServeConfig * config,
const char * app_root )
static

◆ finalize_error_report_path_native()

char * finalize_error_report_path_native ( const AppRuntime * app,
const char * app_root )
static

◆ finalize_loaded_app_runtime_native()

int finalize_loaded_app_runtime_native ( AppRuntime * app,
const ServeConfig * config,
const char * app_root_override,
const char * build_dir_override )

Applies overrides and derived runtime paths to a loaded app runtime record.

Parameters
appRuntime record to finalize in place.
configActive serve configuration.
app_root_overrideOptional app root override.
build_dir_overrideOptional build directory override.
Returns
0 on success, or a non-zero native status code on failure.

Definition at line 141 of file native_app_runtime_finalize.c.

References AppRuntime::app_root, AppRuntime::base_path, AppRuntime::build_dir, clone_or_empty_finalize(), AppRuntime::debug, AppRuntime::error_report_path, finalize_base_path_native(), finalize_debug_native(), finalize_error_report_path_native(), finalize_log_format_native(), finalize_log_path_native(), finalize_runtime_conf_path_native(), finalize_state_path_native(), free_finalize_fields(), AppRuntime::log_format, AppRuntime::log_path, native_runtime_finalize_strdup, AppRuntime::runtime_conf_path, and AppRuntime::state_path.

Referenced by add_runtime_app_native(), handle_native_runtime_app_command(), load_app_runtime_for_single_app(), and prepare_finalized_app_from_config().

◆ finalize_log_format_native()

char * finalize_log_format_native ( const AppRuntime * app,
const char * app_root )
static

◆ finalize_log_path_native()

char * finalize_log_path_native ( const AppRuntime * app,
const ServeConfig * config,
const char * app_root )
static

◆ finalize_runtime_conf_path_native()

char * finalize_runtime_conf_path_native ( const AppRuntime * app,
const ServeConfig * config,
const char * app_root )
static

◆ finalize_state_path_native()

char * finalize_state_path_native ( const AppRuntime * app,
const ServeConfig * config,
const char * app_root,
const char * build_dir )
static

◆ free_finalize_fields()

void free_finalize_fields ( char * app_root,
char * build_dir,
char * state_path,
char * base_path,
char * log_path,
char * log_format,
char * error_report_path,
char * debug,
char * runtime_conf_path )
static

Definition at line 21 of file native_app_runtime_finalize.c.

Referenced by finalize_loaded_app_runtime_native().

◆ has_override_value()

◆ resolved_runtime_conf_path_from_config_native()

char * resolved_runtime_conf_path_from_config_native ( const ServeConfig * config,
const char * app_root )

Resolves the runtime configuration path that should apply to an app.

Parameters
configActive serve configuration.
app_rootRoot directory of the app being finalized.
Returns
Newly allocated runtime config path, or NULL when no path is available.

Definition at line 121 of file native_app_runtime_finalize.c.

References app_local_conf_path_native(), ServeConfig::conf_path, current_working_directory(), native_runtime_finalize_strdup, and resolve_relative_to().

Referenced by finalize_runtime_conf_path_native().