[Catalyst-commits] r12075 - in Catalyst-Runtime/5.80/trunk: . lib lib/Catalyst lib/Catalyst/Script script t/aggregate t/author t/lib t/lib/Catalyst t/lib/Catalyst/Script t/lib/ScriptTestApp t/lib/ScriptTestApp/Script

t0m at dev.catalyst.perl.org t0m at dev.catalyst.perl.org
Sun Nov 29 17:16:42 GMT 2009


Author: t0m
Date: 2009-11-29 17:16:40 +0000 (Sun, 29 Nov 2009)
New Revision: 12075

Added:
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t
   Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t
   Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/
   Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm
   Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm
   Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm
   Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/
   Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/
   Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm
   Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm
   Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm
   Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm
Modified:
   Catalyst-Runtime/5.80/trunk/
   Catalyst-Runtime/5.80/trunk/Makefile.PL
   Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod
   Catalyst-Runtime/5.80/trunk/script/catalyst.pl
   Catalyst-Runtime/5.80/trunk/t/author/http-server.t
Log:
 r11583 at nc10 (orig r10642):  dhoss | 2009-06-24 22:18:13 +0100
 created better scripts branch
 
 r11584 at nc10 (orig r10643):  dhoss | 2009-06-24 22:21:03 +0100
 initial script commit
 
 r11585 at nc10 (orig r10644):  dhoss | 2009-06-24 23:56:42 +0100
 initial ScriptRunner checkin
 
 r11588 at nc10 (orig r10647):  dhoss | 2009-06-25 01:54:12 +0100
 added a test application to get the new scripts working
 created Catalyst::ScriptRunner, Catalyst::Script::*
 got Catalyst::Script::FastCGI running
 wrote a test for Catalyst::Script::FastCGI, but it fails for some reason
 
 r11590 at nc10 (orig r10649):  dhoss | 2009-06-25 02:10:57 +0100
 added dev_server test, poked Catalyst::Script::Create
 
 r11591 at nc10 (orig r10650):  dhoss | 2009-06-25 02:21:18 +0100
 fixed test server, blech
 
 r11592 at nc10 (orig r10651):  dhoss | 2009-06-25 02:28:41 +0100
 pulled crap out of testapp_server
 
 r11593 at nc10 (orig r10652):  dhoss | 2009-06-25 02:41:39 +0100
 fixed server start
 
 r11594 at nc10 (orig r10653):  dhoss | 2009-06-25 03:03:00 +0100
 fixed Server and testapp_server.pl. Test still wonky
 
 r11595 at nc10 (orig r10654):  dhoss | 2009-06-25 03:15:18 +0100
 poked at t/start_dev_server.t
 corrected Server to start with HTTP not CGI
 
 r11597 at nc10 (orig r10656):  dhoss | 2009-06-25 03:30:41 +0100
 updated testapp_cgi.pl
 updated CGI
 
 r11598 at nc10 (orig r10657):  dhoss | 2009-06-25 04:11:14 +0100
 added more to Test, added testapp_test, and worked on start_fcgi
 
 r11604 at nc10 (orig r10663):  dhoss | 2009-06-25 11:37:12 +0100
 updated Makefil.PL
 
 r11624 at nc10 (orig r10683):  dhoss | 2009-06-26 20:46:17 +0100
 updated so that if their class doesn't load, we use ours.
 
 r11650 at nc10 (orig r10709):  dhoss | 2009-06-28 21:33:41 +0100
 added name to contributors list
 
 r11660 at nc10 (orig r10719):  t0m | 2009-06-29 00:12:11 +0100
 Kind of, sort of make the server work, except it doesn't
 r11685 at nc10 (orig r10744):  dhoss | 2009-06-30 19:28:47 +0100
 fixed Server
 
 r11726 at nc10 (orig r10785):  dhoss | 2009-07-04 01:41:40 +0100
 help option now has a short option
 
 r11727 at nc10 (orig r10786):  dhoss | 2009-07-04 01:44:15 +0100
 fork now has a short option
 
 r11728 at nc10 (orig r10787):  dhoss | 2009-07-04 01:45:19 +0100
 listen now has a short option
 
 r11729 at nc10 (orig r10788):  dhoss | 2009-07-04 01:49:39 +0100
 doez haz pidfile short opt
 
 r11730 at nc10 (orig r10789):  dhoss | 2009-07-04 01:51:12 +0100
 doez haz keepalive short opt
 
 r11731 at nc10 (orig r10790):  dhoss | 2009-07-04 01:51:35 +0100
 changed pf => pid
 
 r11732 at nc10 (orig r10791):  dhoss | 2009-07-04 01:53:16 +0100
 background now has a short opshun
 
 r11733 at nc10 (orig r10792):  dhoss | 2009-07-04 01:54:29 +0100
 restart has short option
 
 r11734 at nc10 (orig r10793):  dhoss | 2009-07-04 01:56:16 +0100
 restart_delay HAZ OPSHUN
 
 r11735 at nc10 (orig r10794):  dhoss | 2009-07-04 01:57:11 +0100
 restart regex has a short option
 
 r11736 at nc10 (orig r10795):  dhoss | 2009-07-04 01:58:02 +0100
 follow_symlinks has short option
 
 r11737 at nc10 (orig r10796):  dhoss | 2009-07-04 03:01:44 +0100
 Updated testapp_server
 broke Script::Server, why?!
 
 r11738 at nc10 (orig r10797):  dhoss | 2009-07-04 03:57:13 +0100
 added namespace::autoclean to all the helper classes
 removed a redundant use Catalyst::Engine::HTTP
 
 r11739 at nc10 (orig r10798):  dhoss | 2009-07-04 04:25:25 +0100
 added warn to setup. sigh. doesn't appear it's getting called, unless 
 i'm way off.
 
 r11740 at nc10 (orig r10799):  dhoss | 2009-07-04 04:27:41 +0100
 untarded!
 
 r11741 at nc10 (orig r10800):  dhoss | 2009-07-04 04:28:15 +0100
 really untarded
 
 r11778 at nc10 (orig r10837):  dhoss | 2009-07-11 00:27:12 +0100
 removed except meta stuff since we're using autoclean
 
 r11779 at nc10 (orig r10838):  dhoss | 2009-07-11 01:06:53 +0100
 fixed Catalyst::Script::Server so app doesn't have to be a cmd line opt
 
 r11780 at nc10 (orig r10839):  dhoss | 2009-07-11 01:14:43 +0100
 removed all required => 0
 
 r11781 at nc10 (orig r10840):  dhoss | 2009-07-11 01:18:23 +0100
 removed "broken" commetn
 
 r11782 at nc10 (orig r10841):  dhoss | 2009-07-11 01:19:41 +0100
 removed debug warn
 
 r11783 at nc10 (orig r10842):  dhoss | 2009-07-11 01:31:58 +0100
 removed default => 0s
 
 r11784 at nc10 (orig r10843):  dhoss | 2009-07-11 01:34:54 +0100
 added debug option
 
 r11785 at nc10 (orig r10844):  dhoss | 2009-07-11 02:50:11 +0100
 fasterized
 
 r11786 at nc10 (orig r10845):  dhoss | 2009-07-11 03:21:41 +0100
 added restarter code
 
 r11787 at nc10 (orig r10846):  dhoss | 2009-07-11 03:24:02 +0100
 fixed follow_symlinks option in restarter code
 
 r11788 at nc10 (orig r10847):  dhoss | 2009-07-11 03:33:44 +0100
 cleaned up sub runner
 
 r11793 at nc10 (orig r10852):  t0m | 2009-07-11 19:10:02 +0100
 Strip trailing spaces
 r11801 at nc10 (orig r10860):  autarch | 2009-07-11 20:32:11 +0100
 Get the restarter running
 r11809 at nc10 (orig r10868):  t0m | 2009-07-12 18:15:09 +0100
 Too slow
 r11810 at nc10 (orig r10869):  t0m | 2009-07-12 18:27:36 +0100
 And unfuck so the app name is passed properly
 r11831 at nc10 (orig r10890):  dhoss | 2009-07-15 22:41:11 +0100
 -d and --debug work for me
 
 r11834 at nc10 (orig r10893):  dhoss | 2009-07-16 10:25:47 +0100
 added Deploy prototype
 
 r11843 at nc10 (orig r10902):  dhoss | 2009-07-17 01:52:56 +0100
 untarded and added documentation
 
 r11844 at nc10 (orig r10903):  dhoss | 2009-07-17 01:53:38 +0100
 don't need  -except => [ qw(meta) ] with autoclean
 
 r11845 at nc10 (orig r10904):  dhoss | 2009-07-17 02:00:54 +0100
 added documentation, surely needs refining
 
 r11846 at nc10 (orig r10905):  dhoss | 2009-07-17 02:01:25 +0100
 removed -except => qw[meta]
 
 r11847 at nc10 (orig r10906):  dhoss | 2009-07-17 02:04:12 +0100
 cleaned up
 
 r11848 at nc10 (orig r10907):  dhoss | 2009-07-17 02:12:07 +0100
 added documentation
 
 r11849 at nc10 (orig r10908):  dhoss | 2009-07-17 02:13:28 +0100
 fasterized
 
 r11850 at nc10 (orig r10909):  dhoss | 2009-07-17 02:15:04 +0100
 added MX::Types::Moose
 
 r11851 at nc10 (orig r10910):  dhoss | 2009-07-17 02:24:44 +0100
 added MX::Types::Moose, cleaned up moar
 
 r11852 at nc10 (orig r10911):  dhoss | 2009-07-17 02:43:29 +0100
 created proof of working app
 
 r11853 at nc10 (orig r10912):  dhoss | 2009-07-17 02:44:07 +0100
 removed proof of working tests
 
 r11966 at nc10 (orig r11025):  dhoss | 2009-08-04 01:00:57 +0100
 removed MooseX::Command::* stuff for now
 
 r11967 at nc10 (orig r11026):  dhoss | 2009-08-04 01:01:43 +0100
 removed MooseX::App::CMD* stuff from ScriptRunner
 
 r11968 at nc10 (orig r11027):  dhoss | 2009-08-04 01:22:27 +0100
 split helper into app generation helper and component generation helper (initial split, at least)
 
 r11976 at nc10 (orig r11035):  dhoss | 2009-08-05 21:07:12 +0100
 had this stuff in the wrong branch, blech
 
 r12162 at nc10 (orig r11221):  dhoss | 2009-08-23 21:32:34 +0100
 added command directory structure for MooseX::App::Cmd
 
 r12236 at nc10 (orig r11295):  t0m | 2009-09-02 01:48:38 +0100
  r11288 at t0mlaptop:  t0m | 2009-09-02 00:26:10 +0100
  Remove unused TestApp
 
 r12237 at nc10 (orig r11296):  t0m | 2009-09-02 01:48:43 +0100
  r11289 at t0mlaptop:  t0m | 2009-09-02 00:33:55 +0100
  Remove DBIC deploy script, this should not be in core runtime
 
 r12238 at nc10 (orig r11297):  t0m | 2009-09-02 01:48:47 +0100
  r11290 at t0mlaptop:  t0m | 2009-09-02 01:09:31 +0100
  Remove empty directories
 
 r12239 at nc10 (orig r11298):  t0m | 2009-09-02 01:48:54 +0100
  r11291 at t0mlaptop:  t0m | 2009-09-02 01:14:00 +0100
  Factor stuff out into a script role, clean up all the script code
 
 r12254 at nc10 (orig r11313):  t0m | 2009-09-05 16:16:00 +0100
  r11320 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 12:38:54 +0100
  Fix passing correct key, re-add getopt trait as this is needed, my bad
 
 r12255 at nc10 (orig r11314):  t0m | 2009-09-05 16:16:04 +0100
  r11321 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 12:42:20 +0100
  Make ScriptRunner include the lib path.
 
 r12256 at nc10 (orig r11315):  t0m | 2009-09-05 16:16:08 +0100
  r11322 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 12:47:39 +0100
  Fix FastCGI script
 
 r12257 at nc10 (orig r11316):  t0m | 2009-09-05 16:16:13 +0100
  r11323 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 12:48:58 +0100
  Fix CGI script
 
 r12258 at nc10 (orig r11317):  t0m | 2009-09-05 16:16:15 +0100
  r11324 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 12:56:01 +0100
  Add a short TODO list to complete before this branch is merged
 
 r12259 at nc10 (orig r11318):  t0m | 2009-09-05 16:16:20 +0100
  r11325 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 12:57:21 +0100
  Default run methods not required, can be provided by the role
 
 r12260 at nc10 (orig r11319):  t0m | 2009-09-05 16:16:25 +0100
  r11326 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 13:00:17 +0100
  Documentation dinks
 
 r12261 at nc10 (orig r11320):  t0m | 2009-09-05 16:16:30 +0100
  r11327 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 13:01:00 +0100
  Gawd, that is out of date
 
 r12262 at nc10 (orig r11321):  t0m | 2009-09-05 16:16:33 +0100
  r11328 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 13:06:34 +0100
  More POD
 
 r12263 at nc10 (orig r11322):  t0m | 2009-09-05 16:16:37 +0100
  r11329 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 13:08:41 +0100
  We need to depend on MX::Types, and ::StashChange not needed any more
 
 r12264 at nc10 (orig r11323):  t0m | 2009-09-05 16:16:41 +0100
  r11330 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 13:09:11 +0100
  We also need autoclean
 
 r12265 at nc10 (orig r11324):  t0m | 2009-09-05 16:16:48 +0100
  r11331 at tomas-dorans-macbook-pro:  t0m | 2009-09-05 13:43:25 +0100
  Basic tests for ScriptRunner, more needed
 
 r12320 at nc10 (orig r11379):  t0m | 2009-09-17 22:47:22 +0100
 Skeleton testapp for testing the args thrown to the run method by scripts
 r12321 at nc10 (orig r11380):  t0m | 2009-09-17 23:10:46 +0100
 Meh, that shows what I mean. This can be done waaaay more elegantly by abstracting the testing logic..
 r12377 at nc10 (orig r11436):  zts | 2009-09-27 20:12:39 +0100
 Further tests for Server script option parsing.
 Also, first pass at abstracting the test logic.  Currently very ugly.
 
 r12402 at nc10 (orig r11461):  t0m | 2009-10-05 23:17:11 +0100
 And start the app correctly(ish) under the restarter - really not sure args are perserved correctly?
 r12908 at nc10 (orig r11777):  dhoss | 2009-11-06 17:12:25 +0000
 fixed dev server options so that test now passes
 r12911 at nc10 (orig r11780):  dhoss | 2009-11-06 17:25:35 +0000
 unfucked test server options and made test pass f'real this time
 r13011 at nc10 (orig r11880):  t0m | 2009-11-18 00:51:29 +0000
 Beat somewhat into shape by comparing the old and new docs. Need to write basic tests for the other scripts.
 r13052 at nc10 (orig r11921):  t0m | 2009-11-19 22:23:58 +0000
 Move to aggregate
 r13053 at nc10 (orig r11922):  t0m | 2009-11-19 23:32:24 +0000
 Unified help display, at the cost of having lost the info about what you fucked up. Neither of these are particularly helpful, but this is at least uniform
 r13054 at nc10 (orig r11923):  t0m | 2009-11-19 23:48:42 +0000
 Cleanup and some moar tests
 r13055 at nc10 (orig r11924):  t0m | 2009-11-20 00:00:02 +0000
 More tests for help, proving it's still bork
 r13056 at nc10 (orig r11925):  t0m | 2009-11-20 00:13:53 +0000
 Basic tests for fcgi script
 r13057 at nc10 (orig r11926):  t0m | 2009-11-20 00:44:35 +0000
 Fix script_test.pl
 r13058 at nc10 (orig r11927):  t0m | 2009-11-20 00:45:13 +0000
 Pass Pod coverage
 r13059 at nc10 (orig r11928):  t0m | 2009-11-20 01:00:24 +0000
 Nested TAP and Test::Aggregate don't play nice together. It was cute, but screw it, sorry zts
 r13060 at nc10 (orig r11929):  t0m | 2009-11-20 01:01:47 +0000
 Fugly test for myapp_test.pl. If someone fancies rewriting the IO redirection to be less gross then I loveyoulongtime
 r13061 at nc10 (orig r11930):  t0m | 2009-11-20 01:07:04 +0000
 Update todo on this branch
 r13123 at nc10 (orig r11992):  t0m | 2009-11-23 23:40:57 +0000
 Fix duplicate short options issue
 r13124 at nc10 (orig r11993):  t0m | 2009-11-23 23:43:32 +0000
 Chomp trailing space
 r13125 at nc10 (orig r11994):  t0m | 2009-11-23 23:49:10 +0000
 And do that in a way which actually works
 r13126 at nc10 (orig r11995):  t0m | 2009-11-23 23:56:49 +0000
 Fix test
 r13127 at nc10 (orig r11996):  t0m | 2009-11-24 00:15:45 +0000
 Add tests for the create script and fix the bugs that this shows up
 r13146 at nc10 (orig r12015):  t0m | 2009-11-25 22:32:11 +0000
 Fix warnings from ScriptRunner
 r13147 at nc10 (orig r12016):  t0m | 2009-11-25 22:51:28 +0000
 Fix big bug in test
 r13148 at nc10 (orig r12017):  t0m | 2009-11-26 00:25:01 +0000
 Get useful help about which option you fucked up back
 r13149 at nc10 (orig r12018):  t0m | 2009-11-26 00:35:31 +0000
 Remove most of the horrible
 r13150 at nc10 (orig r12019):  t0m | 2009-11-26 01:02:52 +0000
 Tidy up help and TODO tests
 r13161 at nc10 (orig r12030):  t0m | 2009-11-26 01:53:20 +0000
 Fix up docs
 r13162 at nc10 (orig r12031):  t0m | 2009-11-26 02:23:00 +0000
 Factor restarter arg assembly out into it's own routine for ease of testing. Use $self->ARGV instead of $ARGV
 r13165 at nc10 (orig r12034):  t0m | 2009-11-26 21:02:57 +0000
 Fix typo, bricas++, add simple test for restarter arguments
 r13175 at nc10 (orig r12044):  t0m | 2009-11-26 23:40:27 +0000
 Pass app name into constructor
 r13185 at nc10 (orig r12054):  t0m | 2009-11-27 02:08:33 +0000
 Bump version in runtime branch
 r13192 at nc10 (orig r12061):  t0m | 2009-11-28 12:38:12 +0000
 Adding the files you need for the tests you've committed helps them pass, idiot :)
 r13194 at nc10 (orig r12063):  rafl | 2009-11-29 14:00:12 +0000
 Depend on a new CMOP because we rely on its new load_class error messages.
 r13195 at nc10 (orig r12064):  rafl | 2009-11-29 14:00:19 +0000
 Make follow_symlinks more consistent with the other restarter args.
 r13196 at nc10 (orig r12065):  rafl | 2009-11-29 14:00:25 +0000
 Properly validate restart regexen.
 r13197 at nc10 (orig r12066):  rafl | 2009-11-29 14:00:31 +0000
 Tidy up some attr definitions.
 r13198 at nc10 (orig r12067):  rafl | 2009-11-29 14:00:38 +0000
 Port numbers need to be > 0.
 r13199 at nc10 (orig r12068):  rafl | 2009-11-29 14:00:43 +0000
 Remove useless lexical.
 r13200 at nc10 (orig r12069):  rafl | 2009-11-29 14:00:51 +0000
 Less trailing whitespace.
 r13201 at nc10 (orig r12070):  rafl | 2009-11-29 15:33:48 +0000
 This is not a release.
 r13202 at nc10 (orig r12071):  rafl | 2009-11-29 15:33:55 +0000
 Tidy things up a little and fix pod usage.



