NAME

Developer::Dashboard::Pax::StandaloneRuntime - embedded runtime loader for standalone binaries

SYNOPSIS

use Developer::Dashboard::Pax::StandaloneRuntime;

my $result = Developer::Dashboard::Pax::StandaloneRuntime->run(...);

DESCRIPTION

Bootstraps extracted standalone payloads, configures the runtime environment, and dispatches entrypoints, helpers, and native fallbacks from a single binary.

METHODS

run, stash, hide, void, stop, params, stash, hide, void, stop, params

These are the public entrypoints exposed by this module's current interface.

PURPOSE

This is the code PAX itself embeds into every standalone binary it produces (see Developer::Dashboard::Pax::StandaloneImage) - it is what actually runs when a compiled binary starts, extracting its own packaged payload and dispatching to the right entrypoint, helper, or native fallback, entirely independent of the original source checkout.

WHY IT EXISTS

A standalone binary built by PAX carries no live reference back to the source tree it was built from - the whole point is that it keeps working after that source tree, and any local CPAN installation, are gone. This module is the runtime that makes that true: it is packaged INSIDE the binary itself and, on startup, extracts the embedded code units/assets/ dependency payload to a private runtime directory, sets up @INC and environment against that extracted location rather than the original repo, and only then dispatches to the actual application entrypoint (falling back to bundled-Perl execution for any region that wasn't natively compiled).

WHEN TO USE

Edit this file when changing how a standalone binary extracts and bootstraps its own embedded payload, how it decides between a native artifact and its bundled-Perl fallback for a given region, or how it dispatches to helper commands packaged alongside the main entrypoint.

HOW TO USE

This module is not meant to be used directly by ordinary application code - it is embedded into a standalone binary's own source by Developer::Dashboard::Pax::StandaloneImage at build time and runs as that binary's own startup path. To exercise its behavior, build a standalone binary (pax build) and run it; its extraction/dispatch logic is what executes.

WHAT USES IT

Every standalone binary PAX builds carries a copy of this module's code, embedded by Developer::Dashboard::Pax::StandaloneImage at build time - including a self-built pax binary itself (PAX can build itself), and any compiled bin/dashboard/bin/d2 binary produced through Developer::Dashboard::PaxCache's self-compile cache.

EXAMPLES

Example 1:

perl -Ilib -MDeveloper::Dashboard::Pax::StandaloneRuntime -e 1

Confirm that the module loads from a source checkout.

Example 2:

prove -lr t

Run the repository test suite after changing the behavior this module owns.