The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Dist::Zilla::Plugin::AutoMetaResources - Automagical MetaResources

VERSION

version 1.21

SYNOPSIS

# dist.ini
name = Dist-Zilla-Plugin-AutoMetaResources
...

[AutoMetaResources]
bugtracker.github  = user:ajgb
repository.github  = user:ajgb
homepage           = https://metacpan.org/release/%{dist}

or in PluginBundle::Easy

$self->add_plugins(
    [
        AutoMetaResources => {
            'bugtracker.github' => [{ user => 'ajgb' }],
            'repository.github' => [{ user => 'ajgb' }],
            'homepage' => 'https://metacpan.org/release/%{dist}',
        }
    ]
);

both for Dist::Zilla::Plugin::AutoMetaResources would be equivalent of

[MetaResources]
bugtracker.web    = https://github.com/ajgb/dist-zilla-plugin-autometaresources/issues
repository.url    = git://github.com/ajgb/dist-zilla-plugin-autometaresources.git
repository.web    = http://github.com/ajgb/dist-zilla-plugin-autometaresources
repository.type   = git
homepage          = https://metacpan.org/release/Dist-Zilla-Plugin-AutoMetaResources

DESCRIPTION

If you find repeating the dist name again in the configuration really annoying, this plugin comes to the rescue!

CONFIGURATION

Most of the known resources requires just boolean flag to be enabled, but you are free to pass your own options:

bugtracker.rt =  dist:Other-Name;lcdist:other-name

which is transformed to:

[{
    dist => 'Other-Name',
    lcdist => 'other-name',
}]

BUGTRACKER

RT bugtracker:

[AutoMetaResources]
bugtracker.rt = 1

# same as
[MetaResources]
bugtracker.web    = https://rt.cpan.org/Public/Dist/Display.html?Name=%{dist}
bugtracker.mailto = bug-%{dist}@rt.cpan.org

GitHub issues:

[AutoMetaResources]
bugtracker.github = user:ajgb

# same as
[MetaResources]
bugtracker.web    = http://github.com/ajgb/%{lcdist}/issues

Bitbucket issues:

[AutoMetaResources]
bugtracker.bitbucket = user:ajgb

# same as
[MetaResources]
bugtracker.web    = https://bitbucket.org/ajgb/%{lcdist}/issues

REPOSITORY

GitHub repository:

[AutoMetaResources]
repository.github = user:ajgb
# or
repository.GitHub = user:ajgb

# same as
[MetaResources]
repository.url    = git://github.com/ajgb/%{lcdist}.git
repository.web    = http://github.com/ajgb/%{lcdist}
repository.type   = git

Bitbucket repository:

[AutoMetaResources]
repository.bitbucket = user:ajgb

# same as
[MetaResources]
repository.url    = git://bitbucket.org:ajgb/%{lcdist}.git
repository.web    = https://bitbucket.org/ajgb/%{lcdist}
repository.type   = git

Git Moose repository:

[AutoMetaResources]
repository.gitmo = 1

# same as
[MetaResources]
repository.url    = git://git.moose.perl.org/%{dist}.git
repository.web    = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo/%{dist}.git;a=summary
repository.type   = git

Catalyst Subversion repository:

[AutoMetaResources]
repository.catsvn = 1

# same as
[MetaResources]
repository.url    = http://dev.catalyst.perl.org/repos/Catalyst/%{dist}/
repository.web    = http://dev.catalystframework.org/svnweb/Catalyst/browse/%{dist}
repository.type   = svn

Shadowcat's Git repositories:

[AutoMetaResources]
repository.catagits = 1

# same as
[MetaResources]
repository.url    = git://git.shadowcat.co.uk/catagits/%{dist}.git
repository.web    = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits/%{dist}.git;a=summary
repository.type   = git

and

[AutoMetaResources]
repository.p5sagit = 1

# same as
[MetaResources]
repository.url    = git://git.shadowcat.co.uk/p5sagit/%{dist}.git
repository.web    = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/%{dist}.git;a=summary
repository.type   = git

and

[AutoMetaResources]
repository.dbsrgits = 1

# same as
[MetaResources]
repository.url    = git://git.shadowcat.co.uk/dbsrgits/%{dist}.git
repository.web    = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits/%{dist}.git;a=summary
repository.type   = git

OTHER

[AutoMetaResources]
homepage = https://metacpan.org/release/%{dist}

You are free to pass other valid metadata options to be included as resources. Values can contain following variables:

%{dist}

Name of the distribution

%{lcdist}

Name of the distribution (lowercase)

AUTHOR

Alex J. G. Burzyński <ajgb@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Alex J. G. Burzyński <ajgb@cpan.org>.

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