|
Lines 22-28
use Modern::Perl;
Link Here
|
| 22 |
use Array::Utils qw( array_minus ); |
22 |
use Array::Utils qw( array_minus ); |
| 23 |
use Class::Inspector; |
23 |
use Class::Inspector; |
| 24 |
use List::MoreUtils qw( any ); |
24 |
use List::MoreUtils qw( any ); |
| 25 |
use Module::Load::Conditional qw( can_load ); |
25 |
use Module::Load::Conditional qw( can_load check_install ); |
| 26 |
use Module::Load; |
26 |
use Module::Load; |
| 27 |
use Module::Pluggable search_path => ['Koha::Plugin'], except => qr/::Edifact(|::Line|::Message|::Order|::Segment|::Transport)$/; |
27 |
use Module::Pluggable search_path => ['Koha::Plugin'], except => qr/::Edifact(|::Line|::Message|::Order|::Segment|::Transport)$/; |
| 28 |
use Try::Tiny; |
28 |
use Try::Tiny; |
|
Lines 220-225
sub GetPlugins {
Link Here
|
| 220 |
next unless $plugin->is_enabled or |
220 |
next unless $plugin->is_enabled or |
| 221 |
defined($params->{all}) && $params->{all}; |
221 |
defined($params->{all}) && $params->{all}; |
| 222 |
|
222 |
|
|
|
223 |
# Check metadata for required perl modules |
| 224 |
my $libs = $plugin->get_metadata->{libs}; |
| 225 |
my @missing_libs; |
| 226 |
foreach my $lib (@$libs) { |
| 227 |
unless ( check_install( module => $lib->{module} ) ) { |
| 228 |
push( @missing_libs, $lib ); |
| 229 |
} |
| 230 |
} |
| 231 |
if (@missing_libs) { |
| 232 |
push @plugins, { error => 'missing_libs', name => $plugin_class, libs => \@missing_libs }; |
| 233 |
next; |
| 234 |
} |
| 235 |
|
| 223 |
# filter the plugin out by metadata |
236 |
# filter the plugin out by metadata |
| 224 |
my $plugin_metadata = $plugin->get_metadata; |
237 |
my $plugin_metadata = $plugin->get_metadata; |
| 225 |
next |
238 |
next |