Property changes on: Catalyst-Runtime/5.80/trunk
___________________________________________________________________
Name: svk:merge
   - 1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst/trunk/Catalyst-Runtime:9763
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/compres:7999
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/context_go:8001
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/trunk:8533
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/Catalyst-Test-Updates:8363
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/add_captures_to_visit:9546
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/aggregate_more:11803
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/disable_regex_fallback:11456
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/index_default_fuckage:10646
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/moose:7911
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/namespace_handling_refactor:10655
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_encode_captures_andor_args_take2:11811
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-ChildOf:4443
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-Runtime-jrockway:5857
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-component-setup:4320
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-docs:4325
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/current/Catalyst-Runtime:5142
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst:4483
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst-Runtime:6165
8a9521aa-ff93-41d6-9f87-b05cafcdab40:/local/cat/Catalyst-Runtime/5.80/trunk:8157
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime:8339
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime-jrockway:8342
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime:6511
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime-current:10442
   + 1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst/trunk/Catalyst-Runtime:9763
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/compres:7999
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/context_go:8001
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/trunk:8533
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/Catalyst-Test-Updates:8363
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/add_captures_to_visit:9546
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/aggregate_more:11803
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/better_scripts:12074
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/disable_regex_fallback:11456
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/index_default_fuckage:10646
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/moose:7911
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/namespace_handling_refactor:10655
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_encode_captures_andor_args_take2:11811
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-ChildOf:4443
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-Runtime-jrockway:5857
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-component-setup:4320
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-docs:4325
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/current/Catalyst-Runtime:5142
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst:4483
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst-Runtime:6165
6d45476b-5895-46b8-b13a-8b969fa34c98:/local/Catalyst-Runtime-better_scripts:11331
8a9521aa-ff93-41d6-9f87-b05cafcdab40:/local/cat/Catalyst-Runtime/5.80/trunk:8157
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime:8339
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime-jrockway:8342
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime:6511
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime-current:10442

