Asset-Pack

 view release on metacpan or  search on metacpan

lib/Asset/Pack.pm  view on Meta::CPAN

=back

=head1 SEE ALSO

=over 4

=item * L<< C<App::FatPacker>|App::FatPacker >>

C<App::FatPacker> is the primary module C<Asset::Pack> is targeted at. C<AssetPack>
creates C<Perl Modules> in a format compatible with C<App::FatPacker> to enable embedding
arbitrary resources in your single-file application.

=item * L<< C<App::Implode>|App::Implode >>

C<App::Implode> is like C<App::FatPacker>, except uses L<< C<Carton>|Carton >> and C<cpanfile>'s
to build your app tree. This should be compatible with C<Asset::Pack> and bugs involving it will
certainly be looked into.

=item * L<< C<App::FatPacker::Simple>|App::FatPacker::Simple >>

Again, Similar in intent to C<App::FatPacker>, offering a few different features, but
is more manually operated. This module may work in conjunction with it.

=item * L<< C<Module::FatPack>|Module::FatPack >>

Similar goals as C<App::FatPacker>, but not quite so well engineered. This code will
probably work with that, but is at this time officially unsupported.

=item * L<< C<Module::DataPack>|Module::DataPack >>

This is basically a clone of C<Module::FatPack> except has the blobs stored in your scripts
C<__DATA__> section instead of being a hash of strings.

Given this module I<also> exploits C<__DATA__>, there may be potential risks involved with this module.
And as such, this is not presently officially supported, nor has it been tested.

=item * L<< C<Data::Embed>|Data::Embed >>

C<Data::Embed> is probably more similar than all the rest listed to what C<Asset::Pack> does,
except: it doesn't use built-in C<Perl> mechanics, will probably not be C<FatPacker> friendly, and its
implementation relies on C<Data::Embed> being present to extract embedded data.

Whereas C<Asset::Pack> is implemented as a simple C<Perl Module> building utility, which generates
independent files which will perform like native C<Perl Module>'s when used.

=back

=head1 PERL LEGACY SUPPORT

At present, this distribution only works on C<< Perl >=5.8 >>. ( Though the files it
B<generates> should work as-is on C<5.6> )

This is mostly due to its dependencies:

=over 4

=item * L<< C<Path::Tiny>|Path::Tiny >> is used extensively for mechanics, but C<Path::Tiny>
does not presently (Circa C<0.72>) work on C<< Perl <5.8 >>
(L<< details on C<GitHub>|https://github.com/dagolden/Path-Tiny/issues/145 >>)

=item * L<< C<Test::Differences>|Test::Differences >> is used a fair bit in tests, and
it won't auto-install on 5.6. But careful selection of dependencies will get you a
working install

=over 4

=item * C<< SMUELLER/Data-Dumper-2.128.tar.gz >> is newest version of Data::Dumper that
works on C<5.6.2>, versions C<2.130_03> to C<2.154> presently fail.

=item * C<< OVID/Test-Differences-0.61.tar.gz >> is the newest version of
Test::Differences that works on C<5.6.2>, versions C<0.61_01> to C<0.63> presently fail.

=back

=item * L<< C<Test::TempDir::Tiny>|Test::TempDir::Tiny >> is used a fair bit in tests as
well, and as of C<0.005-TRIAL>, C<5.6> support is
L<< still lacking|https://github.com/dagolden/Test-TempDir-Tiny/issues/9 >>, albeit support is
L<< intended|https://github.com/dagolden/Test-TempDir-Tiny/commit/bbf9f899ddee1959867e1ad3a4830bea5400f1ef >>

=back

The maintainer of this module will however accept patches to get closer to full 5.6 support where it
makes sense to, at the request of interested parties.

=head1 AUTHOR

James Laver <james.laver@gmail.com>

=head1 CONTRIBUTOR

=for stopwords Kent Fredric

Kent Fredric <kentnl@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by James Laver on time generously donated by Anomalio.

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

=cut



( run in 2.000 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )