requires 'perl', '5.008001';

# DBI itself should be capable of installation and execution in pure-perl
# mode. However it has never been tested yet, so consider XS for the time
# being
#
# IMPORTANT - do not raise this dependency
# even though many bugfixes are present in newer versions, the general DBIC
# rule is to bend over backwards for available DBI versions (given upgrading
# them is often *not* easy or even possible)
requires 'DBI', '1.57';

# XS (or XS-dependent) libs
requires 'Sub::Util', '1.40';

# pure-perl (FatPack-able) libs
requires 'Class::Accessor::Grouped', '0.10012';
requires 'File::ShareDir', '0';                 # DBIO::Skills sharedir lookup
requires 'Class::C3::Componentised', '1.0009';
requires 'Context::Preserve', '0.01';
requires 'Devel::GlobalDestruction', '0.09';
requires 'Hash::Merge', '0.12';
requires 'JSON::MaybeXS', '0';
requires 'MRO::Compat', '0.12';
requires 'Module::Find', '0.07';
requires 'namespace::clean', '0.24';
requires 'SQL::Abstract', '2.000001';
requires 'Sub::Exporter', '0.982';
requires 'Try::Tiny', '0.07';

# DateTime support (used by InflateColumn::DateTime)
requires 'DateTime', '0.55';
requires 'DateTime::Format::Strptime', '1.2';

# Optional: DBIO::Candy -autotable pluralization
recommends 'Lingua::EN::Inflect', '0';

# Recommended for stronger salt generation in DBIO::EncodedColumn.
recommends 'Crypt::URandom', '0';

# Optional: default future_class of DBIO::Storage::PoolBase (async drivers only)
suggests 'Future', '0';

# Optional OO framework integration (only needed if you use DBIO::Moo or DBIO::Moose)
suggests 'Moo', '2.000';
suggests 'MooseX::NonMoose', '0.26';
suggests 'Moose', '2.0';

# DBIO::Generate codegen deps (Path::Tiny excluded — uses DBIO::Util instead)
requires 'Lingua::EN::Inflect::Phrase', '0';
requires 'Lingua::EN::Tagger', '0';
requires 'String::ToIdentifier::EN', '0';
requires 'String::ToIdentifier::EN::Unicode', '0';

on 'test' => sub {
  requires 'File::Temp', '0.22';
  requires 'Test::Deep', '0.101';
  requires 'Test::Exception', '0.31';
  requires 'Test::Warn', '0.21';
  requires 'Test::More', '0.94';

  # needed for testing only, not for operation
  # we will move away from this dep eventually, perhaps to DBD::CSV or something
  #
  # IMPORTANT - do not raise this dependency
  # even though many bugfixes are present in newer versions, the general DBIC
  # rule is to bend over backwards for available DBDs (given upgrading them is
  # often *not* easy or even possible)
  requires 'DBD::SQLite', '1.29';

  # this is already a dep of n::c, but just in case - used by t/55namespaces_cleaned.t
  # remove and do a manual glob-collection if n::c is no longer a dep
  requires 'Package::Stash', '0.28';
};

on 'develop' => sub {
  requires 'Dist::Zilla::PluginBundle::DBIO', '0.900001';
};
