Skip to content

Commit

Permalink
added makefile.pm again
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Aug 21, 2011
1 parent 37f23e2 commit 8b705e2
Showing 1 changed file with 93 additions and 0 deletions.
93 changes: 93 additions & 0 deletions lib/Mojolicious/Command/generate/makefile.pm
@@ -0,0 +1,93 @@
package Mojolicious::Command::generate::makefile;
use Mojo::Base 'Mojo::Command';

has description => <<'EOF';
Generate "Makefile.PL".
EOF
has usage => <<"EOF";
usage: $0 generate makefile
EOF

# "If we don't go back there and make that event happen,
# the entire universe will be destroyed...
# And as an environmentalist, I'm against that."
sub run {
my $self = shift;
my $class = $ENV{MOJO_APP} || 'MyApp';
my $path = $self->class_to_path($class);
my $name = $self->class_to_file($class);
$self->render_to_rel_file('makefile', 'Makefile.PL', $class, $path, $name);
}

1;
__DATA__
@@ makefile
% my ($class, $path, $name) = @_;
#!/usr/bin/env perl
use strict;
use warnings;
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => '<%= $class %>',
VERSION_FROM => 'lib/<%= $path %>',
AUTHOR => 'A Good Programmer <nospam@cpan.org>',
EXE_FILES => ['script/<%= $name %>'],
PREREQ_PM => {'Mojolicious' => '1.80'},
test => {TESTS => 't/*.t'}
);
__END__
=head1 NAME
Mojolicious::Command::generate::makefile - Makefile Generator Command
=head1 SYNOPSIS
use Mojolicious::Command::generate::makefile;
my $makefile = Mojolicious::Command::generate::makefile->new;
$makefile->run(@ARGV);
=head1 DESCRIPTION
L<Mojolicious::Command::generate::makefile> is a makefile generator.
=head1 ATTRIBUTES
L<Mojolicious::Command::generate::makefile> inherits all attributes from
L<Mojo::Command> and implements the following new ones.
=head2 C<description>
my $description = $makefile->description;
$makefile = $makefile->description('Foo!');
Short description of this command, used for the command list.
=head2 C<usage>
my $usage = $makefile->usage;
$makefile = $makefile->usage('Foo!');
Usage information for this command, used for the help screen.
=head1 METHODS
L<Mojolicious::Command::generate::makefile> inherits all methods from
L<Mojo::Command> and implements the following new ones.
=head2 C<run>
$makefile->run(@ARGV);
Run this command.
=head1 SEE ALSO
L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.
=cut

0 comments on commit 8b705e2

Please sign in to comment.