Skip to content

Commit

Permalink
Merge pull request #1912 from metacpan/haarg/io-async
Browse files Browse the repository at this point in the history
Switch from AnyEvent to IO::Async
  • Loading branch information
oalders committed Jun 14, 2017
2 parents 7dd8420 + f92308c commit bb08de5
Show file tree
Hide file tree
Showing 48 changed files with 922 additions and 1,291 deletions.
64 changes: 34 additions & 30 deletions bin/generate_sitemap.pl
Expand Up @@ -5,37 +5,41 @@
use strict;
use warnings;

use FindBin qw ($Bin);
use lib "$Bin/../lib";

use File::Basename;
use File::Spec;
use Cwd;
use Config::ZOMG;
my $root_dir;

BEGIN {
my $bin_dir = File::Basename::dirname(__FILE__);
$root_dir
= Cwd::abs_path( File::Spec->catdir( $bin_dir, File::Spec->updir ) );
}
use lib "$root_dir/lib";
use MetaCPAN::Sitemap;

my $out_dir = "$Bin/../root/static/sitemaps/";
mkdir $out_dir;

my @parts = (

# For authors, we're looking for the pauseid, and want to build a URL
# with 'author' in the path.

{
object_type => 'author',
field_name => 'pauseid',
xml_file => "$out_dir/authors.xml.gz",
cpan_directory => 'author',
},

# For releases, we're looking for a download URL; since we're not
# building a URL, the cpan_directory is missing, but we also want to
# filter on only the 'latest' entries.

{
object_type => 'release',
field_name => 'distribution',
xml_file => "$out_dir/releases.xml.gz",
cpan_directory => 'release',
filter => { status => 'latest' },
}
my $config = Config::ZOMG->open(
name => 'MetaCPAN::Web',
path => $root_dir,
);

MetaCPAN::Sitemap->new($_)->process for @parts;
my $out_dir = "$root_dir/root/static/sitemaps/";
mkdir $out_dir;

my $web_host = $config->{web_host};
$web_host =~ s{/\z}{};
my $sitemaps = $config->{sitemap};

for my $file ( sort keys %$sitemaps ) {
my %sm_config = %{ $sitemaps->{$file} };
my $full_file = $out_dir . $file;
$sm_config{url_prefix} ||= do {
my $metacpan_url = $sm_config{metacpan_url};
s{/\z}{}, s{\A/}{} for $metacpan_url;
"$web_host/$metacpan_url/";
};
$sm_config{api_secure} = $config->{api_secure};
my $sitemap = MetaCPAN::Sitemap->new(%sm_config);
$sitemap->write($full_file);
}
10 changes: 5 additions & 5 deletions cpanfile
@@ -1,4 +1,3 @@
requires 'AnyEvent::Curl::Multi';
requires 'CHI';
requires 'CPAN::Changes', '0.21';
requires 'CPAN::Meta', '2.141520'; # Avoid issues with List::Util dep under carton install.
Expand Down Expand Up @@ -32,6 +31,7 @@ requires 'Encode', '2.51';
requires 'Exporter';
requires 'File::Path';
requires 'Format::Human::Bytes';
requires 'Future';
requires 'Getopt::Long::Descriptive';
requires 'Gravatar::URL';
requires 'HTML::Escape';
Expand All @@ -43,6 +43,9 @@ requires 'HTTP::Request';
requires 'HTTP::Request::Common';
requires 'Hash::AsObject';
requires 'Hash::Merge';
requires 'IO::Async::Loop';
requires 'IO::Async::SSL';
requires 'IO::Socket::SSL';
requires 'Importer';
requires 'JavaScript::Minifier::XS';
requires 'List::Util', '1.45';
Expand All @@ -54,18 +57,16 @@ requires 'Module::Build::Tiny', '0.037';
requires 'Module::Runtime';
requires 'Moo', '2.000002';
requires 'Moose', '2.1605';
requires 'MooseX::ClassAttribute';
requires 'MooseX::Fastly::Role', '0.03';
requires 'MooseX::Role::Parameterized', '1.02';
requires 'MooseX::StrictConstructor';
requires 'MooseX::Types::Common::Numeric';
requires 'MooseX::Types::Common::String';
requires 'MooseX::Types::Moose';
requires 'MooseX::Types::URI', '0.08';
requires 'Net::Async::HTTP';
requires 'Net::Fastly', '1.05';
requires 'Params::ValidationCompiler';
requires 'Path::Tiny', '0.076';
requires 'PerlIO::gzip';
requires 'Plack', '1.0039';
requires 'Plack::Middleware::ReverseProxy';
requires 'Plack::Middleware::Runtime';
Expand All @@ -92,7 +93,6 @@ requires 'Try::Tiny', '0.24';
requires 'URI', '1.71';
requires 'URI::Escape';
requires 'XML::Feed';
requires 'XML::Simple';
requires 'YAML', '1.15'; # fix dep chain issue

test_requires 'App::Prove';
Expand Down

0 comments on commit bb08de5

Please sign in to comment.