CPAN-Mini-Devel-Recent

 view release on metacpan or  search on metacpan

lib/CPAN/Mini/Devel/Recent.pm  view on Meta::CPAN

    # for dev versions, it must be newer than the latest version of
    # the same base name from the packages file

    for my $base_name ( keys %latest_dev ) {
        if ( ! $latest{$base_name} ) {
            $self->trace( "Shouldn't be missing '$base_name' matching '$latest_dev{$base_name}{base_id}'\n" );
            next;
        }
        next if $latest{$base_name}{datetime} > $latest_dev{$base_name}{datetime};
        my $base_id = $latest_dev{$base_name}{base_id};
        $mirror{ $base_id } = $latest_dev{$base_name}{datetime};
    }

    my $mirror_list =
        [ sort map { s{^(((.).).+)$}{authors/id/$3/$2/$1}; $_ } keys %mirror ]; ## no critic

    return $mirror_list;
}

1; #modules must return true

__END__

=pod

=encoding UTF-8

=head1 NAME

CPAN::Mini::Devel::Recent - Create CPAN::Mini mirror with recent developer releases

=head1 VERSION

version 0.07

=head1 SYNOPSIS

    $ minicpan -c CPAN::Mini::Devel::Recent

=head1 DESCRIPTION

CPAN::Mini::Devel::Recent is similar to L<CPAN::Mini::Devel>, except it
uses the C<RECENT-*> index files on CPAN, which are updated
more frequently than the C<indices/find-ls.gz> file that CPAN::Mini::Devel
uses.

Normally, L<CPAN::Mini> creates a minimal CPAN mirror with the latest version of
each distribution, but excluding developer releases (those with an underscore
in the version number, like 0.10_01).

CPAN::Mini::Devel::Recent enhances CPAN::Mini to include the latest developer and
non-developer release in the mirror. For example, if Foo-Bar-0.01,
Foo-Bar-0.02, Foo-Bar-0.03_01 and Foo-Bar-0.03_02 are on CPAN, only
Foo-Bar-0.02 and Foo-Bar 0.03_02 will be mirrored. This is particularly useful
for creating a local mirror for smoke testing.

Unauthorized releases will also be included if they resemble a distribution
name already in the normal CPAN packages list.

There may be errors retrieving very new modules if they are indexed but not
yet synchronized on the mirror.

=head1 USAGE

See L<CPAN::Mini>.

=for Pod::Coverage DEBUG

=head1 SEE ALSO

* L<CPAN::Mini>
* L<CPAN::Mini::Devel>

=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan

=head1 SUPPORT

=head2 Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker
at L<https://github.com/dagolden/CPAN-Mini-Devel-Recent/issues>.
You will be notified automatically of any progress on your issue.

=head2 Source Code

This is open source software.  The code repository is available for
public review and contribution under the terms of the license.

L<https://github.com/dagolden/CPAN-Mini-Devel-Recent>

  git clone https://github.com/dagolden/CPAN-Mini-Devel-Recent.git

=head1 AUTHOR

David Golden <dagolden@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2017 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004

=cut



( run in 1.297 second using v1.01-cache-2.11-cpan-9581c071862 )