[carton] 05/472: regen
Lucas Kanashiro
kanashiro-guest at moszumanska.debian.org
Fri Jul 24 00:38:25 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 9d90a000db5ababfab3a147858643179d07a8e04
Author: Tatsuhiko Miyagawa <miyagawa at bulknews.net>
Date: Fri Jun 24 13:06:42 2011 -0700
regen
---
README | 62 +++++++++++++++++++++++++++----------------------------
bin/carton | 62 +++++++++++++++++++++++++++----------------------------
lib/App/Carton.pm | 13 +++++++-----
3 files changed, 70 insertions(+), 67 deletions(-)
diff --git a/README b/README
index 59fd68f..29e6476 100644
--- a/README
+++ b/README
@@ -3,67 +3,67 @@ NAME
SYNOPSIS
# During the development
- > carton install Plack
- > carton install Starman
- > git commit -m "add Plack and Starman" carton.json
+ > vim Makefile.PL
+ > carton install
+ > git commit -m "add Plack and Starman" Makefile.PL carton.json
# Then elsewhere (on a deployment machine)
> carton install
- > carton exec starman -p 8080
+ > carton exec starman -p 8080 myapp.psgi
WARNING
- This software is under the heavy development and considered alpha
- quality till the version hits v1.0.0. Things might be broken, and APIs
- will be likely to change. You have been warned.
+ This software is under the heavy development and considered ALPHA
+ quality till the version hits v1.0.0. Things might be broken, not all
+ features have been implemented, and APIs will be likely to change. YOU
+ HAVE BEEN WARNED.
DESCRIPTION
carton is a command line tool to track the Perl module dependencies for
your Perl application.
TUTORIAL
- Initializing your carton environment
- First, you have to initialize your carton environment.
+ Initializing the environment
+ carton will use ".carton" folder for local configuration and "extlib" to
+ install modules. You're recommended to exclude these directories from
+ the version control system.
- > cd ~/devel/MyApp
- > carton init
+ > carton check
+ > echo .carton >> .gitignore
> echo extlib >> .gitignore
- > git add .gitignore carton.json
- > git commit -m "initialized carton"
-
- This will create an empty extlib directory and "carton.json" to start
- tracking your dependencies.
+ > git add carton.json
+ > git commit -m "Start using carton"
Tracking the dependencies
- You have two options to add and track your dependencies.
-
- First is just install dependencies to your application as you go.
-
- > carton install Plack
- > carton install AnyEvent::Redis
-
- Second is to manage it via the standard "Makefile.PL" or "Build.PL".
+ You can manage the dependencies of your application via the standard
+ "Makefile.PL" or "Build.PL".
# Makefile.PL
use inc::Module::Install;
- name 'MyApp';
- requires 'DBD::mysql';
- requires 'HTTP::Message', 5.800;
+ name 'MyAwesomeApp';
+ requires 'Plack', 0.9980;
+ requires 'Starman', 0.2000;
WriteAll;
And then you can install these dependencies via:
> carton install
- In either way, the modules are installed into your "extlib" directory
- with the history information and "carton.json" in your directory is
- updated.
+ The modules are installed into your "extlib" directory, and the
+ dependencies tree and version information are analyzed and saved into
+ "carton.json" in your directory.
Make sure you add "carton.json" to your version controlled repository
and commit changes as you update dependencies.
+ > git commit -m "Added Plack and Starman" Makefile.PL carton.json
+
+ You'll alternatively be able to install modules from the command line,
+ without managing the build file at all.
+
Deploying your application
Once you've done installing all the dependencies, you can push your
- application directory to a remote machine and run the following:
+ application directory to a remote machine (excluding "extlib" and
+ ".carton") and run the following command:
> carton install
diff --git a/bin/carton b/bin/carton
index 04c83ef..f3ac38d 100755
--- a/bin/carton
+++ b/bin/carton
@@ -14,19 +14,20 @@ carton - Perl module dependency manager (aka Bundler for Perl)
=head1 SYNOPSIS
# During the development
- > carton install Plack
- > carton install Starman
- > git commit -m "add Plack and Starman" carton.json
+ > vim Makefile.PL
+ > carton install
+ > git commit -m "add Plack and Starman" Makefile.PL carton.json
# Then elsewhere (on a deployment machine)
> carton install
- > carton exec starman -p 8080
+ > carton exec starman -p 8080 myapp.psgi
=head1 WARNING
-B<This software is under the heavy development and considered alpha
-quality till the version hits v1.0.0. Things might be broken, and APIs
-will be likely to change. You have been warned.>
+B<This software is under the heavy development and considered ALPHA
+quality till the version hits v1.0.0. Things might be broken, not all
+features have been implemented, and APIs will be likely to change. YOU
+HAVE BEEN WARNED.>
=head1 DESCRIPTION
@@ -35,52 +36,51 @@ for your Perl application.
=head1 TUTORIAL
-=head2 Initializing your carton environment
+=head2 Initializing the environment
-First, you have to initialize your carton environment.
+carton will use C<.carton> folder for local configuration and
+C<extlib> to install modules. You're recommended to exclude these
+directories from the version control system.
- > cd ~/devel/MyApp
- > carton init
+ > carton check
+ > echo .carton >> .gitignore
> echo extlib >> .gitignore
- > git add .gitignore carton.json
- > git commit -m "initialized carton"
-
-This will create an empty extlib directory and C<carton.json> to
-start tracking your dependencies.
+ > git add carton.json
+ > git commit -m "Start using carton"
=head2 Tracking the dependencies
-You have two options to add and track your dependencies.
-
-First is just install dependencies to your application as you go.
-
- > carton install Plack
- > carton install AnyEvent::Redis
-
-Second is to manage it via the standard C<Makefile.PL> or C<Build.PL>.
+You can manage the dependencies of your application via the standard
+C<Makefile.PL> or C<Build.PL>.
# Makefile.PL
use inc::Module::Install;
- name 'MyApp';
- requires 'DBD::mysql';
- requires 'HTTP::Message', 5.800;
+ name 'MyAwesomeApp';
+ requires 'Plack', 0.9980;
+ requires 'Starman', 0.2000;
WriteAll;
And then you can install these dependencies via:
> carton install
-In either way, the modules are installed into your C<extlib> directory
-with the history information and C<carton.json> in your directory is
-updated.
+The modules are installed into your C<extlib> directory, and the
+dependencies tree and version information are analyzed and saved into
+C<carton.json> in your directory.
Make sure you add C<carton.json> to your version controlled
repository and commit changes as you update dependencies.
+ > git commit -m "Added Plack and Starman" Makefile.PL carton.json
+
+You'll alternatively be able to install modules from the command line,
+without managing the build file at all.
+
=head2 Deploying your application
Once you've done installing all the dependencies, you can push your
-application directory to a remote machine and run the following:
+application directory to a remote machine (excluding C<extlib> and
+C<.carton>) and run the following command:
> carton install
diff --git a/lib/App/Carton.pm b/lib/App/Carton.pm
index 6bb0711..e6032da 100644
--- a/lib/App/Carton.pm
+++ b/lib/App/Carton.pm
@@ -2,7 +2,7 @@ package App::Carton;
use strict;
use 5.008_001;
-use version; our $VERSION = qv('v0.9.0');
+use version; our $VERSION = qv('v0.1.0');
use Config;
use Getopt::Long;
@@ -28,21 +28,24 @@ sub run {
my($self, @args) = @_;
local @ARGV = @args;
+ my @commands;
my $p = Getopt::Long::Parser->new(
config => [ "no_ignore_case", "pass_through" ],
);
$p->getoptions(
- "h|help" => sub { unshift @ARGV, 'help' },
- "v|version" => sub { unshift @ARGV, 'version' },
+ "h|help" => sub { unshift @commands, 'help' },
+ "v|version" => sub { unshift @commands, 'version' },
"color!" => \$self->{color},
"verbose!" => \$self->{verbose},
);
- my $cmd = shift @ARGV || 'help';
+ push @commands, @ARGV;
+
+ my $cmd = shift @commands || 'help';
my $call = $self->can("cmd_$cmd");
if ($call) {
- $self->$call(@ARGV);
+ $self->$call(@commands);
} else {
die "Could not find command '$cmd'\n";
}
--
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