NAME

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

INHERITANCE

OODoc::Manifest
  is an OODoc::Object

SYNOPSIS

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

DESCRIPTION

Extends "DESCRIPTION" in OODoc::Object.

OVERLOADED

Extends "OVERLOADED" in OODoc::Object.

overload: '==' and '!=' (numeric comparison)

Inherited, see "OVERLOADED" in OODoc::Object

overload: 'bool'

Inherited, see "OVERLOADED" in OODoc::Object

overload: @{}

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

METHODS

Extends "METHODS" in OODoc::Object.

Constructors

Extends "Constructors" in OODoc::Object.

$class->new(%options)

Inherited, see "Constructors" in OODoc::Object

-Option  --Default
 filename  undef
filename => $filename

The $filename where the manifest is in. When the name is not defined, the data will not be written.

Attributes

Extends "Attributes" in OODoc::Object.

$obj->filename()

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

$obj->unique()

Inherited, see "Attributes" in OODoc::Object

Manual Repository

Extends "Manual Repository" in OODoc::Object.

$obj->addManual($manual)

Inherited, see "Manual Repository" in OODoc::Object

$obj->findManual($name)

Inherited, see "Manual Repository" in OODoc::Object

$obj->mainManual($name)

Inherited, see "Manual Repository" in OODoc::Object

$obj->manuals()

Inherited, see "Manual Repository" in OODoc::Object

$obj->manualsForPackage($name)

Inherited, see "Manual Repository" in OODoc::Object

$obj->packageNames()

Inherited, see "Manual Repository" in OODoc::Object

$obj->publicationIndex()

Inherited, see "Manual Repository" in OODoc::Object

$obj->publish(\%options)

Inherited, see "Manual Repository" in OODoc::Object

The manifest list

$obj->add(@filenames)

Adds the @filenames to the manifest, doubles are ignored.

$obj->files()

Returns an unsorted list with all filenames in this manifest.

Internals

$obj->modified( [BOOLEAN] )

Whether filenames have been added to the list after initiation.

$obj->read()

Read the MANIFEST file. The comments are stripped from the lines.

$obj->relative($filename)

Returns the name of the file relative to the location of the MANIFEST file. The MANIFEST file should always be in top of the directory tree, so the $filename should be in the same directory and below.

$obj->write()

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

DIAGNOSTICS

Warning: MANIFEST file $file lists filename outside (sub)directory: $out

The MANIFEST file of a distributed package should be located in the top directory of that packages. All files of the distribution are in that same directory, or one of its sub-directories, otherwise they will not be packaged.

Fault: cannot read manifest file $file: $!

The manifest file could not be opened for reading.

Fault: cannot write manifest $file: $!

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

SEE ALSO

This module is part of OODoc version 3.02, built on August 15, 2025. Website: https://perl.overmeer.net/oodoc/

LICENSE

For contributors see file ChangeLog.

This software is copyright (c) 2003-2025 by Mark Overmeer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.