More early bailouts to avoid redoing work

This commit is contained in:
Your Name 2017-03-30 17:52:16 -04:00
parent 40a9a8b1d0
commit b2464a7495
2 changed files with 14 additions and 2 deletions

View file

@ -8,6 +8,9 @@ use IPC::Run qw/run/;
no warnings 'experimental';
has 'name' => (is => 'ro');
has 'dist' => (is => 'ro',
builder => '_get_dist',
lazy => 1);
has 'depends' => (
builder => 'get_deps',
@ -16,6 +19,11 @@ has 'depends' => (
lazy => 1,
);
sub _get_dist {
my $self = shift;
return $Dist::mod_to_dist{$self->name} // $self->name;
}
our %cache;
if (-e 'modcache.stor') {
eval {

View file

@ -22,6 +22,7 @@ sub remove_imc {
}
our $last_dep = time();
our @total_deps = ();
sub dep_order {
my $module = shift;
@ -31,12 +32,14 @@ sub dep_order {
for my $dep ($module->depends->@*) {
if ($level >= 200) {
print $dep->name, "\n";
if (time() - $last_dep >= 10 || $level >= 200) {
print $dep->name," ",$dep->dist, " " ,$level, "\n";
$last_dep = time();
}
next if (Module::_is_banned($dep->name));
next if ($dep->dist ~~ @total_deps); # skip it if we've already added this to the total deps
push @total_deps, $dep->dist;
push @orders, dep_order($dep, $level+1);
}
@ -87,3 +90,4 @@ sub test_module {
return "success";
}
1;