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 |