The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

App::Packager - Abstraction for Packagers

SYNOPSIS

App::Packager provides an abstract interface to a number of common packagers, trying to catch as much common behaviour as possible.

The main purpose is to have uniform access to application specific resources.

Supported packagers are PAR::Packer, Cava::Packager and unpackaged. In the latter case, the packager functions are emulated via Cava::Packager which provides fallback for unpackaged use.

For example:

    use App::Packager;
    print "My packager is: ", App::Packager::Packager(), "\n";

EXPORT

No functions are exported, they must be called with explicit package name.

FUNCTIONS

App::Packager::Packager

Returns the name of the actual packager, or undef if unpackaged.

App::Packager::Version

Returns the version of the actual packager, or "N/A" if unpackaged.

App::Packager::IsPackaged

Returns true if the application was packaged.

Note that it is usually easier, and safer, to use $App::Packager::PACKAGED for testing since that will work even if App::Packager is not available.

App::Packager::GetResourcePath

Returns the path name of the application resources directory.

App::Packager::GetResource($rsc)

Returns the file name of the application resource.

App::Packager::GetUserFile($rsc)

Returns the file name of the user specific resource.

AUTHOR

Johan Vromans, <JV at CPAN dot org>

BUGS

Please report any bugs or feature requests to bug-app-packager at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=App-Packager. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Development of this module takes place on GitHub: https://github.com/sciurius/perl-App-Packager.

You can find documentation for this module with the perldoc command.

    perldoc App::Packager

You can also look for information at:

ACKNOWLEDGEMENTS

This module was inspired by Mark Dootson;s Cava packager.

COPYRIGHT & LICENSE

Copyright 2017 Johan Vromans, all rights reserved.

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