[carton] 205/472: remove lock state property for Carton object

Lucas Kanashiro kanashiro-guest at moszumanska.debian.org
Fri Jul 24 00:38:47 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 bf362c590185e6303f7d87fc586072b7a7a732cf
Author: Tatsuhiko Miyagawa <miyagawa at bulknews.net>
Date:   Thu May 30 17:22:25 2013 +0900

    remove lock state property for Carton object
---
 lib/Carton.pm      | 17 +++++++----------
 lib/Carton/CLI.pm  | 29 ++++++++++++++++-------------
 lib/Carton/Lock.pm |  8 ++++++++
 3 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/lib/Carton.pm b/lib/Carton.pm
index e7a4afa..9cb57a4 100644
--- a/lib/Carton.pm
+++ b/lib/Carton.pm
@@ -41,8 +41,6 @@ sub local_cache {
     File::Spec->rel2abs("$_[0]->{path}/cache");
 }
 
-sub lock { $_[0]->{lock} }
-
 sub list_dependencies {
     my $self = shift;
 
@@ -59,12 +57,12 @@ sub list_dependencies {
     return map "$_~$hash->{$_}", grep { $_ ne 'perl' } keys %$hash;
 }
 
-sub download_from_cpanfile {
-    my($self, $cpanfile) = @_;
+sub bundle {
+    my($self, $cpanfile, $lock) = @_;
 
     my @modules = $self->list_dependencies;
 
-    my $index = $self->build_index($self->lock->{modules});
+    my $index = $self->build_index($lock->{modules});
     $self->build_mirror_file($index, $self->{mirror_file});
 
     my $mirror = $self->{mirror} || $DefaultMirror;
@@ -77,19 +75,18 @@ sub download_from_cpanfile {
         "--mirror-index", $self->{mirror_file},
         "--no-skip-satisfied",
         ( $mirror ne $DefaultMirror ? "--mirror-only" : () ),
-        "--scandeps",
         "--save-dists", $local_cache,
         @modules,
     );
 }
 
 sub install {
-    my($self, $file, $cascade) = @_;
+    my($self, $file, $lock, $cascade) = @_;
 
     my @modules = $self->list_dependencies;
 
-    if ($self->lock) {
-        my $index = $self->build_index($self->lock->{modules});
+    if ($lock) {
+        my $index = $self->build_index($lock->{modules});
         $self->build_mirror_file($index, $self->{mirror_file});
     }
 
@@ -106,7 +103,7 @@ sub install {
         "--mirror", "http://backpan.perl.org/", # fallback
         "--skip-satisfied",
         ( $is_default_mirror ? () : "--mirror-only" ),
-        ( $self->lock ? ("--mirror-index", $self->{mirror_file}) : () ),
+        ( $lock ? ("--mirror-index", $self->{mirror_file}) : () ),
         ( $cascade ? "--cascade-search" : () ),
         @modules,
     ) or die "Installing modules failed\n";
diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm
index 2112f62..1fc95f6 100644
--- a/lib/Carton/CLI.pm
+++ b/lib/Carton/CLI.pm
@@ -8,6 +8,7 @@ use Getopt::Long;
 use Term::ANSIColor qw(colored);
 
 use Carton;
+use Carton::Lock;
 use Carton::Util;
 use Carton::Error;
 use Try::Tiny;
@@ -135,18 +136,16 @@ sub cmd_bundle {
 
     $self->parse_options(\@args, "p|path=s" => sub { $self->carton->{path} = $_[1] });
 
-    my $lock = $self->find_lock;
-
     $self->carton->configure(
-        lock => $lock,
         mirror_file => $self->mirror_file,
     );
 
+    my $lock = $self->find_lock;
     my $cpanfile = $self->find_cpanfile;
 
     if ($lock) {
         $self->print("Bundling modules using $cpanfile\n");
-        $self->carton->download_from_cpanfile($cpanfile);
+        $self->carton->bundle($cpanfile, $lock);
     } else {
         $self->error("Can't locate carton.lock file. Run carton install first\n");
     }
@@ -164,10 +163,7 @@ sub cmd_install {
         "cached!"     => \$self->{use_local_mirror},
     );
 
-    my $lock = $self->find_lock;
-
     $self->carton->configure(
-        lock => $lock,
         mirror_file => $self->mirror_file,
     );
 
@@ -175,14 +171,15 @@ sub cmd_install {
         $self->carton->use_local_mirror;
     }
 
+    my $lock = $self->find_lock;
     my $cpanfile = $self->find_cpanfile;
 
     if ($self->{deployment}) {
         $self->print("Installing modules using $cpanfile (deployment mode)\n");
-        $self->carton->install($cpanfile);
+        $self->carton->install($cpanfile, $lock);
     } else {
         $self->print("Installing modules using $cpanfile\n");
-        $self->carton->install($cpanfile, 1);
+        $self->carton->install($cpanfile, $lock, 1);
         $self->carton->update_lock_file($self->lock_file);
     }
 
@@ -295,7 +292,13 @@ sub find_lock {
     my $self = shift;
 
     if (-e $self->lock_file) {
-        return $self->lock_data; # TODO object
+        my $data;
+        try {
+            $data = Carton::Util::load_json($self->lock_file);
+        } catch {
+            $self->error("Can't parse carton.lock: $_\n");
+        };
+        return Carton::Lock->new($data);
     }
 
     return;
@@ -304,9 +307,9 @@ sub find_lock {
 sub lock_data {
     my $self = shift;
 
-    my $lock;
+    my $data;
     try {
-        $lock = Carton::Util::load_json($self->lock_file);
+        $data = Carton::Util::load_json($self->lock_file);
     } catch {
         if (/No such file/) {
             $self->error("Can't locate carton.lock\n");
@@ -315,7 +318,7 @@ sub lock_data {
         }
     };
 
-    return $lock;
+    return $data;
 }
 
 sub lock_file {
diff --git a/lib/Carton/Lock.pm b/lib/Carton/Lock.pm
new file mode 100644
index 0000000..066d58a
--- /dev/null
+++ b/lib/Carton/Lock.pm
@@ -0,0 +1,8 @@
+package Carton::Lock;
+
+sub new {
+    my($class, $data) = @_;
+    bless $data, $class;
+}
+
+1;

-- 
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