NAME
Jar::Manifest - Read and Write Java Jar Manifests
SYNOPSIS
use Jar::Manifest qw(Dump Load);
# Read a Manifest
my $manifest_str = <<"MANIFEST";
Manifest-Version: 1.0
Created-By: 1.5.0_11-b03 (Sun Microsystems Inc.)
Built-By: JAPH
Name: org/myapp/foo/
Implementation-Title: Test Java JAR
Implementation-Version: 1.9
Implementation-Vendor: JAPH
MANIFEST
my $manifest = Load($manifest_str);
printf( "Jar built by -> %s\n", $manifest->{main}->{'Built-By'} );
printf(
"Name: %s\nVersion: %s\n",
$_->{Name}, $_->{'Implementation-Version'}
)
for @{ $manifest->{entries} };
# Write a manifest
my $manifest = {
# Main attributes
main => {
'Manifest-Version' => '1.0',
'Created-By' => '1.5.0_11-b03 (Sun Microsystems Inc.)',
'Built-By' => 'JAPH',
},
# Entries
entries => [
{
'Name' => 'org/myapp/foo/',
'Implementation-Title' => 'Test Java JAR',
'Implementation-Version' => '1.9',
'Implementation-Vendor' => 'JAPH',
}
],
};
my $manifest_string = Dump($manifest);
DESCRIPTION
Jar::Manifest
provides a perl interface to read and write Manifest files found within Java archives - typically META-INF/MANIFEST.MF
within a .jar
file.
The Jar Manifest specification can be found here http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#JAR_Manifest
METHODS
- Load($string)
-
use Jar::Manifest qw(Load); use Data::Dumper; my $manifest = Load($string); print Dumper $manifest;
Read the manifest contents in
$string
. Returns a hash-reference containing two keys. The main key is another hash-reference to the main attributes and corresponding values. The entries key is an array-ref of hashes containing per-entry attributes and the corresponding values - Dump($manifest)
-
print Dump($manifest);
Turns the
$manifest
data structure into a string that can be printed to aMANIFEST.MF
file. The$manifest
structure is expected to be in the same format as theLoad()
output.
DEPENDENCIES
BUGS AND LIMITATIONS
Please report any bugs or feature requests at https://github.com/mithun/perl-jar-manifest/issues
AUTHOR
Mithun Ayachit mithun@cpan.org
LICENSE AND COPYRIGHT
Copyright (c) 2014, Mithun Ayachit. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.