Modified: Catalyst-Runtime/5.80/trunk/Makefile.PL
===================================================================
--- Catalyst-Runtime/5.80/trunk/Makefile.PL	2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/Makefile.PL	2009-11-29 17:16:40 UTC (rev 12075)
@@ -18,10 +18,11 @@
 requires 'List::MoreUtils';
 requires 'namespace::autoclean' => '0.09';
 requires 'namespace::clean';
+requires 'namespace::autoclean';
 requires 'B::Hooks::EndOfScope' => '0.08';
 requires 'MooseX::Emulate::Class::Accessor::Fast' => '0.00903';
-requires 'Class::MOP' => '0.83';
-requires 'Moose' => '0.90';
+requires 'Class::MOP' => '0.95';
+requires 'Moose' => '0.93';
 requires 'MooseX::MethodAttributes::Inheritable' => '0.17';
 requires 'MooseX::Role::WithOverloading' => '0.03';
 requires 'Carp';
@@ -47,10 +48,11 @@
 requires 'Task::Weaken';
 requires 'Text::Balanced'; # core in 5.8.x but mentioned for completeness
 requires 'MRO::Compat';
+requires 'MooseX::Getopt' => '0.25';
+requires 'MooseX::Types';
+requires 'MooseX::Types::Common::Numeric';
 requires 'String::RewritePrefix' => '0.004'; # Catalyst::Utils::resolve_namespace
 
