Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# CPANPLUS::Internals::Source

Perl 5 version 10.1 documentation
Go to top • Show page index • Download PDF

# CPANPLUS::Internals::Source

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
  - $cb->_build_trees( uptodate => BOOL, [use_stored => BOOL, path => $path, verbose => BOOL] )
  - $cb->_check_trees( [update_source => BOOL, path => PATH, verbose => BOOL] )
  - $cb->__check_uptodate( file => $file, name => $name, [update_source => BOOL, verbose => BOOL] )
  - $cb->_update_source( name => $name, [path => $path, verbose => BOOL] )
  - $cb->__create_author_tree([path => $path, uptodate => BOOL, verbose => BOOL])
  - $cb->_create_mod_tree([path => $path, uptodate => BOOL, verbose => BOOL])
  - $cb->__create_dslip_tree([path => $path, uptodate => BOOL, verbose => BOOL])
  - $cb->_dslip_defs ()
  - $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );
  - $index = $cb->__custom_module_source_index_file( uri => $uri );
  - $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );
  - %files = $cb->__list_custom_module_sources
  - $bool = $cb->__update_custom_module_sources( [verbose => BOOL] );
  - $ok = $cb->__update_custom_module_source
  - $bool = $cb->__write_custom_module_index( path => /path/to/packages, [to => /path/to/index/file, verbose => BOOL] )
  - $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )

# NAME

CPANPLUS::Internals::Source

# SYNOPSIS

        ### lazy load author/module trees ###    $cb->_author_tree;    $cb->_module_tree;

# DESCRIPTION

CPANPLUS::Internals::Source controls the updating of source files and the parsing of them into usable module/author trees to be used by `CPANPLUS` .

Functions exist to check if source files are still `good to use` as well as update them, and then parse them.

The flow looks like this:

        $cb->_author_tree || $cb->_module_tree        $cb->_check_trees            $cb->__check_uptodate                $cb->_update_source            $cb->__update_custom_module_sources                 $cb->__update_custom_module_source        $cb->_build_trees            ### engine methods            {   $cb->_init_trees;                $cb->_standard_trees_completed                $cb->_custom_trees_completed            }                            $cb->__create_author_tree                ### engine methods                { $cb->_add_author_object }            $cb->__create_module_tree                $cb->__create_dslip_tree                ### engine methods                { $cb->_add_module_object }            $cb->__create_custom_module_entries                        $cb->_dslip_defs

# METHODS

## $cb->_build_trees( uptodate => BOOL, [use_stored => BOOL, path => $path, verbose => BOOL] )

This method rebuilds the author- and module-trees from source.

It takes the following arguments:

- uptodate

  Indicates whether any on disk caches are still ok to use.

- path

  The absolute path to the directory holding the source files.

- verbose

  A boolean flag indicating whether or not to be verbose.

- use_stored

  A boolean flag indicating whether or not it is ok to use previously stored trees. Defaults to true.

Returns a boolean indicating success.

## $cb->_check_trees( [update_source => BOOL, path => PATH, verbose => BOOL] )

Retrieve source files and return a boolean indicating whether or not the source files are up to date.

Takes several arguments:

- update_source

  A flag to force re-fetching of the source files, even if they are still up to date.

- path

  The absolute path to the directory holding the source files.

- verbose

  A boolean flag indicating whether or not to be verbose.

Will get information from the config file by default.

## $cb->__check_uptodate( file => $file, name => $name, [update_source => BOOL, verbose => BOOL] )

`__check_uptodate` checks if a given source file is still up-to-date and if not, or when `update_source` is true, will re-fetch the source file.

Takes the following arguments:

- file

  The source file to check.

- name

  The internal shortcut name for the source file (used for config lookups).

- update_source

  Flag to force updating of sourcefiles regardless.

- verbose

  Boolean to indicate whether to be verbose or not.

Returns a boolean value indicating whether the current files are up to date or not.

## $cb->_update_source( name => $name, [path => $path, verbose => BOOL] )

This method does the actual fetching of source files.

It takes the following arguments:

- name

  The internal shortcut name for the source file (used for config lookups).

- path

  The full path where to write the files.

- verbose

  Boolean to indicate whether to be verbose or not.

Returns a boolean to indicate success.

## $cb->__create_author_tree([path => $path, uptodate => BOOL, verbose => BOOL])

