diff options
author | Peter Oliver <git@mavit.org.uk> | 2015-05-09 13:23:32 +0100 |
---|---|---|
committer | Peter Oliver <git@mavit.org.uk> | 2015-05-09 13:23:32 +0100 |
commit | 0e49368a159b4118acbcb353060e55160483e37b (patch) | |
tree | 4d8e9d2cb37440824b6f3baa36e3718956f1d59f | |
parent | be59e0dd68742ed8ced48165aa6650b9bfdd9ad8 (diff) | |
download | carton-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.pm | 4 |
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; |