-recommends 'B::Hooks::OP::Check::StashChange';
-
 test_requires 'Class::Data::Inheritable';
 test_requires 'Test::Exception';
 test_requires 'Test::More' => '0.88';

Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod	2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod	2009-11-29 17:16:40 UTC (rev 12075)
@@ -8,11 +8,6 @@
 
 Make sure you get it from there to ensure you have the latest version.
 
-=head2 5.80000 1st Quarter 2009
-
-Next major planned release, ports Catalyst to Moose, and does some refactoring
-to help app/ctx.
-
 =head2 5.81000 
 
 =over

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,34 @@
+package Catalyst::Script::CGI;
+use Moose;
+BEGIN { $ENV{CATALYST_ENGINE} ||= 'CGI' }
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::CGI - The CGI Catalyst Script
+
+=head1 SYNOPSIS
+
+  myapp_cgi.pl [options]
+
+  Options:
+  -h     --help           display this help and exits
+
+=head1 DESCRIPTION
+
+This is a script to run the Catalyst engine specialized for the CGI environment.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,103 @@
+package Catalyst::Script::Create;
+use Moose;
+use MooseX::Types::Moose qw/Bool Str/;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+has force => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'nonew',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => 'Force new scripts',
+);
+
+has debug => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'd',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => 'Force debug mode',
+);
+
+has mechanize => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'mech',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => 'use WWW::Mechanize',
+);
+
+has helper_class => (
+    isa     => Str,
+    is      => 'ro',
+    builder => '_build_helper_class',
+);
+
+sub _build_helper_class { 'Catalyst::Helper' }
+
+sub run {
+    my ($self) = @_;
+
+    $self->_exit_with_usage if !$self->ARGV->[0];
+
+    my $helper_class = $self->helper_class;
+    Class::MOP::load_class($helper_class);
+    my $helper = $helper_class->new( { '.newfiles' => !$self->force, mech => $self->mechanize } );
+
+    $self->_exit_with_usage unless $helper->mk_component( $self->application_name, @ARGV );
+
+}
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::Create - Create a new Catalyst Component
+
+=head1 SYNOPSIS
+
+ myapp_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
+
+ Examples:
+   myapp_create.pl controller My::Controller
+   myapp_create.pl controller My::Controller BindLex
+   myapp_create.pl -mechanize controller My::Controller
+   myapp_create.pl view My::View
+   myapp_create.pl view MyView TT
+   myapp_create.pl view TT TT
+   myapp_create.pl model My::Model
+   myapp_create.pl model SomeDB DBIC::Schema MyApp::Schema create=dynamic\
+   dbi:SQLite:/tmp/my.db
+   myapp_create.pl model AnotherDB DBIC::Schema MyApp::Schema create=static\
+   dbi:Pg:dbname=foo root 4321
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Create a new Catalyst Component.
+
+Existing component files are not overwritten.  If any of the component files
+to be created already exist the file will be written with a '.new' suffix.
+This behavior can be suppressed with the C<--force> option.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,121 @@
+package Catalyst::Script::FastCGI;
+
+BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
+use Moose;
+use MooseX::Types::Moose qw/Str Bool Int/;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+has listen => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'l',
+    isa           => Str,
+    is            => 'ro',
+    documentation => 'Specify a listening port/socket',
+);
+
+has pidfile => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'pid',
+    isa           => Str,
+    is            => 'ro',
+    documentation => 'Specify a pidfile',
+);
+
+has daemon => (
+    traits        => [qw(Getopt)],
+    isa           => Bool,
+    is            => 'ro',
+    cmd_aliases   => 'd',
+    documentation => 'Daemonize (go into the background)',
+);
+
+has manager => (
+    traits        => [qw(Getopt)],
+    isa           => Str,
+    is            => 'ro',
+    cmd_aliases   => 'M',
+    documentation => 'Use a different FastCGI process manager class',
+);
+
+has keeperr => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'e',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => 'Log STDERR',
+);
+
+has nproc => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'n',
+    isa           => Int,
+    is            => 'ro',
+    documentation => 'Specify a number of child processes',
+);
+
+has detach => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'det',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => 'Detach this FastCGI process',
+);
+
+sub _application_args {
+    my ($self) = shift;
+    return (
+        $self->listen,
+        {
+            nproc   => $self->nproc,
+            pidfile => $self->pidfile,
+            manager => $self->manager,
+            detach  => $self->detach,
+            keep_stderr => $self->keeperr,
+        }
+    );
+}
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::FastCGI - The FastCGI Catalyst Script
+
+=head1 SYNOPSIS
+
+  myapp_fastcgi.pl [options]
+
+ Options:
+   -? --help      display this help and exits
+   -l --listen    Socket path to listen on
+                  (defaults to standard input)
+                  can be HOST:PORT, :PORT or a
+                  filesystem path
+   -n --nproc     specify number of processes to keep
+                  to serve requests (defaults to 1,
+                  requires -listen)
+   -p --pidfile   specify filename for pid file
+                  (requires -listen)
+   -d --daemon    daemonize (requires -listen)
+   -M --manager   specify alternate process manager
+                  (FCGI::ProcManager sub-class)
+                  or empty string to disable
+   -e --keeperr   send error messages to STDOUT, not
+                  to the webserver
+
+=head1 DESCRIPTION
+
+Run a Catalyst application as fastcgi.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,252 @@
+package Catalyst::Script::Server;
+
+BEGIN {
+    $ENV{CATALYST_ENGINE} ||= 'HTTP';
+    require Catalyst::Engine::HTTP;
+}
+
+use Moose;
+use MooseX::Types::Common::Numeric qw/PositiveInt/;
+use MooseX::Types::Moose qw/ArrayRef Str Bool Int RegexpRef/;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+__PACKAGE__->meta->get_attribute('help')->cmd_aliases('?');
+
+has debug => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'd',
+    isa           => Bool,
+    is            => 'ro',
+    documentation => q{Force debug mode},
+);
+
+has host => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'h',
+    isa           => Str,
+    is            => 'ro',
+    default       => 'localhost',
+    documentation => 'Specify an IP on this host for the server to bind to',
+);
+
+has fork => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'f',
+    isa           => Bool,
+    is            => 'ro',
+    default       => 0,
+    documentation => 'Fork the server to be able to serve multiple requests at once',
+);
+
+has port => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'p',
+    isa           => PositiveInt,
+    is            => 'ro',
+    default       => 3000,
+    documentation => 'Specify a different listening port (to the default port 3000)',
+);
+
+has pidfile => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'pid',
+    isa           => Str,
+    is            => 'ro',
+    documentation => 'Specify a pidfile',
+);
+
+has keepalive => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'k',
+    isa           => Bool,
+    is            => 'ro',
+    default       => 0,
+    documentation => 'Support keepalive',
+);
+
+has background => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'bg',
+    isa           => Bool,
+    is            => 'ro',
+    default       => 0,
+    documentation => 'Run in the background',
+);
+
+has restart => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'r',
+    isa           => Bool,
+    is            => 'ro',
+    default       => 0,
+    documentation => 'use Catalyst::Restarter to detect code changes and restart the application',
+);
+
+has restart_directory => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'rdir',
+    isa           => ArrayRef[Str],
+    is            => 'ro',
+    documentation => 'Restarter directory to watch',
+    predicate     => '_has_restart_directory',
+);
+
+has restart_delay => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'rd',
+    isa           => Int,
+    is            => 'ro',
+    documentation => 'Set a restart delay',
+    predicate     => '_has_restart_delay',
+);
+
+{
+    use Moose::Util::TypeConstraints;
+
+    my $tc = subtype as RegexpRef;
+    coerce $tc, from Str, via { qr/$_/ };
+
+    MooseX::Getopt::OptionTypeMap->add_option_type_to_map($tc => '=s');
+
+    has restart_regex => (
+        traits        => [qw(Getopt)],
+        cmd_aliases   => 'rr',
+        isa           => $tc,
+        coerce        => 1,
+        is            => 'ro',
+        documentation => 'Restart regex',
+        predicate     => '_has_restart_regex',
+    );
+}
+
+has follow_symlinks => (
+    traits        => [qw(Getopt)],
+    cmd_aliases   => 'sym',
+    isa           => Bool,
+    is            => 'ro',
+    default       => 0,
+    documentation => 'Follow symbolic links',
+    predicate     => '_has_follow_symlinks',
+);
+
+sub _restarter_args {
+    my $self = shift;
+
+    return (
+        argv => $self->ARGV,
+        start_sub => sub { $self->_run_application },
+        ($self->_has_follow_symlinks   ? (follow_symlinks => $self->follow_symlinks)   : ()),
+        ($self->_has_restart_delay     ? (sleep_interval  => $self->restart_delay)     : ()),
+        ($self->_has_restart_directory ? (directories     => $self->restart_directory) : ()),
+        ($self->_has_restart_regex     ? (filter          => $self->restart_regex)     : ()),
+    );
+}
+
+sub run {
+    my $self = shift;
+
+    local $ENV{CATALYST_DEBUG} = 1
+        if $self->debug;
+
+    if ( $self->restart ) {
+        die "Cannot run in the background and also watch for changed files.\n"
+            if $self->background;
+
+        # If we load this here, then in the case of a restarter, it does not
+        # need to be reloaded for each restart.
+        require Catalyst;
+
+        # If this isn't done, then the Catalyst::Devel tests for the restarter
+        # fail.
+        $| = 1 if $ENV{HARNESS_ACTIVE};
+
+        require Catalyst::Restarter;
+
+        my $subclass = Catalyst::Restarter->pick_subclass;
+
+        my $restarter = $subclass->new(
+            $self->_restarter_args()
+        );
+
+        $restarter->run_and_watch;
+    }
+    else {
+        $self->_run_application;
+    }
+
+
+}
+
+sub _application_args {
+    my ($self) = shift;
+    return (
+        $self->port,
+        $self->host,
+        {
+           map { $_ => $self->$_ } qw/
+                fork
+                keepalive
+                background
+                pidfile
+                keepalive
+                follow_symlinks
+            /,
+        },
+    );
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
+
+=head1 NAME
+
+Catalyst::Script::Server - Catalyst test server
+
+=head1 SYNOPSIS
+
+ myapp_server.pl [options]
+
+ Options:
+   -d     --debug          force debug mode
+   -f     --fork           handle each request in a new process
+                      (defaults to false)
+          --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
+                      (ignored if you have Linux::Inotify2 installed)
+   --rr   --restartregex  regex match files that trigger
+                      a restart when modified
+                      (defaults to '\.yml$|\.yaml$|\.conf|\.pm$')
+   --rdir --restartdirectory  the directory to search for
+                      modified files, can be set mulitple times
+                      (defaults to '[SCRIPT_DIR]/..')
+   --sym  --follow_symlinks   follow symlinks in search directories
+                      (defaults to false. this is a no-op on Win32)
+   --bg   --background        run the process in the background
+   --pid  --pidfile           specify filename for pid file
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Run a Catalyst test server for this application.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,43 @@
+package Catalyst::Script::Test;
+use Moose;
+use Catalyst::Test ();
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run {
+    my $self = shift;
+
+    Catalyst::Test->import($self->application_name);
+
+    print request($self->ARGV->[0])->content  . "\n";
+}
+
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::Test - Test Catalyst application on the command line
+
+=head1 SYNOPSIS
+
+  myapp_test.pl [options] /path
+
+  Options:
+  -h     --help           display this help and exits
+
+=head1 DESCRIPTION
+
+Script to perform a test hit against your application and display the output.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,112 @@
+package Catalyst::ScriptRole;
+use Moose::Role;
+use MooseX::Types::Moose qw/Str Bool/;
+use Pod::Usage;
+use MooseX::Getopt;
+use namespace::autoclean;
+
+with 'MooseX::Getopt' => {
+    excludes => [qw/
+        _getopt_spec_warnings
+        _getopt_spec_exception
+        _getopt_full_usage
+    /],
+};
+
+has application_name => (
+    traits   => ['NoGetopt'],
+    isa      => Str,
+    is       => 'ro',
+    required => 1,
+);
+
+has help => (
+    traits        => ['Getopt'],
+    isa           => Bool,
+    is            => 'ro',
+    documentation => 'Display this help and exit',
+    cmd_aliases   => ['?', 'h'],
+);
+
+sub _getopt_spec_exception {}
+
+sub _getopt_spec_warnings {
+    shift;
+    warn @_;
+}
+
+sub _getopt_full_usage {
+    my $self = shift;
+    pod2usage();
+    exit 0;
+}
+
+before run => sub {
+    my $self = shift;
+    $self->_getopt_full_usage if $self->help;
+};
+
+sub run {
+    my $self = shift;
+    $self->_run_application;
+}
+
+sub _application_args {
+    ()
+}
+
+sub _run_application {
+    my $self = shift;
+    my $app = $self->application_name;
+    Class::MOP::load_class($app);
+    $app->run($self->_application_args);
+}
+
+1;
+
+=head1 NAME
+
+Catalyst::ScriptRole - Common functionality for Catalyst scripts.
+
+=head1 SYNOPSIS
+
+    package MyApp::Script::Foo;
+    use Moose;
+    use namespace::autoclean;
+
+    with 'Catalyst::ScriptRole';
+
+    sub _application_args { ... }
+
+=head1 DESCRIPTION
+
+Role with the common functionality of Catalyst scripts.
+
+=head1 METHODS
+
+=head2 run
+
+The method invoked to run the application.
+
+=head1 ATTRIBUTES
+
+=head2 application_name
+
+The name of the application class, e.g. MyApp
+
+=head1 SEE ALSO
+
+L<Catalyst>
+
+L<MooseX::Getopt>
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut

Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,56 @@
+package Catalyst::ScriptRunner;
+use Moose;
+use FindBin;
+use lib;
+use File::Spec;
+use namespace::autoclean;
+
+sub run {
+    my ($self, $class, $scriptclass) = @_;
+    my $classtoload = "${class}::Script::$scriptclass";
+
+    lib->import(File::Spec->catdir($FindBin::Bin, '..', 'lib'));
+
+    unless ( eval { Class::MOP::load_class($classtoload) } ) {
+        warn("Could not load $classtoload - falling back to Catalyst::Script::$scriptclass : $@\n")
+            if $@ !~ /Can't locate/;
+        $classtoload = "Catalyst::Script::$scriptclass";
+        Class::MOP::load_class($classtoload);
+    }
+    $classtoload->new_with_options( application_name => $class )->run;
+}
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::ScriptRunner - The Catalyst Framework script runner
+
+=head1 SYNOPSIS
+
+    # Will run MyApp::Script::Server if it exists, otherwise
+    # will run Catalyst::Script::Server.
+    Catalyst::ScriptRunner->run('MyApp', 'Server');
+
+=head1 DESCRIPTION
+
+This class is responsible for running scripts, either in the application specific namespace
+(e.g. C<MyApp::Script::Server>), or the Catalyst namespace (e.g. C<Catalyst::Script::Server>)
+
+=head1 METHODS
+
+=head2 run ($application_class, $scriptclass)
+
+Called with two parameters, the application classs (e.g. MyApp)
+and the script class, (i.e. one of Server/FastCGI/CGI/Create/Test)
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut

Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm	2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -2892,6 +2892,8 @@
 
 David E. Wheeler
 
+dhoss: Devin Austin <dhoss at cpan.org>
+
 dkubb: Dan Kubb <dan.kubb-cpan at onautopilot.com>
 
 Drew Taylor

Modified: Catalyst-Runtime/5.80/trunk/script/catalyst.pl
===================================================================
--- Catalyst-Runtime/5.80/trunk/script/catalyst.pl	2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/script/catalyst.pl	2009-11-29 17:16:40 UTC (rev 12075)
@@ -41,9 +41,10 @@
         '.newfiles' => !$force,
         'makefile'  => $makefile,
         'scripts'   => $scripts,
-        'short'     => 0, # FIXME - to be removed.
+        name => $ARGV[0],
     }
 );
