scancpan: use recommend & test flags only at first level
Currently, these flags are recursively propagated. This behavior is not expected by users, because it can cause dependencies explosively. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
d6cff4abdc
commit
746a91ab31
@ -552,10 +552,10 @@ sub find_license_files {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub fetch {
|
sub fetch {
|
||||||
my ($name, $need_target, $need_host) = @_;
|
my ($name, $need_target, $need_host, $top) = @_;
|
||||||
$need_target{$name} = $need_target if $need_target;
|
$need_target{$name} = $need_target if $need_target;
|
||||||
$need_host{$name} = $need_host if $need_host;
|
$need_host{$name} = $need_host if $need_host;
|
||||||
unless ($dist{$name}) {
|
unless ($dist{$name} && !$top) {
|
||||||
say qq{fetch ${name}} unless $quiet;
|
say qq{fetch ${name}} unless $quiet;
|
||||||
my $result = $mcpan->release( distribution => $name );
|
my $result = $mcpan->release( distribution => $name );
|
||||||
$dist{$name} = $result;
|
$dist{$name} = $result;
|
||||||
@ -570,19 +570,19 @@ sub fetch {
|
|||||||
next if $modname eq q{perl};
|
next if $modname eq q{perl};
|
||||||
next if $modname =~ m|^Alien|;
|
next if $modname =~ m|^Alien|;
|
||||||
next if $modname =~ m|^Win32|;
|
next if $modname =~ m|^Win32|;
|
||||||
next if !$test && $modname =~ m|^Test|;
|
next if !($test && $top) && $modname =~ m|^Test|;
|
||||||
next if Module::CoreList::is_core( $modname, undef, $] );
|
next if Module::CoreList::is_core( $modname, undef, $] );
|
||||||
# we could use the host Module::CoreList data, because host perl and
|
# we could use the host Module::CoreList data, because host perl and
|
||||||
# target perl have the same major version
|
# target perl have the same major version
|
||||||
next if ${$dep}{phase} eq q{develop};
|
next if ${$dep}{phase} eq q{develop};
|
||||||
next if !$test && ${$dep}{phase} eq q{test};
|
next if !($test && $top) && ${$dep}{phase} eq q{test};
|
||||||
my $distname = $mcpan->module( $modname )->{distribution};
|
my $distname = $mcpan->module( $modname )->{distribution};
|
||||||
if (${$dep}{phase} eq q{runtime}) {
|
if (${$dep}{phase} eq q{runtime}) {
|
||||||
if (${$dep}{relationship} eq q{requires}) {
|
if (${$dep}{relationship} eq q{requires}) {
|
||||||
$runtime{$distname} = 1;
|
$runtime{$distname} = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$optional{$distname} = 1 if $recommend;
|
$optional{$distname} = 1 if $recommend && $top;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { # configure, build
|
else { # configure, build
|
||||||
@ -608,7 +608,7 @@ sub fetch {
|
|||||||
|
|
||||||
foreach my $distname (@ARGV) {
|
foreach my $distname (@ARGV) {
|
||||||
# Command-line's distributions
|
# Command-line's distributions
|
||||||
fetch( $distname, !!$target, !!$host );
|
fetch( $distname, !!$target, !!$host, 1 );
|
||||||
}
|
}
|
||||||
say scalar keys %dist, q{ packages fetched.} unless $quiet;
|
say scalar keys %dist, q{ packages fetched.} unless $quiet;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user