X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FRunnable%2FInvocation.pm;fp=lib%2FMooseX%2FRunnable%2FInvocation.pm;h=644d24606c706a251f5ec516ba9da29598c09f31;hb=2828ce0c05df0079ece7c5ffd7c5767d3b666b78;hp=8ff092d56decb9c0795408da3f5849b2b43c8069;hpb=05e7b5d00bb9fc7ac545ae784438a1a659674893;p=gitmo%2FMooseX-Runnable.git diff --git a/lib/MooseX/Runnable/Invocation.pm b/lib/MooseX/Runnable/Invocation.pm index 8ff092d..644d246 100644 --- a/lib/MooseX/Runnable/Invocation.pm +++ b/lib/MooseX/Runnable/Invocation.pm @@ -45,13 +45,17 @@ sub BUILD { Class::MOP::load_class( $plugin ); - my $args = eval { - $plugin->_build_initargs_from_cmdline( - @{$self->plugins->{$orig}}, - ); - }; - if($@ && $plugin->can('_build_initargs_from_cmdline')){ - confess "Error building initargs for $plugin: $@"; + my $args; + if($plugin->meta->does_role('MooseX::Runnable::Invocation::Plugin::Role::CmdlineArgs')){ + $args = eval { + $plugin->_build_initargs_from_cmdline( + @{$self->plugins->{$orig}}, + ); + }; + + if($@) { + confess "Error building initargs for $plugin: $@"; + } } $plugin->meta->apply(