forked from lix-project/hydra
* Update to Catalyst 5.9.
This commit is contained in:
parent
6d81bafae4
commit
5f93e6437f
2
deps.nix
2
deps.nix
|
@ -9,7 +9,6 @@ with pkgs;
|
|||
perlPackages.CatalystPluginSessionStateCookie
|
||||
perlPackages.CatalystAuthenticationStoreDBIxClass
|
||||
perlPackages.CatalystViewTT
|
||||
perlPackages.CatalystEngineHTTPPrefork
|
||||
perlPackages.CatalystViewDownload
|
||||
perlPackages.CatalystViewJSON
|
||||
perlPackages.XMLSimple
|
||||
|
@ -31,5 +30,6 @@ with pkgs;
|
|||
perlPackages.CryptRandPasswd
|
||||
perlPackages.TestMore
|
||||
perlPackages.SysHostnameLong
|
||||
perlPackages.Starman
|
||||
perlPackages.nixPerl
|
||||
]
|
||||
|
|
|
@ -1,38 +1,10 @@
|
|||
#! @perl@ -w -I@nix@/libexec/nix
|
||||
#! @perl@
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
eval "use Catalyst::Helper;";
|
||||
|
||||
if ($@) {
|
||||
die <<END;
|
||||
To use the Catalyst development tools including catalyst.pl and the
|
||||
generated script/myapp_create.pl you need Catalyst::Helper, which is
|
||||
part of the Catalyst-Devel distribution. Please install this via a
|
||||
vendor package or by running one of -
|
||||
|
||||
perl -MCPAN -e 'install Catalyst::Devel'
|
||||
perl -MCPANPLUS -e 'install Catalyst::Devel'
|
||||
END
|
||||
}
|
||||
|
||||
my $force = 0;
|
||||
my $mech = 0;
|
||||
my $help = 0;
|
||||
|
||||
GetOptions(
|
||||
'nonew|force' => \$force,
|
||||
'mech|mechanize' => \$mech,
|
||||
'help|?' => \$help
|
||||
);
|
||||
|
||||
pod2usage(1) if ( $help || !$ARGV[0] );
|
||||
|
||||
my $helper = Catalyst::Helper->new( { '.newfiles' => !$force, mech => $mech } );
|
||||
|
||||
pod2usage(1) unless $helper->mk_component( 'Hydra', @ARGV );
|
||||
use Catalyst::ScriptRunner;
|
||||
Catalyst::ScriptRunner->run('Hydra', 'Create');
|
||||
|
||||
1;
|
||||
|
||||
|
@ -45,26 +17,28 @@ hydra_create.pl - Create a new Catalyst Component
|
|||
hydra_create.pl [options] model|view|controller name [helper] [options]
|
||||
|
||||
Options:
|
||||
-force don't create a .new file where a file to be created exists
|
||||
-mechanize use Test::WWW::Mechanize::Catalyst for tests if available
|
||||
-help display this help and exits
|
||||
--force don't create a .new file where a file to be created exists
|
||||
--mechanize use Test::WWW::Mechanize::Catalyst for tests if available
|
||||
--help display this help and exits
|
||||
|
||||
Examples:
|
||||
hydra_create.pl controller My::Controller
|
||||
hydra_create.pl controller My::Controller BindLex
|
||||
hydra_create.pl -mechanize controller My::Controller
|
||||
hydra_create.pl view My::View
|
||||
hydra_create.pl view MyView TT
|
||||
hydra_create.pl view TT TT
|
||||
hydra_create.pl view HTML TT
|
||||
hydra_create.pl model My::Model
|
||||
hydra_create.pl model SomeDB DBIC::Schema MyApp::Schema create=dynamic\
|
||||
dbi:SQLite:/tmp/my.db
|
||||
hydra_create.pl model AnotherDB DBIC::Schema MyApp::Schema create=static\
|
||||
dbi:Pg:dbname=foo root 4321
|
||||
[Loader opts like db_schema, naming] dbi:Pg:dbname=foo root 4321
|
||||
[connect_info opts like quote_char, name_sep]
|
||||
|
||||
See also:
|
||||
perldoc Catalyst::Manual
|
||||
perldoc Catalyst::Manual::Intro
|
||||
perldoc Catalyst::Helper::Model::DBIC::Schema
|
||||
perldoc Catalyst::Model::DBIC::Schema
|
||||
perldoc Catalyst::View::TT
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
|
@ -80,7 +54,7 @@ Catalyst Contributors, see Catalyst.pm
|
|||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
This library is free software, you can redistribute it and/or modify
|
||||
This library is free software. You can redistribute it and/or modify
|
||||
it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
|
|
@ -1,106 +1,44 @@
|
|||
#! @perl@ -w -I@nix@/libexec/nix
|
||||
|
||||
BEGIN {
|
||||
$ENV{CATALYST_ENGINE} ||= 'HTTP::Prefork';
|
||||
$ENV{CATALYST_SCRIPT_GEN} = 32;
|
||||
require Catalyst::Engine::HTTP;
|
||||
$ENV{CATALYST_SCRIPT_GEN} = 40;
|
||||
}
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
use FindBin;
|
||||
use lib "$FindBin::Bin/../lib";
|
||||
use Hydra::Helper::Nix;
|
||||
|
||||
my $debug = 0;
|
||||
my $fork = 0;
|
||||
my $help = 0;
|
||||
my $host = undef;
|
||||
my $port = $ENV{HYDRA_PORT} || $ENV{CATALYST_PORT} || 3000;
|
||||
my $keepalive = 0;
|
||||
my $restart = $ENV{HYDRA_RELOAD} || $ENV{CATALYST_RELOAD} || 0;
|
||||
my $restart_delay = 1;
|
||||
my $restart_regex = '(?:/|^)(?!\.#).+(?:\.yml$|\.yaml$|\.conf|\.pm)$';
|
||||
my $restart_directory = undef;
|
||||
my $follow_symlinks = 0;
|
||||
|
||||
my @argv = @ARGV;
|
||||
|
||||
$ENV{'HYDRA_CONFIG'} = getHydraConf if ! $ENV{'HYDRA_CONFIG'} ;
|
||||
|
||||
GetOptions(
|
||||
'debug|d' => \$debug,
|
||||
'fork' => \$fork,
|
||||
'help|?' => \$help,
|
||||
'host=s' => \$host,
|
||||
'port=s' => \$port,
|
||||
'keepalive|k' => \$keepalive,
|
||||
'restart|r' => \$restart,
|
||||
'restartdelay|rd=s' => \$restart_delay,
|
||||
'restartregex|rr=s' => \$restart_regex,
|
||||
'restartdirectory=s@' => \$restart_directory,
|
||||
'followsymlinks' => \$follow_symlinks,
|
||||
);
|
||||
|
||||
pod2usage(1) if $help;
|
||||
|
||||
if ( $restart && $ENV{CATALYST_ENGINE} eq 'HTTP' ) {
|
||||
$ENV{CATALYST_ENGINE} = 'HTTP::Restarter';
|
||||
}
|
||||
if ( $debug ) {
|
||||
$ENV{CATALYST_DEBUG} = 1;
|
||||
}
|
||||
|
||||
# This is require instead of use so that the above environment
|
||||
# variables can be set at runtime.
|
||||
require Hydra;
|
||||
|
||||
Hydra->run( $port, $host, {
|
||||
argv => \@argv,
|
||||
'fork' => $fork,
|
||||
keepalive => $keepalive,
|
||||
restart => $restart,
|
||||
restart_delay => $restart_delay,
|
||||
restart_regex => qr/$restart_regex/,
|
||||
restart_directory => $restart_directory,
|
||||
follow_symlinks => $follow_symlinks,
|
||||
min_servers => 2,
|
||||
max_servers => 10,
|
||||
min_spare_servers => 2,
|
||||
max_spare_servers => 5,
|
||||
} );
|
||||
use Catalyst::ScriptRunner;
|
||||
Catalyst::ScriptRunner->run('Hydra', 'Server');
|
||||
|
||||
1;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
hydra_server.pl - Catalyst Testserver
|
||||
hydra_server.pl - Catalyst Test Server
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
hydra_server.pl [options]
|
||||
|
||||
Options:
|
||||
-d -debug force debug mode
|
||||
-f -fork handle each request in a new process
|
||||
-d --debug force debug mode
|
||||
-f --fork handle each request in a new process
|
||||
(defaults to false)
|
||||
-? -help display this help and exits
|
||||
-host host (defaults to all)
|
||||
-p -port port (defaults to 3000)
|
||||
-k -keepalive enable keep-alive connections
|
||||
-r -restart restart when files get modified
|
||||
-? --help display this help and exits
|
||||
-h --host host (defaults to all)
|
||||
-p --port port (defaults to 3000)
|
||||
-k --keepalive enable keep-alive connections
|
||||
-r --restart restart when files get modified
|
||||
(defaults to false)
|
||||
-rd -restartdelay delay between file checks
|
||||
-rr -restartregex regex match files that trigger
|
||||
-rd --restart_delay delay between file checks
|
||||
(ignored if you have Linux::Inotify2 installed)
|
||||
-rr --restart_regex regex match files that trigger
|
||||
a restart when modified
|
||||
(defaults to '\.yml$|\.yaml$|\.conf|\.pm$')
|
||||
-restartdirectory the directory to search for
|
||||
modified files, can be set mulitple times
|
||||
--restart_directory the directory to search for
|
||||
modified files, can be set multiple times
|
||||
(defaults to '[SCRIPT_DIR]/..')
|
||||
-follow_symlinks follow symlinks in search directories
|
||||
--follow_symlinks follow symlinks in search directories
|
||||
(defaults to false. this is a no-op on Win32)
|
||||
--background run the process in the background
|
||||
--pidfile specify filename for pid file
|
||||
|
||||
See also:
|
||||
perldoc Catalyst::Manual
|
||||
perldoc Catalyst::Manual::Intro
|
||||
|
@ -115,7 +53,8 @@ Catalyst Contributors, see Catalyst.pm
|
|||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
This library is free software, you can redistribute it and/or modify
|
||||
This library is free software. You can redistribute it and/or modify
|
||||
it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
||||
|
|
Loading…
Reference in a new issue