#!/usr/bin/env perl
use v5.16;
use strict;
use warnings;
use ExtUtils::MakeMaker;

WriteMakefile(
    NAME           => 'derekovecs::server',
    AUTHOR         => 'Marc Kupietz',
    ABSTRACT       => 'Visualization of paradigmatic and syntagmatic word relations.',
    VERSION_FROM   => 'script/derekovecs-server',
    LICENSE        => 'apache',
    BUILD_REQUIRES => {
     'Test::More' => 0,
     'Test::TempFile' => 0,
     "REST::Client" => 0,
     "Data::Dump" => 0,
    },
    PREREQ_PM      => {
        'Inline::C'                               => '0.82',
        'LWP::Simple'                             => 0,
        'Getopt::Std'                             => 0,
        'Getopt::Long'                            => 0,
        'Log::Any'                                => '1.701',
        'Encode'                                  => "3.17",
        'Mojolicious'                             => '9.23',
        'Mojolicious::Plugin::Util::RandomString' => '0.09',
        'Mojolicious::Plugin::CHI'                => '0.20',
        'Mojolicious::Plugin::ClientIP'           => '0.02',
        'Mojolicious::Plugin::AutoSecrets'        => '0.006',
        'Mojolicious::Plugin::RequestBase'        => '0.3',
        'Mojolicious::Plugin::RemoteAddr'         => 0,
        'Mojolicious::Plugin::Log::Access'        => '0.041',
        'Mojolicious::Plugin::Piwik'              => '1.00',
        'Mojo::JSON'                              => 0,

        # Required for older perl bundles
        'List::Util' => 1.45,

        # Currently on GitHub only (github.com/akron)
        'Mojolicious::Plugin::Localize' => '0.21'

    },
    MIN_PERL_VERSION => '5.016',
    EXE_FILES        => ['./script/derekovecs-server']
);
