Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kentnl/dist-zilla-plugin-author-kentnl-prereqs-latest-selective

Selectively upgrade a few modules to depend on the version used
https://github.com/kentnl/dist-zilla-plugin-author-kentnl-prereqs-latest-selective

Last synced: 4 days ago
JSON representation

Selectively upgrade a few modules to depend on the version used

Awesome Lists containing this project

README

        

# NAME

Dist::Zilla::Plugin::Author::KENTNL::Prereqs::Latest::Selective - \[DEPRECATED\] Selectively upgrade a few modules to depend on the version used.

# VERSION

version 1.001002

# SYNOPSIS

[Autoprereqs]

[Author::KENTNL::Prereqs::Latest::Selective]

This will automatically upgrade the minimum required version to the currently running version, for a selective list of packages,
wherever they appear in dependencies.

Currently, the list of packages that will be upgraded to the current version are as follows:

- Test::More - What I test all my packages with
- Module::Build - The Installer I use for everything
- Dist::Zilla::PluginBundle::Author::KENTNL - The configuration setup I use for everything.

# DESCRIPTION

This module is deprecated and no longer used by `@Author::KENTNL`

Instead, he recommends you use [`[Prereqs::MatchInstalled]`](https://metacpan.org/pod/Dist::Zilla::Plugin::Prereqs::MatchInstalled)

# METHODS

## wanted\_latest

my $hash = $plugin->wanted_latest();

A `Hash` of Modules I want to be "Latest I've released with"

{
'Test::More' => 1,
'Module::Build' => 1,
'Dist::Zilla::PluginBundle::Author::KENTNL' => 1,
}

## current\_version\_of

my $v = $plugin->current_version_of('Foo');

Returns the currently installed version of a given thing.

## for\_each\_dependency

$plugin->for_each_dependency( $cpan_meta, sub {
my ( $self, $info ) = @_;

printf "%s => %s\n", $_ , $info->{$_} for qw( phase type package requirement )
});

Utility for iterating all dependency specifications.

Each dependency spec is passed as a `HashRef`

{
phase => 'configure',
type => 'requires',
package => 'Module::Metadata',
requirement => bless({}, 'CPAN::Meta::Requirements::_Range::_Range'); # or close.
}

## register\_prereqs

This module executes during `prereqs` generation.

As such, its advised to place it **after** other things you want `prereq`'s upgraded on.

( Presently, it won't matter if you place it before, because it does some magic with phase emulation, but that might be removed one day )

# AUTHOR

Kent Fredric

# COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric .

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