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 243-248
sub GetPlugins {
Link Here
|
243 |
next unless $plugin->is_enabled or |
243 |
next unless $plugin->is_enabled or |
244 |
defined($params->{all}) && $params->{all}; |
244 |
defined($params->{all}) && $params->{all}; |
245 |
|
245 |
|
|
|
246 |
# Check metadata for required perl modules |
247 |
my $libs = $plugin->get_metadata->{libs}; |
248 |
my @missing_libs; |
249 |
foreach my $lib (@$libs) { |
250 |
unless ( check_install( module => $lib->{module} ) ) { |
251 |
push( @missing_libs, $lib ); |
252 |
} |
253 |
} |
254 |
if (@missing_libs) { |
255 |
push @plugins, { error => 'missing_libs', name => $plugin_class, libs => \@missing_libs }; |
256 |
next; |
257 |
} |
258 |
|
246 |
# filter the plugin out by metadata |
259 |
# filter the plugin out by metadata |
247 |
my $plugin_metadata = $plugin->get_metadata; |
260 |
my $plugin_metadata = $plugin->get_metadata; |
248 |
next |
261 |
next |