Subject: | Dependency on File::Find::Rule behaves like a hard dependency |
0.013 recommends File::Find::Rule, that means the Test::WriteVariants can be installed without it. But then the find_input_inline_tests() call dies like this:
$ perl -Ilib -MTest::WriteVariants -e 'Test::WriteVariants->new()->find_input_inline_tests(search_patterns => [q{*.it}], search_dirs => [q{t/inline}])'
Can't locate File/Find/Rule.pm in @INC (you may need to install the File::Find::Rule module) (@INC contains: lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/perl5/vendor_perl/Module/Runtime.pm line 317.
The error message does not help a user to understand that he needs File::Find::Rule because of Test::WriteVariants::find_input_inline_tests().
It behaves exactly as 'require File::Find::Rule; File:Find::Rule->import(0.34);' that is normally leads to hard dependency in distribution metadata.
Please either change the dependency level to requires level, or wrap the use_module() into an eval block and die with more informative message.