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

Returns the directories which contain C source files.

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.

pmc_source_file_directories()

Returns the directories which contain PMC source files.

pmc_source_file_with_name($name)

Returns the PMC source file with the specified name.

yacc_source_file_directories()

Returns the directories which contain yacc source files.

yacc_source_file_with_name($name)

Returns the yacc source file with the specified name.

lex_source_file_directories()

Returns the directories which contain lex source files.

lex_source_file_with_name($name)

Returns the lex source file with the specified name.

ops_source_file_directories()

Returns the directories which contain ops source files.

ops_source_file_with_name($name)

Returns the ops source file with the specified name.

get_c_language_files()

Returns the C language source files within Parrot. Namely:

C source files *.c

C header files *.h

(f)lex files *.lex

yacc/bison files *.y

pmc files *.pmc

ops files *.ops

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.

gen_manifest_skip

Query the svn:ignore property and generate the lines for MANIFEST.SKIP.

generated_files

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


parrot