Amon2

 view release on metacpan or  search on metacpan

lib/Amon2/Setup/Flavor/Basic.pm  view on Meta::CPAN

use strict;
use warnings FATAL => 'all';
use utf8;

package Amon2::Setup::Flavor::Basic;
use parent qw(Amon2::Setup::Flavor);

our $VERSION = '6.18';

sub run {
    my $self = shift;

    # write code.
    $self->render_file( "tmpl/index.tx",          "Basic/tmpl/index.tx" );
    $self->render_file( "tmpl/include/layout.tx", "Basic/tmpl/include/layout.tx" );
    $self->render_file( "tmpl/include/pager.tx",  "Basic/tmpl/include/pager.tx" );

    $self->render_file( 'lib/<<PATH>>.pm',                   'Basic/lib/__PATH__.pm' );
    $self->render_file( 'lib/<<PATH>>/Web.pm',               'Basic/lib/__PATH__/Web.pm' );
    $self->render_file( 'lib/<<PATH>>/Web/Plugin/Session.pm','Basic/lib/__PATH__/Web/Plugin/Session.pm' );
    $self->render_file( 'lib/<<PATH>>/Web/Dispatcher.pm',    'Basic/lib/__PATH__/Web/Dispatcher.pm' );
    $self->render_file( 'lib/<<PATH>>/Web/View.pm',          'Minimum/lib/__PATH__/Web/View.pm' );
    $self->render_file( 'lib/<<PATH>>/Web/ViewFunctions.pm', 'Minimum/lib/__PATH__/Web/ViewFunctions.pm' );
    $self->render_file( 'lib/<<PATH>>/DB.pm',                'Basic/lib/__PATH__/DB.pm' );
    $self->render_file( 'lib/<<PATH>>/DB/Schema.pm',         'Basic/lib/__PATH__/DB/Schema.pm' );
    $self->render_file( 'lib/<<PATH>>/DB/Row.pm',            'Basic/lib/__PATH__/DB/Row.pm' );

    $self->render_file( $self->psgi_file, 'Basic/script/server.pl' );
    $self->render_file( 'Build.PL', 'Minimum/Build.PL' );
    $self->render_file( 'minil.toml', 'Minimum/minil.toml' );
    $self->render_file( 'builder/MyBuilder.pm', 'Minimum/builder/MyBuilder.pm' );


    $self->create_cpanfile({
        'HTML::FillInForm::Lite'          => '1.11',
        'Time::Piece'                     => '1.20',
        'Plack::Middleware::ReverseProxy' => '0.09',
        'JSON'                            => '2.50',
        'Teng'                            => '0.18',
        'DBD::SQLite'                     => '1.33',
        'Test::WWW::Mechanize::PSGI'      => 0,
        'Router::Boom'                    => '0.06',
        'Plack::Middleware::Session'      => 0,
        'Plack::Session::Store::File'     => 0,
    });

    # static files
    $self->write_assets();

    $self->write_file("static/img/.gitignore", '');
    $self->write_file("static/robots.txt", '');

    $self->render_file("static/js/main.js",   "Basic/static/js/main.js");
    $self->render_file("static/css/main.css", "Basic/static/css/main.css");

    $self->render_file('db/.gitignore', 'Basic/db/dot.gitignore');

    # configuration files
    for my $env (qw(development production test)) {
        $self->render_file( "config/${env}.pl", 'Basic/config/__ENV__.pl', { env => $env } );
    }

    $self->render_file( 'sql/mysql.sql',  'Basic/sql/mysql.sql' );



( run in 0.472 second using v1.01-cache-2.11-cpan-5837b0d9d2c )