NAME

MyCPAN::App::DPAN::Indexer - Create a D(ark)PAN out of the indexed distributions

SYNOPSIS

        use MyCPAN::Indexer;

DESCRIPTION

This module implements the indexer_class and reporter_class components to allow backpan_indexer.pl to create a CPAN-like directory structure with its associated index files. This application of MyCPAN::Indexer is specifically aimed at creating a 02packages.details file, so it strives to collect a minimum of information.

It runs through the indexing and prints a report at the end of the run.

Indexer class

examine_dist_steps

Returns the list of techniques that examine_dist should use to index distributions. See the documentation in MyCPAN::Indexer::examine_dist_steps.

For DPAN, unpack the dist, ensure you are in the dist directory, the find the modules.

find_module_techniques

Returns the list of techniques that find_modules should use to look for Perl module files. See the documentation in MyCPAN::Indexer::find_modules.

Save this feature for another time

        my $config = $self->get_coordinator->get_config;

        if( my @techniques = $config->get( 'find_module_techniques' ) ) {
                $logger->debug( "Using techniques [@techniques] to find modules" );

                @techniques = map {
                        my $can =  $self->can( $_ );
                        $logger->warn( "The technique [$_] is unknown" )
                                unless $can;
                        $can ? [ $_, 'Technique $_ specified by config' ] : ();
                        } @techniques;

                return \@techniques;
                }
get_module_info_tasks

Returns the list of techniques that get_module_info should use to extract data from Perl module files. See the documentation in MyCPAN::Indexer::get_module_info.

setup_run_info

Like setup_run_info in MyCPAN::Indexer, but it remembers fewer things. The DarkPAN census really just cares about finding packages, so the details about the run aren't as interesting.

setup_dist_info

Like setup_dist_info in MyCPAN::Indexer, but it remembers fewer things. The test census really just cares about statements in the test files, so the details about the distribution aren't as interesting.

SOURCE AVAILABILITY

This code is in Github:

        git://github.com/briandfoy/mycpan-app-dpan.git

AUTHOR

brian d foy, <bdfoy@cpan.org>

COPYRIGHT AND LICENSE

Copyright © 2010-2018, brian d foy <bdfoy@cpan.org>. All rights reserved.

You may redistribute this under the terms of the Artistic License 2.0.