use Cwd;
use Class::MOP;
use String::RewritePrefix;
-use List::MoreUtils qw/ any /;
use namespace::clean;
return $tmpdir->stringify;
}
+=head2 home($class)
+
+Returns home directory for given class.
+
=head2 dist_indicator_file_list
-Returns a list of files which can be tested to check if you're inside a checkout
+Returns a list of files which can be tested to check if you're inside
+a CPAN distribution which is not yet installed.
-=cut
+These are:
-sub dist_indicator_file_list {
- qw/ Makefile.PL Build.PL dist.init /;
-}
+=over
-=head2 home($class)
+=item Makefile.PL
-Returns home directory for given class.
+=item Build.PL
+
+=item dist.ini
+
+=item L<cpanfile>
+
+=back
=cut
+sub dist_indicator_file_list {
+ qw{Makefile.PL Build.PL dist.ini cpanfile};
+}
+
sub home {
my $class = shift;
$home = $home->parent while $home =~ /b?lib$/;
# only return the dir if it has a Makefile.PL or Build.PL or dist.ini
- if (any { $_ } map { -f $home->file($_) } dist_indicator_file_list()) {
-
+ if (grep { -f $home->file($_) } dist_indicator_file_list()) {
# clean up relative path:
# MyApp/script/.. -> MyApp