When I use Module::Build->resume to pick up where a build left off, 
I'm not getting the @INC originally declared in the Build.PL. I think
I'm doing something wrong.

I'm working on a continuous integration and deployment system. For part
of the process, we run the Build.PL, try the test targets, then have to
go off to do some other work before we continue. Part of this deals
with external tools, so the main program doesn't have access to the
original Module::Build object.

In the main program, since I know most of the set up is already done, I
just want to resume. The external tool that started the whole thing may
have set parameters I don't know about, so I don't want to simply
re-run Build.PL.

This mostly works, but I ran into a situation where I think I'm missing
something I should be doing.

* This problem child has a custom Module::Build subclass in the inc/
directory, and in Build I can see that just fine:

    ....
      unshift @INC,
         (
         'inc',
         ....
         )
     ....

* I figure that resume should pick that up:

    #!perl
    use 5.010;

    use Module::Build;
    use Data::Dumper;
    
    my $mb = Module::Build->resume;
    say "The subclass is ", ref $mb;
    say Dumper( \...@inc );

* In the output, I see the name of the right subclass, but not 'inc' in
@INC.

* In Module::Build::Base::resume(), it adds $config_dir/lib to @INC.
Module::Build::Base::_construct() doesn't look like it does anything
with @INC either, but then it doesn't look like the original @INC is
stored in the config anyway.

Reply via email to