use strict;
use warnings;

use lib q(./lib);
use App::Netdisco::Builder;

App::Netdisco::Builder->new(
  module_name => 'App::Netdisco',
  license     => 'bsd',
  dynamic_config => 1,
  configure_requires => {
    'DBIx::Class' => '0.082844',
    'File::Spec' => 0, # core
    'Module::Build' => '0.4234',
    'CPAN::Changes' => '0.500005',
    'Perl::Version' => '1.019',
    'Module::Metadata' => '1.000040',
  },
  build_requires => {
    'Alien::ultraviolet' => '1.001001',
    'ExtUtils::Config' => '0',
    'ExtUtils::Helpers' => '0',
    'ExtUtils::InstallPaths' => '0',
    'File::ShareDir' => '1.03',
    'Path::Class' => '0.32',
    'IO::Pty' => '1.25',
  },
  requires => {
    'aliased' => '0',
    'autovivification' => '0',
    'namespace::clean' => '0.24',
    'version' => '0.9902',
    'Algorithm::Cron' => '0.07',
    'Alien::ultraviolet' => '1.001001',
    'AnyEvent' => '7.05',
    'AnyEvent::DNS::EtcHosts' => '0',
    'App::cpanminus' => '1.6108',
    'App::local::lib::helper' => '0.07',
    'Archive::Extract' => '0',
    'Authen::Radius' => '0',
    'Authen::TacacsPlus' => '0',
    'CGI::Expand' => '2.05',
    'Command::Runner' => 0,
    'Data::Printer' => '0',
    'Data::Visitor::Tiny' => '0',
    'DBD::Pg' => '0',
    'DBIx::Class' => '0.082844',
    'DBIx::Class::Helpers' => '2.037000',
    'Daemon::Control' => '0.001006',
    'Dancer' => '1.3132',
    'Dancer::Plugin::Auth::Extensible' => '0.30',
    'Dancer::Plugin::DBIC' => '0.2001',
    'Dancer::Plugin::Passphrase' => '2.0.1',
    'Dancer::Plugin::Swagger' => '0',
    'Dancer::Session::Cookie' => '0.27',
    'Expect' => '0',
    'File::Path' => '0',
    'File::Spec::Functions' => '0',
    'File::ShareDir' => '1.03',
    'File::Slurper' => '0.009',
    'File::Temp' => '0.2311',
    'Guard' => '1.022',
    'HTML::Parser' => '3.70',
    'HTTP::Tiny' => '0.029',
    'IPC::Run' => '20231003.0',
    'IO::Socket::INET6' => '2.72',
    'IO::Socket::SSL' => '2.048',
    'JSON' => '2.90',
    'JSON::PP' => '0',
    'JSON::XS' => '3.01',
    'List::Util' => '1.70',
    'List::MoreUtils' => '0.428',
    'MIME::Base64' => '3.13',
    'Module::Load' => '0.32',
    'Moo' => '1.001000',
    'MCE' => '1.866',
    'Net::Domain' => '1.23',
    'Net::DNS' => '0.72',
    'Net::LDAP' => '0',
    'Net::OpenSSH' => '0',
    'Net::Ping' => '2.75', # is core
    'Net::Ping::External' => '0.15',
    'NetAddr::MAC' => '0.99',
    'NetAddr::IP' => '4.068',
    'Opcode' => '1.07',
    'Package::DeprecationManager' => '0',
    'Path::Class' => '0.32',
    'Plack' => '1.0023',
    'Plack::Handler::Twiggy' => '0',
    'Plack::Middleware::Debug' => '0',
    'Plack::Middleware::Deflater' => '0.14',
    'Plack::Middleware::Expires' => '0.03',
    'Plack::Middleware::Headers' => '0',
    'Plack::Middleware::ReverseProxy' => '0.15',
    'Pod::Usage' => 0,
    'Proc::ProcessTable' => '0.636',
    'Regexp::Common' => 2017060201,
    'Regexp::Common::net::CIDR' => 0,
    'Role::Tiny' => '1.002005',
    'Scope::Guard' => 0,
    'Sereal' => '0',
    'Session::Storage::Secure' => '1.000',
    'SNMP::Info' => '3.977001',
    'Socket6' => '0.23',
    'SQL::Abstract' => '1.85',
    'SQL::Translator' => '0.11024',
    'Starman' => '0.4008',
    'Storable' => '0',
    'String::Util' => '1.35',
    'Sub::Util' => '1.40',
    'Sys::SigAction' => '0.24',
    'Template' => '2.24',
    'Template::AutoFilter' => '0',
    'Template::Plugin::CSV' => '0.04',
    'Template::Plugin::Number::Format' => '1.02',
    'Term::ANSIColor' => '5.01',
    'Term::ReadLine' => '0',
    'Term::UI' => '0',
    'Text::CSV' => '2.04',
    'Text::CSV_XS' => '1.53',
    'Try::Tiny' => '0',
    'URI' => '0',
    'URI::Based' => '0',
    'URL::Encode' => '0.03',
    'URL::Encode::XS' => '0',
    'YAML' => '0.84',
    'YAML::XS' => '0.41',
  },
  recommends => {
    'Graph' => '0',
    'GraphViz' => '0',
    'Alien::SNMP' => '3.0509030000',
  },
  test_requires => {
    'Test::More' => '1.302083',
    'Test::Compile' => '0',
    'Test::File::ShareDir::Dist' => '0',
  },
  script_files => [
    'bin/nd-import-topology',
    'bin/netdisco-db-deploy',
    'bin/netdisco-deploy',
    'bin/netdisco-do',
    'bin/netdisco-env',
    'bin/netdisco-backend-fg',
    'bin/netdisco-backend',
    'bin/netdisco-daemon-fg',
    'bin/netdisco-daemon',
    'bin/netdisco-web-fg',
    'bin/netdisco-web',
    'bin/netdisco-rancid-export',
    'bin/netdisco-sshcollector',
  ],
  share_dir => 'share',
  meta_merge => {
    resources => {
      homepage => 'http://netdisco.org/',
      bugtracker => 'https://github.com/netdisco/netdisco/issues',
      repository => 'https://github.com/netdisco/netdisco',
      MailingList => 'https://lists.sourceforge.net/lists/listinfo/netdisco-users',
      IRC => 'irc://irc.libera.chat/#netdisco',
    },
  },
)->create_build_script;
