NAME

Parrot::Distribution - Parrot Distribution Directory

SYNOPSIS

use Parrot::Distribution;
$dist = Parrot::Distribution->new;

DESCRIPTION

Parrot::Distribution knows all kinds of stuff about the contents of the distribution.

This is a subclass of Parrot::Docs::Directory so that it can be used to build the HTML docs. There may come a time when it is necessary to make file_class() and directory_class() dynamic so that different file methods can be used depending on the circumstances.

Class Methods

new()

Searches up the file system tree from the current working directory looking for the distribution directory, and returns it if it finds it. The search is only performed once.

The criterion is that there should be a README file beginning with the words "This is Parrot" in the directory.

Raises an exception if the distribution root is not found.

Instance Methods

c_source_file_directories()

Returns the directories which contain C source files.

This is not really a complete list, for example icu is ignored.

c_source_file_with_name($name)

Returns the C source file with the specified name.

c_header_file_directories()

Returns the directories which contain C header files.

Currently only include/parrot.

c_header_file_with_name($name)

Returns the C header file with the specified name.

file_for_perl_module($module)

Returns the Perl module file for the specified module.

docs_directory()

Returns the documentation directory.

html_docs_directory()

Returns the HTML documentation directory.

delete_html_docs()

Deletes the HTML documentation directory.