mirror of
https://github.com/perlbot/perlbuut
synced 2025-06-07 16:05:40 -04:00
Creating new cpanfile that only covers the bot
This commit is contained in:
parent
74a0b0aa3b
commit
0e6cede20a
5 changed files with 152 additions and 322 deletions
|
@ -1,7 +0,0 @@
|
|||
Usage:
|
||||
% scan-prereqs-cpanfile
|
||||
|
||||
--diff=META.json # Generate diff from META.json
|
||||
--diff=cpanfile # Generate diff from cpanfile
|
||||
--ignore=extlib/
|
||||
|
164
cpanfile_diffed
164
cpanfile_diffed
|
@ -1,164 +0,0 @@
|
|||
--- cpanfile_scanned 2017-06-21 17:40:10.000000000 -0400
|
||||
+++ cpanfile_sorted 2017-06-21 17:41:53.000000000 -0400
|
||||
@@ -1,80 +1,91 @@
|
||||
|
||||
requires 'autodie';
|
||||
requires 'Cache::FastMmap';
|
||||
requires 'Cache::File';
|
||||
requires 'Cache::Mmap';
|
||||
requires 'Config::General';
|
||||
requires 'Cpanel::JSON::XS';
|
||||
requires 'Data::Dumper';
|
||||
requires 'DBD::SQLite';
|
||||
requires 'DBI';
|
||||
requires 'Encode';
|
||||
requires 'HTTP::Status';
|
||||
requires 'IO::String';
|
||||
requires 'JSON::MaybeXS';
|
||||
requires 'perl', '5.24';
|
||||
requires 'POE';
|
||||
requires 'POE::Component::IRC';
|
||||
requires 'POE::Component::IRC::Common';
|
||||
requires 'POE::Component::IRC::Plugin::AutoJoin';
|
||||
requires 'POE::Component::IRC::Plugin::Connector';
|
||||
requires 'POE::Component::IRC::Plugin::NickReclaim';
|
||||
requires 'POE::Component::IRC::State';
|
||||
requires 'POE::Component::Server::SimpleHTTP';
|
||||
requires 'POE::Component::Server::TCP';
|
||||
requires 'POE::Filter::Line';
|
||||
requires 'POE::Filter::Reference';
|
||||
requires 'POE::Filter::Stream';
|
||||
requires 'POE::Session';
|
||||
requires 'POE::Wheel::ReadWrite';
|
||||
requires 'POE::Wheel::Run';
|
||||
requires 'POE::Wheel::SocketFactory';
|
||||
requires 'Scalar::Util';
|
||||
requires 'Socket';
|
||||
requires 'Sys::Linux::Mount';
|
||||
requires 'Sys::Linux::Namespace';
|
||||
requires 'Template';
|
||||
requires 'Term::ANSIColor';
|
||||
requires 'Text::ParseWords';
|
||||
requires 'Tie::Hash::NamedCapture';
|
||||
requires 'Data::Dumper';
|
||||
requires 'BSD::Resource';
|
||||
requires 'Cache::FastMmap';
|
||||
requires 'Parse::RecDescent';
|
||||
|
||||
requires 'Text::Glob';
|
||||
|
||||
-requires 'Memoize';
|
||||
|
||||
feature 'perlbot_plugins' => sub {
|
||||
requires 'App::EvalServerAdvanced::Protocol';
|
||||
requires 'Text::Metaphone';
|
||||
requires 'Geo::IP';
|
||||
requires 'WWW::Mechanize';
|
||||
requires 'WWW::Shorten';
|
||||
-requires 'WWW::Shorten::TinyURL';
|
||||
requires 'DBD::SQLite::BundledExtensions';
|
||||
};
|
||||
|
||||
feature 'eval_needed' => {
|
||||
-requires 'Linux::Clone';
|
||||
requires 'Moo';
|
||||
requires 'Linux::Seccomp';
|
||||
+requires 'Mojo::Collection';
|
||||
+requires 'Mojo::DOM';
|
||||
+requires 'Mojo::DOM::CSS';
|
||||
requires 'Moo';
|
||||
+requires 'Marpa::R2';
|
||||
requires 'JSON';
|
||||
+requires 'JSON::PP';
|
||||
+requires 'JSON::Tiny';
|
||||
+requires 'JSON::XS';
|
||||
+requires 'arybase';
|
||||
+requires 'autovivification';
|
||||
+requires 'bigint';
|
||||
+requires 'Capture::Tiny';
|
||||
+requires 'Class::Tiny';
|
||||
requires 'BSD::Resource';
|
||||
+requires 'Syntax::Keyword::Try';
|
||||
+requires 'Capture::Tiny';
|
||||
+requires 'Class::Tiny';
|
||||
+requires 'Cpanel::JSON::XS';
|
||||
+requires 'Cwd';
|
||||
+requires 'Data::Munge';
|
||||
+requires 'Date::Parse';
|
||||
+requires 'DateTime';
|
||||
+requires 'DateTimeX::Easy';
|
||||
+requires 'Digest::MD5';
|
||||
+requires 'Digest::SHA';
|
||||
+requires 'Errno';
|
||||
+requires 'File::Glob';
|
||||
+requires 'File::Open';
|
||||
requires 'File::Slurper';
|
||||
requires 'File::Temp';
|
||||
}
|
||||
|
||||
feature 'eval_optional' => {
|
||||
}
|
||||
|
||||
--- cpanfile_scanned 2017-06-21 18:24:13.000000000 -0400
|
||||
+++ cpanfile_sorted 2017-06-21 17:41:53.000000000 -0400
|
||||
@@ -1,50 +1,91 @@
|
||||
requires 'Encode';
|
||||
+requires 'Function::Parameters';
|
||||
+requires 'Future';
|
||||
+requires 'Geo::IP';
|
||||
+requires 'HTML::TreeBuilder';
|
||||
+requires 'HTML::TreeBuilder::XPath';
|
||||
+requires 'indirect';
|
||||
+requires 'IO::Async';
|
||||
+requires 'IPC::Run';
|
||||
+requires 'JSON';
|
||||
requires 'JSON::MaybeXS';
|
||||
+requires 'JSON::PP';
|
||||
+requires 'JSON::Tiny';
|
||||
+requires 'JSON::XS';
|
||||
-requires 'Linux::Clone';
|
||||
requires 'Linux::Seccomp';
|
||||
+requires 'List::MoreUtils';
|
||||
+requires 'List::SomeUtils';
|
||||
requires 'List::Util';
|
||||
+requires 'List::UtilsBy';
|
||||
+requires 'LWP::Protocol::https';
|
||||
+requires 'Marpa::R2';
|
||||
+requires 'Math::BigFloat';
|
||||
+requires 'Math::BigInt';
|
||||
+requires 'Math::BigRat';
|
||||
+requires 'Math::Round';
|
||||
+requires 'Mojo::Collection';
|
||||
+requires 'Mojo::DOM';
|
||||
+requires 'Mojo::DOM::CSS';
|
||||
+requires 'Moose';
|
||||
+requires 'MooseX::Declare';
|
||||
+requires 'Net::Dict';
|
||||
+requires 'Net::DNS';
|
||||
+requires 'Net::INET6Glue::INET_is_INET6';
|
||||
+requires 'Path::Tiny';
|
||||
requires 'Perl::Tidy';
|
||||
requires 'Permute::Named::Iter';
|
||||
+requires 'POE';
|
||||
+requires 'POE::Component::IRC';
|
||||
+requires 'POE::Component::IRC::Common';
|
||||
+requires 'POSIX';
|
||||
+requires 'Quote::Code';
|
||||
+requires 'Rand::MersenneTwister';
|
||||
+requires 'Regexp::Common';
|
||||
+requires 'Return::MultiLevel';
|
||||
+requires 'Scalar::MoreUtils';
|
||||
+requires 'Scalar::Util'; #Required by Data::Dumper
|
||||
+requires 'Switch::Plain';
|
||||
+requires 'Syntax::Keyword::Try';
|
||||
+requires 'Sys::Linux::Namespace'.013;
|
||||
+requires 'Text::Levenshtein';
|
||||
+requires 'Text::Metaphone';
|
||||
+requires 'Time::Moment';
|
||||
+requires 'Try::Tiny::ByClass';
|
||||
+requires 'Types::Standard';
|
||||
+requires 'URI::Encode';
|
||||
+requires 'WWW::Mechanize';
|
||||
+requires 'WWW::Shorten';
|
||||
+requires 'XML::RSS::Parser';
|
||||
+requires 'YAPE::Regex::Explain';
|
|
@ -1,50 +0,0 @@
|
|||
requires 'BSD::Resource';
|
||||
requires 'Cache::FastMmap';
|
||||
requires 'Cache::File';
|
||||
requires 'Cache::Mmap';
|
||||
requires 'Config::General';
|
||||
requires 'DBD::SQLite';
|
||||
requires 'DBI';
|
||||
requires 'Encode';
|
||||
requires 'File::Slurper';
|
||||
requires 'File::Temp';
|
||||
requires 'HTTP::Status';
|
||||
requires 'IO::String';
|
||||
requires 'JSON::MaybeXS';
|
||||
requires 'Linux::Clone';
|
||||
requires 'Linux::Seccomp';
|
||||
requires 'List::Util';
|
||||
requires 'Memoize';
|
||||
requires 'Moo';
|
||||
requires 'POE';
|
||||
requires 'POE::Component::IRC';
|
||||
requires 'POE::Component::IRC::Common';
|
||||
requires 'POE::Component::IRC::Plugin::AutoJoin';
|
||||
requires 'POE::Component::IRC::Plugin::Connector';
|
||||
requires 'POE::Component::IRC::Plugin::NickReclaim';
|
||||
requires 'POE::Component::IRC::State';
|
||||
requires 'POE::Component::Server::SimpleHTTP';
|
||||
requires 'POE::Component::Server::TCP';
|
||||
requires 'POE::Filter::Line';
|
||||
requires 'POE::Filter::Reference';
|
||||
requires 'POE::Filter::Stream';
|
||||
requires 'POE::Session';
|
||||
requires 'POE::Wheel::ReadWrite';
|
||||
requires 'POE::Wheel::Run';
|
||||
requires 'POE::Wheel::SocketFactory';
|
||||
requires 'Parse::RecDescent';
|
||||
requires 'Perl::Tidy';
|
||||
requires 'Permute::Named::Iter';
|
||||
requires 'Scalar::Util';
|
||||
requires 'Socket';
|
||||
requires 'Sys::Linux::Mount';
|
||||
requires 'Sys::Linux::Namespace';
|
||||
requires 'Template';
|
||||
requires 'Term::ANSIColor';
|
||||
requires 'Text::Glob';
|
||||
requires 'Text::Handlebars';
|
||||
requires 'Text::Metaphone';
|
||||
requires 'Text::ParseWords';
|
||||
requires 'Tie::Hash::NamedCapture';
|
||||
requires 'autodie';
|
||||
requires 'perl', '5.24';
|
|
@ -1,23 +0,0 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Module::CPANfile;
|
||||
use Data::Dumper;
|
||||
|
||||
my $file = Module::CPANfile->load("/home/ryan/bots/perlbuut/cpanfile");
|
||||
|
||||
my $prereqs = $file->prereqs;
|
||||
|
||||
my @phases = $prereqs->phases;
|
||||
my @prereqs;
|
||||
|
||||
for my $phase (@phases) {
|
||||
# TODO try/catch and check other types
|
||||
for my $type (qw/requires recommends/) {
|
||||
push @prereqs, $prereqs->requirements_for($phase, $type)->required_modules;
|
||||
}
|
||||
}
|
||||
|
||||
# TODO uniq
|
||||
|
||||
print Dumper(\@prereqs);
|
|
@ -1,91 +1,165 @@
|
|||
requires 'App::EvalServerAdvanced';
|
||||
requires 'arybase';
|
||||
requires 'autovivification';
|
||||
requires 'bigint';
|
||||
requires 'BSD::Resource';
|
||||
requires 'Cache::FastMmap';
|
||||
requires 'Capture::Tiny';
|
||||
requires 'Class::Tiny';
|
||||
requires 'Sys::Linux::Namespace' => 'v0.13.0';
|
||||
requires 'POE';
|
||||
requires 'Parse::RecDescent';
|
||||
requires 'Config::General';
|
||||
requires 'Cpanel::JSON::XS';
|
||||
requires 'Cwd';
|
||||
requires 'Data::Dumper';
|
||||
requires 'Data::Munge';
|
||||
requires 'Date::Parse';
|
||||
requires 'DateTime';
|
||||
requires 'DateTimeX::Easy';
|
||||
requires 'Cache::FastMmap';
|
||||
requires 'POE::Component::IRC::Common';
|
||||
requires 'POE::Component::IRC';
|
||||
requires 'Text::Handlebars';
|
||||
|
||||
requires 'Geo::IP';
|
||||
requires 'XML::RSS::Parser';
|
||||
requires 'WWW::Shorten';
|
||||
requires 'WWW::Mechanize';
|
||||
requires 'URI::Encode';
|
||||
requires 'Text::Glob';
|
||||
|
||||
requires 'DBD::SQLite';
|
||||
requires 'DBD::SQLite::BundledExtensions';
|
||||
requires 'DBI';
|
||||
requires 'Net::DNS';
|
||||
requires 'HTML::TreeBuilder';
|
||||
requires 'Net::INET6Glue::INET_is_INET6';
|
||||
|
||||
requires 'Net::Dict';
|
||||
requires 'HTML::TreeBuilder::XPath';
|
||||
|
||||
requires 'Data::Dumper';
|
||||
requires 'Scalar::Util'; #Required by Data::Dumper
|
||||
requires 'BSD::Resource';
|
||||
requires 'File::Glob';
|
||||
requires 'POSIX';
|
||||
requires 'POSIX::strptime';
|
||||
|
||||
requires 'List::Util';
|
||||
requires 'List::MoreUtils';
|
||||
requires 'List::UtilsBy';
|
||||
requires 'Data::Munge';
|
||||
requires 'Scalar::MoreUtils';
|
||||
requires 'Regexp::Common';
|
||||
requires 'Encode';
|
||||
requires 'Digest::MD5';
|
||||
requires 'Digest::SHA';
|
||||
requires 'Encode';
|
||||
requires 'Errno';
|
||||
requires 'File::Glob';
|
||||
requires 'File::Open';
|
||||
requires 'File::Slurper';
|
||||
requires 'File::Temp';
|
||||
requires 'Function::Parameters';
|
||||
requires 'Future';
|
||||
requires 'Geo::IP';
|
||||
requires 'HTML::TreeBuilder';
|
||||
requires 'HTML::TreeBuilder::XPath';
|
||||
requires 'indirect';
|
||||
requires 'IO::Async';
|
||||
requires 'IPC::Run';
|
||||
requires 'JSON';
|
||||
requires 'JSON::MaybeXS';
|
||||
requires 'JSON::PP';
|
||||
requires 'JSON::Tiny';
|
||||
requires 'JSON::XS';
|
||||
requires 'Linux::Seccomp';
|
||||
requires 'List::MoreUtils';
|
||||
requires 'List::SomeUtils';
|
||||
requires 'List::Util';
|
||||
requires 'List::UtilsBy';
|
||||
requires 'LWP::Protocol::https';
|
||||
requires 'Marpa::R2';
|
||||
requires 'Math::BigFloat';
|
||||
requires 'Math::BigInt';
|
||||
requires 'Math::BigRat';
|
||||
requires 'Math::Round';
|
||||
requires 'Mojo::Collection';
|
||||
requires 'Mojo::DOM';
|
||||
requires 'Mojo::DOM::CSS';
|
||||
requires 'Moo';
|
||||
requires 'DateTime';
|
||||
requires 'DateTimeX::Easy';
|
||||
requires 'Date::Parse';
|
||||
|
||||
requires 'Moose';
|
||||
requires 'MooseX::Declare';
|
||||
requires 'Net::Dict';
|
||||
requires 'Net::DNS';
|
||||
requires 'Net::INET6Glue::INET_is_INET6';
|
||||
requires 'Parse::RecDescent';
|
||||
requires 'Path::Tiny';
|
||||
requires 'Perl::Tidy';
|
||||
requires 'Permute::Named::Iter';
|
||||
requires 'POE';
|
||||
requires 'POE::Component::IRC';
|
||||
requires 'POE::Component::IRC::Common';
|
||||
requires 'POSIX';
|
||||
requires 'Quote::Code';
|
||||
|
||||
requires 'Function::Parameters';
|
||||
|
||||
requires 'Rand::MersenneTwister';
|
||||
requires 'Regexp::Common';
|
||||
requires 'Return::MultiLevel';
|
||||
requires 'Scalar::MoreUtils';
|
||||
requires 'Scalar::Util'; #Required by Data::Dumper
|
||||
# requires 'arybase'; # removed in 5.29
|
||||
requires 'Errno';
|
||||
requires 'JSON';
|
||||
requires 'JSON::PP';
|
||||
requires 'JSON::XS';
|
||||
requires 'JSON::MaybeXS';
|
||||
requires 'Cpanel::JSON::XS';
|
||||
|
||||
requires 'LWP::Protocol::https';
|
||||
requires 'Mojo::DOM';
|
||||
requires 'Mojo::DOM::CSS';
|
||||
requires 'Mojo::Collection';
|
||||
requires 'YAPE::Regex::Explain';
|
||||
requires 'bigint';
|
||||
requires 'Math::BigInt';
|
||||
requires 'Math::BigFloat';
|
||||
requires 'Math::BigRat';
|
||||
requires 'indirect';
|
||||
requires 'Moo';
|
||||
requires 'autovivification';
|
||||
|
||||
requires 'Linux::Seccomp';
|
||||
requires 'Cwd';
|
||||
# requires 'Algorithm::Permute';
|
||||
requires 'File::Slurper';
|
||||
requires 'Path::Tiny';
|
||||
requires 'Time::Moment';
|
||||
requires 'Switch::Plain';
|
||||
requires 'Syntax::Keyword::Try';
|
||||
requires 'Sys::Linux::Namespace'.013;
|
||||
requires 'Text::Glob';
|
||||
requires 'Text::Handlebars';
|
||||
requires 'Quote::Code';
|
||||
# requires 'JSON::Tiny'; # broken in the canary
|
||||
|
||||
requires 'List::SomeUtils';
|
||||
requires 'IO::Async';
|
||||
requires 'Future';
|
||||
requires 'Class::Tiny';
|
||||
requires 'Capture::Tiny';
|
||||
|
||||
requires 'Return::MultiLevel';
|
||||
requires 'Try::Tiny::ByClass';
|
||||
requires 'IPC::Run';
|
||||
requires 'Text::Metaphone';
|
||||
|
||||
requires 'DBD::SQLite::BundledExtensions';
|
||||
requires 'Text::Levenshtein';
|
||||
requires 'Text::Metaphone';
|
||||
requires 'Text::Metaphone';
|
||||
requires 'Time::Moment';
|
||||
requires 'Try::Tiny::ByClass';
|
||||
requires 'Math::Round';
|
||||
requires 'Twitter::API';
|
||||
requires 'Types::Standard';
|
||||
requires 'URI::Encode';
|
||||
requires 'WWW::Mechanize';
|
||||
requires 'WWW::Shorten';
|
||||
requires 'XML::RSS::Parser';
|
||||
requires 'YAPE::Regex::Explain';
|
||||
requires 'Perl::Tidy';
|
||||
requires 'File::Temp';
|
||||
requires 'Permute::Named::Iter';
|
||||
requires 'Marpa::R2';
|
||||
requires 'Syntax::Keyword::Try';
|
||||
requires 'File::Open';
|
||||
requires 'App::EvalServerAdvanced';
|
||||
requires 'Dir::ls';
|
||||
requires 'Object::Tap';
|
||||
requires 'XML::LibXML';
|
||||
# requires 'Sereal'; # comment out temporarily
|
||||
|
||||
requires 'Email::Sender::Transport::Test';
|
||||
requires 'Task::Kensho::Async';
|
||||
requires 'Task::Kensho::Config';
|
||||
#requires 'Task::Kensho::Date';
|
||||
#requires 'Task::Kensho::DBDev';
|
||||
requires 'Task::Kensho::Email';
|
||||
requires 'Task::Kensho::Logging';
|
||||
requires 'Task::Kensho::ModuleDev';
|
||||
requires 'Task::Kensho::OOP';
|
||||
#requires 'Task::Kensho::Testing';
|
||||
#requires 'Task::Kensho::XML';
|
||||
requires 'Text::Unidecode';
|
||||
requires 'experimental';
|
||||
|
||||
requires 'Math::Calc::Parser';
|
||||
|
||||
requires 'ReadonlyX';
|
||||
requires 'Const::Fast';
|
||||
requires 'DateTime::Event::Holiday::US';
|
||||
requires 'App::EvalServerAdvanced::ConstantCalc';
|
||||
|
||||
requires 'Crypt::OpenSSL::X509';
|
||||
|
||||
requires 'Math::Random::Secure'; # undeclared dep of Data::Random::Flexible
|
||||
requires 'Data::Random::Flexible';
|
||||
requires 'Acme::AsciiEmoji';
|
||||
requires 'PadWalker';
|
||||
requires 'Encode::Simple';
|
||||
requires 'PPR';
|
||||
requires 'Keyword::Simple';
|
||||
requires 'Unicode::UTF8';
|
||||
requires 'List::Gather';
|
||||
requires 'Lingua::EN::Inflexion';
|
||||
requires 'local::lib';
|
||||
requires 'Array::Utils';
|
||||
requires 'DBD::SQLite';
|
||||
requires 'Mojo::SQLite';
|
||||
requires 'FFI::Platypus';
|
||||
requires 'Perl6::Take';
|
||||
requires 'List::AllUtils';
|
||||
requires 'IRC::FromANSI::Tiny';
|
||||
requires 'Unicode::GCString';
|
||||
requires 'Unicode::Util';
|
||||
requires 'Unicode::Collate';
|
||||
requires 'more';
|
||||
requires 'Data::Dumper::Compact';
|
||||
requires 'Carp::Always';
|
||||
requires 'V';
|
||||
requires 'Path::Tiny';
|
||||
requires 'CryptX';
|
||||
requires 'MIME::Base64';
|
||||
requires 'DateTime::Event::Cron';
|
||||
requires 'Regexp::Assemble';
|
||||
requires 'Regexp::Optimizer';
|
Loading…
Add table
Reference in a new issue