summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiko Miyagawa <miyagawa@bulknews.net>2013-06-04 11:57:35 +0900
committerTatsuhiko Miyagawa <miyagawa@bulknews.net>2013-06-04 11:57:35 +0900
commit41b908dd5ff396ae79263aca69eb1942e7db0382 (patch)
tree19026973bfc17b05ca8f6650d1892148a939d98d
parent37af4f4c30de0446188079c1b1f953d0d2f15c3f (diff)
downloadcarton-41b908dd5ff396ae79263aca69eb1942e7db0382.tar.gz
change the output of tree
-rw-r--r--lib/Carton/CLI.pm11
-rw-r--r--xt/cli/tree.t4
2 files changed, 7 insertions, 8 deletions
diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm
index 8831a43..5fed9bc 100644
--- a/lib/Carton/CLI.pm
+++ b/lib/Carton/CLI.pm
@@ -262,31 +262,30 @@ sub cmd_tree {
or $self->error("Can't find carton.lock: Run `carton install` to rebuild the lock file.\n");
my $cpanfile = Module::CPANfile->load($self->find_cpanfile);
- my $prereqs = $cpanfile->prereqs;
my $dumper = $self->_make_dumper($lock);
- $dumper->(undef, $prereqs, 0, {});
+ $dumper->(undef, $cpanfile->prereqs, 0, {});
}
sub _make_dumper {
my($self, $lock) = @_;
my $dumper; $dumper = sub {
- my($name, $prereqs, $level, $seen) = @_;
+ my($dependency, $prereqs, $level, $seen) = @_;
my $req = CPAN::Meta::Requirements->new;
$req->add_requirements($prereqs->requirements_for($_, 'requires'))
for qw( configure build runtime test);
- if ($name) {
- $self->print( (" " x ($level - 1)) . "$name\n" );
+ if ($dependency) {
+ $self->printf( "%s%s (%s)\n", " " x ($level - 1), $dependency->name, $dependency->dist, INFO );
}
my $requirements = $req->as_string_hash;
while (my($module, $version) = each %$requirements) {
if (my $dependency = $lock->find($module)) {
next if $seen->{$dependency->dist}++;
- $dumper->($dependency->dist, $dependency->prereqs, $level + 1, $seen);
+ $dumper->($dependency, $dependency->prereqs, $level + 1, $seen);
} else {
# TODO: probably core, what if otherwise?
}
diff --git a/xt/cli/tree.t b/xt/cli/tree.t
index 5ddd220..4e8e119 100644
--- a/xt/cli/tree.t
+++ b/xt/cli/tree.t
@@ -13,8 +13,8 @@ EOF
$app->run("install");
$app->run("tree");
- like $app->output, qr/^HTML-Parser-.*/m;
- like $app->output, qr/^ HTML-Tagset-.*/m;
+ like $app->output, qr/^HTML::Parser \(HTML-Parser-/m;
+ like $app->output, qr/^ HTML::Tagset \(HTML-Tagset-/m;
}
done_testing;