Skip to content

Commit b638117

Browse files
committed
[ci skip]
1 parent 3430c74 commit b638117

File tree

2 files changed

+19
-28
lines changed

2 files changed

+19
-28
lines changed

lib/App/cpm/Distribution.pm

+4-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package App::cpm::Distribution;
22
use strict;
33
use warnings;
44

5-
use App::cpm::Logger;
65
use App::cpm::Requirement;
76
use App::cpm::version;
87
use CPAN::DistnameInfo;
@@ -145,16 +144,15 @@ sub providing {
145144
for my $provide (@{$self->provides}) {
146145
if ($provide->{package} eq $package) {
147146
if (!$version_range or App::cpm::version->parse($provide->{version})->satisfy($version_range)) {
148-
return 1;
147+
return (1, undef);
149148
} else {
150-
my $message = sprintf "%s provides %s (%s), but needs %s\n",
149+
my $err = sprintf "%s provides %s (%s), but needs %s\n",
151150
$self->distfile, $package, $provide->{version} || 0, $version_range;
152-
App::cpm::Logger->log(result => "WARN", message => $message);
153-
last;
151+
return (undef, $err);
154152
}
155153
}
156154
}
157-
return;
155+
return (undef, undef);
158156
}
159157

160158
sub equals {

lib/App/cpm/Master.pm

+15-22
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ sub new {
4141
} else {
4242
my $msg = "You don't have Module::CoreList. "
4343
. "The local-lib may result in incomplete self-contained directory.";
44-
App::cpm::Logger->log(result => "WARN", message => $msg);
44+
warn "$msg\n";
4545
}
4646
}
4747
$self;
@@ -245,7 +245,6 @@ sub _calculate_tasks {
245245
my $msg = sprintf "%s requires perl %s, but you have only %s",
246246
$dist->distvname, $req->{version_range}, $self->{target_perl} || $];
247247
$self->{logger}->log($msg);
248-
App::cpm::Logger->log(result => "FAIL", message => $msg);
249248
$self->{_fail_install}{$dist->distfile}++;
250249
}
251250
}
@@ -283,7 +282,6 @@ sub _calculate_tasks {
283282
my $msg = sprintf "%s requires perl %s, but you have only %s",
284283
$dist->distvname, $req->{version_range}, $self->{target_perl} || $];
285284
$self->{logger}->log($msg);
286-
App::cpm::Logger->log(result => "FAIL", message => $msg);
287285
$self->{_fail_install}{$dist->distfile}++;
288286
}
289287
}
@@ -349,14 +347,7 @@ sub is_core {
349347
my $target_perl = $self->{target_perl};
350348
if (exists $Module::CoreList::version{$target_perl}{$package}) {
351349
if (!exists $Module::CoreList::version{$]}{$package}) {
352-
if (!$self->{_removed_core}{$package}++) {
353-
my $t = App::cpm::version->parse($target_perl)->normal;
354-
my $v = App::cpm::version->parse($])->normal;
355-
App::cpm::Logger->log(
356-
result => "WARN",
357-
message => "$package used to be core in $t, but not in $v, so will be installed",
358-
);
359-
}
350+
# $package used to be core in $target_perl, but not in $], so will be installed
360351
return;
361352
}
362353
return 1 unless $version_range;
@@ -382,7 +373,19 @@ sub is_satisfied {
382373
}
383374
next if $self->{target_perl} and $self->is_core($package, $version_range);
384375
next if $self->is_installed($package, $version_range);
385-
my ($resolved) = grep { $_->providing($package, $version_range) } @distributions;
376+
377+
my $resolved;
378+
for my $dist (@distributions) {
379+
my ($ok, $err) = $dist->providing($package, $version_range);
380+
if ($ok) {
381+
$resolved = $dist;
382+
last;
383+
}
384+
if ($err) {
385+
$self->{logger}->log($err);
386+
last;
387+
}
388+
}
386389
next if $resolved && $resolved->installed;
387390

388391
$is_satisfied = 0 if defined $is_satisfied;
@@ -416,11 +419,6 @@ sub _register_resolve_result {
416419
if ($task->{distfile} and $task->{distfile} =~ m{/perl-5[^/]+$}) {
417420
my $message = "$task->{package} is a core module.";
418421
$self->{logger}->log($message);
419-
App::cpm::Logger->log(
420-
result => "DONE",
421-
type => "install",
422-
message => $message,
423-
);
424422
return;
425423
}
426424

@@ -434,11 +432,6 @@ sub _register_resolve_result {
434432
: " is up to date. ($local)"
435433
);
436434
$self->{logger}->log($message);
437-
App::cpm::Logger->log(
438-
result => "DONE",
439-
type => "install",
440-
message => $message,
441-
);
442435
return;
443436
}
444437
}

0 commit comments

Comments
 (0)