The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use inc::Module::Install;

name 'Wight';
all_from 'lib/Wight.pm';

tests 't/*.t';
author_tests 'xt';

requires 'Test::Builder';
requires 'Test::TCP';

requires 'Coro';
requires 'Coro::AnyEvent';
requires 'AnyEvent';
requires 'AnyEvent::Socket';
requires 'AnyEvent::Handle';
requires 'AnyEvent::Util';

requires 'Twiggy';

requires 'Protocol::WebSocket';
requires 'JSON::XS';

requires 'File::Basename';
requires 'File::Spec::Functions';
requires 'File::ShareDir';

requires 'URI';

requires 'Carp';
requires 'Sub::Name';

requires 'Class::Accessor::Lite::Lazy';

# spawn_psgi
requires 'Plack::Runner';

# cookie support
requires 'HTTP::Cookies';
requires 'File::Temp';

test_requires 'Test::More';
test_requires 'Test::Requires';

requires_external_bin 'phantomjs';

auto_set_repository;
auto_include_deps;

readme_markdown_from 'lib/Wight.pm';

if ($Module::Install::AUTHOR) {
    # Insert LICENSE to javascripts

    require Path::Class;
    require Cwd;

    my $cwd = Cwd::cwd();

    my $poltergeist = Path::Class::dir('poltergeist');

    chdir "$poltergeist";
    system('rake compile') == 0 or die "rake compile: $!";
    chdir $cwd;

    my $share = Path::Class::dir('share');
    my $license = $poltergeist->file('LICENSE')->slurp;
    my $js_dir = $poltergeist->subdir(qw(
        lib capybara poltergeist client compiled
    ));
    foreach my $js ($js_dir->children) {
        my $out = $share->file($js->basename);
        $out->dir->mkpath(1);
        $out->openw->print(
            "/*\n$license*/\n\n",
            $js->slurp
        );
    }

    require File::Copy;
    File::Copy::mv('README.mkdn', 'README.md');
}

install_share 'share';

WriteAll;