Cache-Elasticache-Memcache
view release on metacpan or search on metacpan
maint/carton_install_with_configuredeps.pl view on Meta::CPAN
5678910111213141516171819202122232425262728293031323334353637383940414243use
Carton::Mirror;
my
$install_path
=
''
;
my
$cpanfile_path
=
''
;
my
@without
= ();
my
$mirror
= Carton::Mirror->new(
$ENV
{PERL_CARTON_MIRROR} ||
$Carton::Mirror::DefaultMirror
);
my
$env
= Carton::Environment->build(
$cpanfile_path
,
$install_path
);
my
$builder
= Carton::Builder->new(
cascade
=> 1,
mirror
=>
$mirror
,
without
=> \
@without
,
cpanfile
=>
$env
->cpanfile,
);
$env
->cpanfile->load;
#install configuredeps
my
$reqs
= CPAN::Meta::Requirements->new;
$reqs
->add_requirements(
$env
->cpanfile->prereqs->requirements_for(
'configure'
,
'requires'
));
$reqs
->clear_requirement(
'perl'
);
foreach
my
$requirement
(
keys
%{
$reqs
->{requirements}}) {
"Installing configure dependency:- $requirement\n"
;
$builder
->run_cpanm(
'-L'
,
$env
->install_path,
(
map
{ (
"--mirror"
,
$_
->url) }
$builder
->effective_mirrors),
(
$builder
->
index
? (
"--mirror-index"
,
$builder
->
index
) : () ),
(
$builder
->cascade ?
"--cascade-search"
: () ),
(
$builder
->custom_mirror ?
"--mirror-only"
: () ),
"--save-dists"
,
$env
->install_path.
"/cache"
,
$builder
->groups,
$requirement
,
);
}
$builder
->install(
$env
->install_path);
$env
->snapshot->find_installs(
$env
->install_path,
$env
->cpanfile->requirements);
$env
->snapshot->save;
( run in 0.344 second using v1.01-cache-2.11-cpan-87723dcf8b7 )