BEGIN {
if
(not (
$ENV
{DANCER_APPDIR} ||
''
)
or not -f file(
$ENV
{DANCER_APPDIR},
'config.yml'
)) {
FindBin::again();
my
$me
= File::Spec->catfile(
$FindBin::RealBin
,
$FindBin::RealScript
);
my
$uid
= (
stat
(
$me
))[4] || 0;
my
$home
= (
$ENV
{NETDISCO_HOME} || (
getpwuid
(
$uid
))[7] ||
$ENV
{HOME});
$ENV
{NETDISCO_HOME} ||=
$home
;
my
$auto
= dir(dist_dir(
'App-Netdisco'
))->absolute;
$ENV
{DANCER_APPDIR} ||=
$auto
->stringify;
$ENV
{DANCER_CONFDIR} ||=
$auto
->stringify;
my
$test_envdir
= dir(
$home
,
'environments'
)->stringify;
$ENV
{DANCER_ENVDIR} ||= (-d
$test_envdir
?
$test_envdir
:
$auto
->subdir(
'environments'
)->stringify);
$ENV
{DANCER_ENVIRONMENT} ||=
'deployment'
;
$ENV
{PLACK_ENV} ||=
$ENV
{DANCER_ENVIRONMENT};
$ENV
{DANCER_PUBLIC} ||=
$auto
->subdir(
'public'
)->stringify;
$ENV
{DANCER_VIEWS} ||=
$auto
->subdir(
'views'
)->stringify;
$ENV
{POETRY_CACHE_DIR} ||= dir(
$home
,
'python'
,
'cache'
,
'pypoetry'
)->stringify;
}
{
no
warnings
'redefine'
;
*YAML::LoadFile
=
sub
{
goto
\
&YAML::XS::LoadFile
};
}
}
1;