NAME ^

Parrot::Distribution - Parrot Distribution Directory

SYNOPSIS ^

    use Parrot::Distribution;

    my $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()

c_header_file_directories()

pmc_source_file_directories()

yacc_source_file_directories()

lex_source_file_directories()

ops_source_file_directories()

Returns the directories which contain source files of the appropriate filetype.

c_source_file_with_name($name)

c_header_file_with_name($name)

pmc_source_file_with_name($name)

yacc_source_file_with_name($name)

lex_source_file_with_name($name)

ops_source_file_with_name($name)

Returns the source file with the specified name and of the appropriate filetype.

c_source_files()

c_header_files()

pmc_source_files()

yacc_source_files()

lex_source_files()

ops_source_files()

Returns a sorted list of the source files listed within the MANIFEST of Parrot. Returns a list of Parrot::IO::File objects of the appropriate filetype.

get_c_language_files()

Returns the C language source files within Parrot. Namely:

C source files *.c

C header files *.h

(f)lex files *.l

yacc/bison files *.y

pmc files *.pmc

ops files *.ops

returns a Parrot::Docs::File object

is_c_exemption()

Determines if the given filename is an exemption to being in the C source. This is to exclude automatically generated C-language files Parrot might have.

get_perl_language_files()

Returns the Perl language source files within Parrot. Namely:

Perl source files *.pl

Perl module files *.pm

.in files *.in

test files *.t

is_perl_exemption()

Determines if the given filename is an exemption to being in the Perl source. This is to exclude automatically generated Perl-language files, and any external modules Parrot might have.

get_perl_exemption_regexp()

Returns a list of regular expressions containing the currently coding-standard-exempt Perl files within Parrot

is_perl()

Determines if the given filename is Perl source

get_pir_language_files()

Returns the PIR language source files within Parrot.

returns a Parrot::Docs::File object

file_for_perl_module($module)

Returns the Perl module file for the specified module.

perl_script_file_directories()

Returns the directories which contain perl source files.

(but misses Configure.pl...)

perl_script_file_with_name($name)

Returns the perl script with the specified name.

perl_module_file_directories()

Returns the directories which contain perl module files.

perl_module_file_with_name($name)

Returns the perl module file with the specified name.

docs_directory()

Returns the documentation directory.

html_docs_directory()

Returns the HTML documentation directory.

delete_html_docs()

Deletes the HTML documentation directory.

generated_files

Returns a hash where the keys are the files in MANIFEST.generated and the values are the comments.

slurp

Returns the text of the file at the given path


parrot