summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Oliver <git@mavit.org.uk>2015-05-09 13:23:32 +0100
committerPeter Oliver <git@mavit.org.uk>2015-05-09 13:23:32 +0100
commit0e49368a159b4118acbcb353060e55160483e37b (patch)
tree4d8e9d2cb37440824b6f3baa36e3718956f1d59f
parentbe59e0dd68742ed8ced48165aa6650b9bfdd9ad8 (diff)
downloadcarton-0e49368a159b4118acbcb353060e55160483e37b.tar.gz
Don't die if no .meta directories are present.
Before this change, the following error message was emitted if no `.meta` directories were present: ``` invalid top directory at /usr/share/perl5/File/Find.pm line 472. ``` After this change, the following error message was emitted instead. I think this is more informative. ``` Couldn't find install metadata for Carton at /usr/local/share/perl5/Carton/Packer.pm line 61. ```
-rw-r--r--lib/Carton/Packer.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Carton/Packer.pm b/lib/Carton/Packer.pm
index 333aa09..dc1a2cf 100644
--- a/lib/Carton/Packer.pm
+++ b/lib/Carton/Packer.pm
@@ -84,7 +84,9 @@ sub installed_meta {
}
};
- File::Find::find({ wanted => $finder, no_chdir => 1 }, grep -d, map "$_/.meta", @INC);
+ my @meta_dirs = grep -d, map "$_/.meta", @INC;
+ File::Find::find({ wanted => $finder, no_chdir => 1 }, @meta_dirs)
+ if @meta_dirs;
# return the latest version
@meta = sort { version->new($b->version) cmp version->new($a->version) } @meta;