[carton] 270/472: rewrite dumper code
Lucas Kanashiro
kanashiro-guest at moszumanska.debian.org
Fri Jul 24 00:38:54 UTC 2015
This is an automated email from the git hooks/post-receive script.
kanashiro-guest pushed a commit to branch master
in repository carton.
commit eacd7dc8a4d80c3bfacfd0c5e7b15bbfac4d8788
Author: Tatsuhiko Miyagawa <miyagawa at bulknews.net>
Date: Mon Jun 3 23:57:08 2013 +0900
rewrite dumper code
---
lib/Carton/CLI.pm | 38 +++++++++++++++++++++-----------------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm
index 2f4d671..10dfcd9 100644
--- a/lib/Carton/CLI.pm
+++ b/lib/Carton/CLI.pm
@@ -264,29 +264,33 @@ sub cmd_tree {
my $cpanfile = Module::CPANfile->load($self->find_cpanfile);
my $prereqs = $cpanfile->prereqs;
- my $level = 0;
- $self->dump_tree($lock, undef, $prereqs, $level);
+ my $dumper = $self->_make_dumper($lock);
+ $dumper->(undef, $prereqs, 0);
}
-sub dump_tree {
- my($self, $lock, $name, $prereqs, $level) = @_;
+sub _make_dumper {
+ my($self, $lock) = @_;
- my $req = CPAN::Meta::Requirements->new;
- $req->add_requirements($prereqs->requirements_for($_, 'requires'))
- for qw( configure build runtime test);
+ my $dumper; $dumper = sub {
+ my($name, $prereqs, $level) = @_;
- if ($name) {
- $self->print( (" " x ($level - 1)) . "$name\n" );
- }
+ my $req = CPAN::Meta::Requirements->new;
+ $req->add_requirements($prereqs->requirements_for($_, 'requires'))
+ for qw( configure build runtime test);
- my $requirements = $req->as_string_hash;
- while (my($module, $version) = each %$requirements) {
- if (my $dependency = $lock->find($module)) {
- $self->dump_tree($lock, $dependency->dist, $dependency->prereqs, $level + 1);
- } else {
- # TODO: probably core, what if otherwise?
+ if ($name) {
+ $self->print( (" " x ($level - 1)) . "$name\n" );
}
- }
+
+ my $requirements = $req->as_string_hash;
+ while (my($module, $version) = each %$requirements) {
+ if (my $dependency = $lock->find($module)) {
+ $dumper->($dependency->dist, $dependency->prereqs, $level + 1);
+ } else {
+ # TODO: probably core, what if otherwise?
+ }
+ }
+ };
}
sub cmd_check {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/carton.git
More information about the Pkg-perl-cvs-commits
mailing list