Siesta, some assembly required

Defining features

Modular

Dependencies up the wazoo

 my $build = Siesta::Build
   ->new( module_name => "Siesta",
          license     => 'perl',
          scripts     => [ 'bin/tequila', 'bin/nacho' ],
          requires    => { 'Test::More' => 0,
                           'Test::MockObject' => 0,
                           'Class::Accessor::Fast' => 0,
                           'Mail::Address' => 0,
                           'Email::Simple' => '1.4',
                           'Email::LocalDelivery' => '0.02',
                           'DBD::mysql' => 0,
                           'Class::DBI::BaseDSN' => 0,
                           'Class::DBI::mysql' => 0, # for live
                           'Class::DBI::SQLite' => 0, # for test
                           'File::Path' => 0,
                           'File::Basename' => 0,
                           'File::Find::Rule' => 0,
                           'UNIVERSAL::require' => 0,
                           'Template' => 0,
                           'Digest::MD5' => 0,
                           # Module::Build 0.18 is the first release with
                           # working scripts shebang rewriting
                           'Module::Build' => '0.18',
                           'Tie::IxHash' => 0,
                           'Storable' => 0,
                           'Log::LogLite' => 0.
                         },
          dynamic_config => 1,
          sign => 1,
        );

But that's okay, because CPANPLUS loves that kind of thing.

Plugin based