The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

OODoc::Manifest - maintain the information inside a manifest file.

INHERITANCE

 OODoc::Manifest
   is a OODoc::Object

SYNOPSIS

 my $manifest = OODoc::Manifest->new(filename => ...);

DESCRIPTION

METHODS

overload: @{}

    Referencing this object as array will produce all filenames from the manifest.

$obj->add(FILENAMES)

    Adds the FILENAMES to the manifest, doubles are ignored.

$obj->filename

    The name of the file which is read or will be written.

$obj->files

    Returns an unsorted list with all filenames in this manifest.

$obj->modified([BOOLEAN])

    Whether filenames have been added to the list after initiation.

$obj->read

    Read the manifest file.

$obj->write

    Write the MANIFEST file if it has changed. The file will automatically be written when the object leaves scope.

Initiation

OODoc::Manifest->new(OPTIONS)

Inheritance

$obj->extends([OBJECT])

Commonly used functions

$obj->filenameToPackage(FILENAME)

OODoc::Manifest->filenameToPackage(FILENAME)

$obj->mergeObjects(OPTIONS)

$obj->mkdirhier(DIRECTORY)

OODoc::Manifest->mkdirhier(DIRECTORY)

$obj->unique

Manual database

All manuals can be reached everywhere in the program: it is a global collection.

$obj->addManual(MANUAL)

$obj->mainManual(NAME)

$obj->manuals

$obj->manualsForPackage(NAME)

$obj->packageNames

DIAGNOSTICS

Error: Cannot read manifest file $filename: $!

The manifest file could not be opened for reading.

Error: manual definition requires manual object

A call to addManual() expects a new manual object (a OODoc::Manual), however an incompatible thing was passed. Usually, intended was a call to manualsForPackage() or mainManual().

Warning: order conflict "$take" before "$insert" in $file line $number

The order of the objects in a sub-class shall be the same as that of the super class, otherwise the result of merging of the information received from both classes is undertermined.