Skip to content

Commit

Permalink
CPAN Release 0.03
Browse files Browse the repository at this point in the history
- Refactor common logic into Inline::Module
  • Loading branch information
ingydotnet committed Dec 18, 2014
1 parent 0ac8f0a commit 14e7987
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 23 deletions.
5 changes: 5 additions & 0 deletions Changes
@@ -1,4 +1,9 @@
---
version: 0.03
date: Thu Dec 18 11:15:52 PST 2014
changes:
- Refactor common logic into Inline::Module
---
version: 0.02
date: Wed Dec 17 15:06:29 PST 2014
changes:
Expand Down
4 changes: 2 additions & 2 deletions Meta
@@ -1,7 +1,7 @@
=meta: 0.0.2

name: Module-Build-InlineModule
version: 0.02
version: 0.03
abstract: Module::Build Support for Inline::Module
homepage: https://metacpan.org/release/Module-Build-InlineModule
language: perl
Expand All @@ -23,5 +23,5 @@ devel:

requires:
perl: 5.8.1
Inline::Module: 0
Inline::Module: 0.25
Module::Build: 0
39 changes: 18 additions & 21 deletions lib/Module/Build/InlineModule.pm
@@ -1,6 +1,6 @@
use strict; use warnings;
package Module::Build::InlineModule;
our $VERSION = '0.02';
our $VERSION = '0.03';

use base 'Module::Build';
__PACKAGE__->add_property('inline');
Expand All @@ -10,14 +10,14 @@ use Inline::Module();
sub ACTION_code {
my $self = shift;
$self->SUPER::ACTION_code(@_);
my $inline = $self->get_inline;
my $meta = $self->get_meta;
my @inc = @INC;
local @INC = (
(-e 'inc' ? ('inc') : ()),
'lib',
@inc,
);
for my $module (@{$inline->{module}}) {
for my $module (@{$meta->{module}}) {
eval "require $module; 1" or die $@;
}
Inline::Module->handle_fixblib;
Expand All @@ -27,33 +27,30 @@ sub ACTION_distdir {
my $self = shift;
$self->SUPER::ACTION_distdir(@_);
my $distdir = $self->dist_dir;
my $inline = $self->get_inline;
my $meta = $self->get_meta;

my $inline_module = Inline::Module->new(%$inline);
my $stub_modules = $inline->{stub};
my @included_modules = $inline_module->included_modules;
my $stub_modules = $meta->{stub};
my $included_modules = Inline::Module->included_modules($meta);

Inline::Module->handle_distdir(
my $files_added = Inline::Module->add_to_distdir(
$distdir,
@$stub_modules,
'--',
@included_modules,
$stub_modules,
$included_modules,
);

# XXX ask leont:
# $self->_add_to_manifest($_)
# for @$files_added;
}

# Replace this with call to Inline::Module
sub get_inline {
sub get_meta {
my $self = shift;
my $inline = $self->{properties}{inline}
my $meta = $self->{properties}{inline}
or die "Missing Module::Build property: 'inline'";
$inline->{module} or die
$meta->{module} or die
"Module::Build::InlineModule property 'inline' missing key 'module'";
$inline->{module} = [$inline->{module}] unless ref $inline->{module};
$inline->{stub} ||= [ map "${_}::Inline", @{$inline->{module}} ];
$inline->{stub} = [$inline->{stub}] unless ref $inline->{stub};
$inline->{ilsm} ||= 'Inline::C';
$inline->{ilsm} = [$inline->{ilsm}] unless ref $inline->{ilsm};
return $inline;
Inline::Module->default_meta($meta);
return $meta;
}

1;

0 comments on commit 14e7987

Please sign in to comment.