This method opens a source files and parses its contents into a searchable author-tree or restores a file-cached version of a previous parse, if the sources are uptodate and the file-cache exists.

It takes the following arguments:

- uptodate

  A flag indicating whether the file-cache is uptodate or not.

- path

  The absolute path to the directory holding the source files.

- verbose

  A boolean flag indicating whether or not to be verbose.

Will get information from the config file by default.

Returns a tree on success, false on failure.

## $cb->_create_mod_tree([path => $path, uptodate => BOOL, verbose => BOOL])

This method opens a source files and parses its contents into a searchable module-tree or restores a file-cached version of a previous parse, if the sources are uptodate and the file-cache exists.

It takes the following arguments:

- uptodate

  A flag indicating whether the file-cache is up-to-date or not.

- path

  The absolute path to the directory holding the source files.

- verbose

  A boolean flag indicating whether or not to be verbose.

Will get information from the config file by default.

Returns a tree on success, false on failure.

## $cb->__create_dslip_tree([path => $path, uptodate => BOOL, verbose => BOOL])

This method opens a source files and parses its contents into a searchable dslip-tree or restores a file-cached version of a previous parse, if the sources are uptodate and the file-cache exists.

It takes the following arguments:

- uptodate

  A flag indicating whether the file-cache is uptodate or not.

- path

  The absolute path to the directory holding the source files.

- verbose

  A boolean flag indicating whether or not to be verbose.

Will get information from the config file by default.

Returns a tree on success, false on failure.

## $cb->_dslip_defs ()

This function returns the definition structure (ARRAYREF) of the dslip tree.

## $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );

Adds a custom source index and updates it based on the provided URI.

Returns the full path to the index file on success or false on failure.

## $index = $cb->__custom_module_source_index_file( uri => $uri );

Returns the full path to the encoded index file for `$uri` , as used by all `custom module source` routines.

## $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );

Removes a custom index file based on the URI provided.

Returns the full path to the index file on success or false on failure.

## %files = $cb->__list_custom_module_sources

This method scans the 'custom-sources' directory in your base directory for additional sources to include in your module tree.

Returns a list of key value pairs as follows:

      /full/path/to/source/file%3Fencoded => http://decoded/mirror/path

## $bool = $cb->__update_custom_module_sources( [verbose => BOOL] );

Attempts to update all the index files to your custom module sources.

If the index is missing, and it's a `<a href="file://">file://</a>` uri, it will generate a new local index for you.

Return true on success, false on failure.

## $ok = $cb->__update_custom_module_source

Attempts to update all the index files to your custom module sources.

If the index is missing, and it's a `<a href="file://">file://</a>` uri, it will generate a new local index for you.

Return true on success, false on failure.

## $bool = $cb->__write_custom_module_index( path => /path/to/packages, [to => /path/to/index/file, verbose => BOOL] )

Scans the `path` you provided for packages and writes an index with all the available packages to `$path/packages.txt` . If you'd like the index to be written to a different file, provide the `to` argument.

Returns true on success and false on failure.

## $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )

Creates entries in the module tree based upon the files as returned by `__list_custom_module_sources` .

Returns true on success, false on failure.

Page index

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
  - $cb->_build_trees( uptodate => BOOL, [use_stored => BOOL, path => $path, verbose => BOOL] )
  - $cb->_check_trees( [update_source => BOOL, path => PATH, verbose => BOOL] )
  - $cb->__check_uptodate( file => $file, name => $name, [update_source => BOOL, verbose => BOOL] )
  - $cb->_update_source( name => $name, [path => $path, verbose => BOOL] )
  - $cb->__create_author_tree([path => $path, uptodate => BOOL, verbose => BOOL])
  - $cb->_create_mod_tree([path => $path, uptodate => BOOL, verbose => BOOL])
  - $cb->__create_dslip_tree([path => $path, uptodate => BOOL, verbose => BOOL])
  - $cb->_dslip_defs ()
  - $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );
  - $index = $cb->__custom_module_source_index_file( uri => $uri );
  - $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );
  - %files = $cb->__list_custom_module_sources
  - $bool = $cb->__update_custom_module_sources( [verbose => BOOL] );
  - $ok = $cb->__update_custom_module_source
  - $bool = $cb->__write_custom_module_index( path => /path/to/packages, [to => /path/to/index/file, verbose => BOOL] )
  - $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )

Recently read

Tools

- Preferences