NAME

My::Module::Meta - Information needed to build Astro::SpaceTrack

SYNOPSIS

use lib qw{ inc };
use My::Module::Meta;
my $meta = My::Module::Meta->new();
use JSON;
print "Required modules:\n", to_json(
    $meta->requires(), { pretty => 1 } );

DETAILS

This module centralizes information needed to build App::Satpass2. It is private to the App::Satpass2 package, and may be changed or retracted without notice.

METHODS

This class supports the following public methods:

new

use lib qw{ inc };
my $meta = My::Module::Meta->new();

This method instantiates the class.

abstract

This method returns the distribution's abstract.

add_to_cleanup

This method returns a reference to an array of files to be added to the cleanup.

author

This method returns the name of the distribution author

build_requires

use JSON;
print to_json( $meta->build_requires(), { pretty => 1 } );

This method computes and returns a reference to a hash describing the modules required to build the Astro::Coord::ECI package, suitable for use in a Build.PL build_requires key, or a Makefile.PL {META_MERGE}->{build_requires} key.

configure_requires

use YAML;
print Dump( $meta->configure_requires() );

This method returns a reference to a hash describing the modules required to configure the package, suitable for use in a Build.PL configure_requires key, or a Makefile.PL {META_MERGE}->{configure_requires} or CONFIGURE_REQUIRES key.

dist_name

This method returns the distribution name.

distribution

if ( $meta->distribution() ) {
    print "Making distribution\n";
} else {
    print "Not making distribution\n";
}

This method returns the value of the environment variable MAKING_MODULE_DISTRIBUTION at the time the object was instantiated.

license

This method returns the distribution's license.

meta_merge

use YAML;
print Dump( $meta->meta_merge() );

This method returns a reference to a hash describing the meta-data which has to be provided by making use of the builder's meta_merge functionality. This includes the dynamic_config and resources data.

Any arguments will be appended to the generated array.

module_name

This method returns the name of the module the distribution is based on.

no_index

This method returns the names of things which are not to be indexed by CPAN.

notice

my @exes = $meta->notice( \%opt );

This method prints a notice before building. It returns a list of executables to build.

The argument is the options hash returned by the build system.

provides

use YAML;
print Dump( [ $meta->provides() ] );

This method attempts to load Module::Metadata. If this succeeds, it returns a provides entry suitable for inclusion in meta_merge() data (i.e. 'provides' followed by a hash reference). If it can not load the required module, it returns nothing.

requires

use JSON;
print to_json( $meta->requires(), { pretty => 1 } );

This method computes and returns a reference to a hash describing the modules required to run the App::Satpass2 package, suitable for use in a Build.PL requires key, or a Makefile.PL PREREQ_PM key. Any additional arguments will be appended to the generated hash. In addition, unless distribution() is true, configuration-specific modules may be added.

requires_perl

print 'This package requires Perl ', $meta->requires_perl(), "\n";

This method returns the version of Perl required by the package.

script_files

This method returns a reference to an array containing the names of script files provided by this distribution. This array may be empty.

version_from

This method returns the name of the distribution file from which the distribution's version is to be derived.

ATTRIBUTES

This class has no public attributes.

ENVIRONMENT

MAKING_MODULE_DISTRIBUTION

This environment variable should be set to a true value if you are making a distribution. This ensures that no configuration-specific information makes it into META.yml.

SUPPORT

Support is by the author. Please file bug reports at https://rt.cpan.org/Public/Dist/Display.html?Name=Astro-SpaceTrack, https://github.com/trwyant/perl-Astro-SpaceTrack/issues/, or in electronic mail to the author.

AUTHOR

Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE

Copyright (C) 2010-2026 by Thomas R. Wyant, III

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the files LICENSE-Artistic and LICENSE-GPL.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.