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 225-230
sub GetPlugins {
Link Here
|
225 |
next unless $plugin->is_enabled or |
225 |
next unless $plugin->is_enabled or |
226 |
defined($params->{all}) && $params->{all}; |
226 |
defined($params->{all}) && $params->{all}; |
227 |
|
227 |
|
|
|
228 |
# Check metadata for required perl modules |
229 |
my $libs = $plugin->get_metadata->{libs}; |
230 |
my @missing_libs; |
231 |
foreach my $lib (@$libs) { |
232 |
unless ( check_install( module => $lib->{module} ) ) { |
233 |
push( @missing_libs, $lib ); |
234 |
} |
235 |
} |
236 |
if (@missing_libs) { |
237 |
push @plugins, { error => 'missing_libs', name => $plugin_class, libs => \@missing_libs }; |
238 |
next; |
239 |
} |
240 |
|
228 |
# filter the plugin out by metadata |
241 |
# filter the plugin out by metadata |
229 |
my $plugin_metadata = $plugin->get_metadata; |
242 |
my $plugin_metadata = $plugin->get_metadata; |
230 |
next |
243 |
next |