+# Pass $ARGV[0] for compatibility with old ::Devel
 pod2usage(1) unless $helper->mk_app( $ARGV[0] );
 
 1;

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::CGI;
+
+local @ARGV;
+lives_ok {
+    Catalyst::Script::CGI->new_with_options(application_name => 'TestAppToTestScripts')->run;
+} "new_with_options";
+shift @TestAppToTestScripts::RUN_ARGS;
+is_deeply \@TestAppToTestScripts::RUN_ARGS, [], "no args";
+
+done_testing;

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,75 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Exception;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+{
+    package TestCreateScript;
+    use Moose;
+    extends 'Catalyst::Script::Create';
+    our $help;
+    sub _exit_with_usage { $help++ }
+}
+
+{
+    package TestHelperClass;
+    use Moose;
+
+    has 'newfiles' => ( is => 'ro', init_arg => '.newfiles' );
+    has 'mech' => ( is => 'ro' );
+    our @ARGS;
+    our %p;
+    sub mk_component {
+        my $self = shift;
+        @ARGS = @_;
+        %p = ( '.newfiles' => $self->newfiles, mech => $self->mech);
+        return $self->_mk_component_return;
+    }
+    sub _mk_component_return { 1 }
+}
+{
+    package TestHelperClass::False;
+    use Moose;
+    extends 'TestHelperClass';
+    sub _mk_component_return { 0 }
+}
+
+{
+    local $TestCreateScript::help;
+    local @ARGV;
+    lives_ok {
+        TestCreateScript->new_with_options(application_name => 'TestAppToTestScripts', helper_class => 'TestHelperClass')->run;
+    } "no argv";
+    ok $TestCreateScript::help, 'Exited with usage info';
+}
+{
+    local $TestCreateScript::help;
+    local @ARGV = 'foo';
+    local @TestHelperClass::ARGS;
+    local %TestHelperClass::p;
+    lives_ok {
+        TestCreateScript->new_with_options(application_name => 'TestAppToTestScripts', helper_class => 'TestHelperClass')->run;
+    } "with argv";
+    ok !$TestCreateScript::help, 'Did not exit with usage into';
+    is_deeply \@TestHelperClass::ARGS, ['TestAppToTestScripts', 'foo'], 'Args correct';
+    is_deeply \%TestHelperClass::p, { '.newfiles' => 1, mech => undef }, 'Params correct';
+}
+
+{
+    local $TestCreateScript::help;
+    local @ARGV = 'foo';
+    local @TestHelperClass::ARGS;
+    local %TestHelperClass::p;
+    lives_ok {
+        TestCreateScript->new_with_options(application_name => 'TestAppToTestScripts', helper_class => 'TestHelperClass::False')->run;
+    } "with argv";
+    ok $TestCreateScript::help, 'Did exit with usage into as mk_component returned false';
+    is_deeply \@TestHelperClass::ARGS, ['TestAppToTestScripts', 'foo'], 'Args correct';
+    is_deeply \%TestHelperClass::p, { '.newfiles' => 1, mech => undef }, 'Params correct';
+}
+
+done_testing;

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,70 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::FastCGI;
+
+my $testopts;
+
+# Test default (no opts/args behaviour)
+testOption( [ qw// ], [undef, opthash()] );
+
+# listen socket
+testOption( [ qw|-l /tmp/foo| ], ['/tmp/foo', opthash()] );
+testOption( [ qw/-l 127.0.0.1:3000/ ], ['127.0.0.1:3000', opthash()] );
+
+#daemonize           -d --daemon
+testOption( [ qw/-d/ ], [undef, opthash()] );
+testOption( [ qw/--daemon/ ], [undef, opthash()] );
+
+# pidfile        -pidfile                  --pid --pidfile
+testOption( [ qw/--pidfile cat.pid/ ], [undef, opthash(pidfile => 'cat.pid')] );
+testOption( [ qw/--pid cat.pid/ ], [undef, opthash(pidfile => 'cat.pid')] );
+
+# manager
+testOption( [ qw/--manager foo::bar/ ], [undef, opthash(manager => 'foo::bar')] );
+testOption( [ qw/-M foo::bar/ ], [undef, opthash(manager => 'foo::bar')] );
+
+# keeperr
+testOption( [ qw/--keeperr/ ], [undef, opthash(keep_stderr => 1)] );
+testOption( [ qw/-e/ ], [undef, opthash(keep_stderr => 1)] );
+
+# nproc
+testOption( [ qw/--nproc 6/ ], [undef, opthash(nproc => 6)] );
+testOption( [ qw/--n 6/ ], [undef, opthash(nproc => 6)] );
+
+# detach
+testOption( [ qw/--detach/ ], [undef, opthash(detach => 1)] );
+testOption( [ qw/--det/ ], [undef, opthash(detach => 1)] );
+
+done_testing;
+
+sub testOption {
+    my ($argstring, $resultarray) = @_;
+
+    local @ARGV = @$argstring;
+    local @TestAppToTestScripts::RUN_ARGS;
+    lives_ok {
+        Catalyst::Script::FastCGI->new_with_options(application_name => 'TestAppToTestScripts')->run;
+    } "new_with_options";
+    # First element of RUN_ARGS will be the script name, which we don't care about
+    shift @TestAppToTestScripts::RUN_ARGS;
+    is_deeply \@TestAppToTestScripts::RUN_ARGS, $resultarray, "is_deeply comparison";
+}
+
+# Returns the hash expected when no flags are passed
+sub opthash {
+    return {
+        pidfile => undef,
+        keep_stderr => undef,
+        detach => undef,
+        nproc => undef,
+        manager => undef,
+        @_,
+    };
+}

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Exception;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+{
+    package TestHelpScript;
+    use Moose;
+    with 'Catalyst::ScriptRole';
+    our $help;
+    sub _getopt_full_usage { $help++ }
+}
+
+test('-h');
+test('--help');
+test('-?');
+
+sub test {
+    local $TestHelpScript::help;
+    local @ARGV = (@_);
+    lives_ok {
+        TestHelpScript->new_with_options(application_name => 'TestAppToTestScripts')->run;
+    } 'Lives';
+    ok $TestHelpScript::help, 'Got help';
+}
+
+done_testing;

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,116 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::Server;
+
+my $testopts;
+
+# Test default (no opts/args behaviour)
+testOption( [ qw// ], ['3000', 'localhost', opthash()] );
+
+# Old version supports long format opts with either one or two dashes.  New version only supports two.
+#                Old                       New
+# help           -? -help --help           -? --help
+# debug          -d -debug --debug         -d --debug
+# host           -host --host              --host
+testOption( [ qw/--host testhost/ ], ['3000', 'testhost', opthash()] );
+testOption( [ qw/-h testhost/ ], ['3000', 'testhost', opthash()] );
+
+# port           -p -port --port           -l --listen
+testOption( [ qw/-p 3001/ ], ['3001', 'localhost', opthash()] );
+testOption( [ qw/--port 3001/ ], ['3001', 'localhost', opthash()] );
+
+# fork           -f -fork --fork           -f --fork
+testOption( [ qw/--fork/ ], ['3000', 'localhost', opthash(fork => 1)] );
+testOption( [ qw/-f/ ], ['3000', 'localhost', opthash(fork => 1)] );
+
+# pidfile        -pidfile                  --pid --pidfile
+testOption( [ qw/--pidfile cat.pid/ ], ['3000', 'localhost', opthash(pidfile => "cat.pid")] );
+testOption( [ qw/--pid cat.pid/ ], ['3000', 'localhost', opthash(pidfile => "cat.pid")] );
+
+# keepalive      -k -keepalive --keepalive -k --keepalive
+testOption( [ qw/-k/ ], ['3000', 'localhost', opthash(keepalive => 1)] );
+testOption( [ qw/--keepalive/ ], ['3000', 'localhost', opthash(keepalive => 1)] );
+
+# symlinks       -follow_symlinks          --sym --follow_symlinks
+testOption( [ qw/--follow_symlinks/ ], ['3000', 'localhost', opthash(follow_symlinks => 1)] );
+testOption( [ qw/--sym/ ], ['3000', 'localhost', opthash(follow_symlinks => 1)] );
+
+# background     -background               --bg --background
+testOption( [ qw/--background/ ], ['3000', 'localhost', opthash(background => 1)] );
+testOption( [ qw/--bg/ ], ['3000', 'localhost', opthash(background => 1)] );
+
+# restart        -r -restart --restart     -R --restart
+testRestart( ['-r'], restartopthash() );
+# restart dly    -rd -restartdelay         --rd --restart_delay
+testRestart( ['-r', '--rd', 30], restartopthash(sleep_interval => 30) );
+testRestart( ['-r', '--restart_delay', 30], restartopthash(sleep_interval => 30) );
+
+# restart dir    -restartdirectory         --rdir --restart_directory
+testRestart( ['-r', '--rdir', 'root'], restartopthash(directories => ['root']) );
+testRestart( ['-r', '--rdir', 'root', '--rdir', 'lib'], restartopthash(directories => ['root', 'lib']) );
+testRestart( ['-r', '--restart_directory', 'root'], restartopthash(directories => ['root']) );
+
+# restart regex  -rr -restartregex         --rr --restart_regex
+testRestart( ['-r', '--rr', 'foo'], restartopthash(filter => qr/foo/) );
+testRestart( ['-r', '--restart_regex', 'foo'], restartopthash(filter => qr/foo/) );
+
+done_testing;
+
+sub testOption {
+    my ($argstring, $resultarray) = @_;
+    my $app = _build_testapp($argstring);
+    lives_ok {
+        $app->run;
+    };
+    # First element of RUN_ARGS will be the script name, which we don't care about
+    shift @TestAppToTestScripts::RUN_ARGS;
+    is_deeply \@TestAppToTestScripts::RUN_ARGS, $resultarray, "is_deeply comparison " . join(' ', @$argstring);
+}
+
+sub testRestart {
+    my ($argstring, $resultarray) = @_;
+    my $app = _build_testapp($argstring);
+    my $args = {$app->_restarter_args};
+    is_deeply delete $args->{argv}, $argstring, 'argv is arg string';
+    is ref(delete $args->{start_sub}), 'CODE', 'Closure to start app present';
+    is_deeply $args, $resultarray, "is_deeply comparison of restarter args " . join(' ', @$argstring);
+}
+
+sub _build_testapp {
+    my ($argstring, $resultarray) = @_;
+
+    local @ARGV = @$argstring;
+    local @TestAppToTestScripts::RUN_ARGS;
+    my $i;
+    lives_ok {
+        $i = Catalyst::Script::Server->new_with_options(application_name => 'TestAppToTestScripts');
+    } "new_with_options " . join(' ', @$argstring);;
+    ok $i;
+    return $i;
+}
+
+# Returns the hash expected when no flags are passed
+sub opthash {
+    return {
+        'pidfile' => undef,
+        'fork' => 0,
+        'follow_symlinks' => 0,
+        'background' => 0,
+        'keepalive' => 0,
+        @_,
+    };
+}
+
+sub restartopthash {
+    return {
+        follow_symlinks => 0,
+        @_,
+    };
+}

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,54 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::Test;
+use File::Temp qw/tempfile/;
+use IO::Handle;
+
+is run_test('/'), "root index\n", 'correct content printed';
+is run_test('/moose/get_attribute'), "42\n", 'Correct content printed for non root action';
+
+done_testing;
+
+sub run_test {
+    my $url = shift;
+
+    my ($fh, $fn) = tempfile();
+
+    binmode( $fh );
+    binmode( STDOUT );
+
+    {
+        local @ARGV = ($url);
+        my $i;
+        lives_ok {
+            $i = Catalyst::Script::Test->new_with_options(application_name => 'TestApp');
+        } "new_with_options";
+        ok $i;
+        my $saved;
+        open( $saved, '<&'. STDIN->fileno )
+              or croak("Can't dup stdin: $!");
+        open( STDOUT, '>&='. $fh->fileno )
+            or croak("Can't open stdout: $!");
+        eval { $i->run };
+        ok !$@, 'Ran ok';
+
+        STDOUT->flush
+            or croak("Can't flush stdout: $!");
+
+        open( STDOUT, '>&'. fileno($saved) )
+            or croak("Can't restore stdout: $!");
+    }
+
+    my $data = do { my $fh; open($fh, '<', $fn) or die $!; local $/; <$fh>; };
+    $fh = undef;
+    unlink $fn if -r $fn;
+
+    return $data;
+}

Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+use Test::More;
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use_ok('Catalyst::ScriptRunner');
+
+is Catalyst::ScriptRunner->run('ScriptTestApp', 'Foo'), 'ScriptTestApp::Script::Foo',
+    'Script existing only in app';
+is Catalyst::ScriptRunner->run('ScriptTestApp', 'Bar'), 'ScriptTestApp::Script::Bar',
+    'Script existing in both app and Catalyst - prefers app';
+is Catalyst::ScriptRunner->run('ScriptTestApp', 'Baz'), 'Catalyst::Script::Baz',
+    'Script existing only in Catalyst';
+# +1 test for the params passed to new_with_options in t/lib/Catalyst/Script/Baz.pm
+{
+    my $warnings = '';
+    local $SIG{__WARN__} = sub { $warnings .= shift };
+    is 'Catalyst::Script::CompileTest', Catalyst::ScriptRunner->run('ScriptTestApp', 'CompileTest');
+    like $warnings, qr/Does not compile/;
+    like $warnings, qr/Could not load ScriptTestApp::Script::CompileTest - falling back to Catalyst::Script::CompileTest/;
+}
+
+done_testing;

Modified: Catalyst-Runtime/5.80/trunk/t/author/http-server.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/author/http-server.t	2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/t/author/http-server.t	2009-11-29 17:16:40 UTC (rev 12075)
@@ -32,7 +32,7 @@
 # spawn the standalone HTTP server
 my $port = 30000 + int rand(1 + 10000);
 my @cmd = ($^X, "-I$FindBin::Bin/../../lib",
-  "$FindBin::Bin/../../t/tmp/TestApp/script/testapp_server.pl", '-port', $port );
+  "$FindBin::Bin/../../t/tmp/TestApp/script/testapp_server.pl", '--port', $port );
 my $pid = open3( undef, my $server, undef, @cmd)
     or die "Unable to spawn standalone HTTP server: $!";
 

Added: Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,9 @@
+package Catalyst::Script::Bar;
+use Moose;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+1;

Added: Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,16 @@
+package Catalyst::Script::Baz;
+use Moose;
+use namespace::autoclean;
+
+use Test::More;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+after new_with_options => sub {
+    my ($self, %args) = @_;
+    is_deeply \%args, { application_name => 'ScriptTestApp' }, 'App name correct';
+};
+
+1;

Added: Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,16 @@
+package Catalyst::Script::CompileTest;
+use Moose;
+use namespace::autoclean;
+
+use Test::More;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+after new_with_options => sub {
+    my ($self, %args) = @_;
+    is_deeply \%args, { application_name => 'ScriptTestApp' }, 'App name correct';
+};
+
+1;

Added: Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,9 @@
+package ScriptTestApp::Script::Bar;
+use Moose;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+1;

Added: Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,7 @@
+package ScriptTestApp::Script::CompileTest;
+use Moose;
+use namespace::autoclean;
+
+die("Does not compile");
+
+1;

Added: Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,9 @@
+package ScriptTestApp::Script::Foo;
+use Moose;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+1;

Added: Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm	2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,14 @@
+package TestAppToTestScripts;
+use strict;
+use warnings;
+use Carp;
+
+our @RUN_ARGS;
+
+sub run {
+    @RUN_ARGS = @_;
+    1; # Does this work?
+}
+
+1;
+




More information about the Catalyst-commits mailing list