App-cpm

 view release on metacpan or  search on metacpan

lib/App/cpm/Resolver/Fixed.pm  view on Meta::CPAN


use parent 'App::cpm::Resolver::MetaDB';

sub new {
    my $class = shift;
    my %package;
    for my $argv (@_) {
        my ($package, $fixed_version) = split /\@/, $argv;
        $package{$package} = $fixed_version;
    }
    my $self = $class->SUPER::new;
    $self->{_packages} = \%package;
    $self;
}

sub resolve {
    my ($self, $argv) = @_;
    my $fixed_version = $self->{_packages}{$argv->{package}};
    return { error => "not found" } if !$fixed_version;
    my $version_range = $argv->{version_range};
    if ($version_range) {
        $version_range .= ", == $fixed_version";
    } else {
        $version_range = "== $fixed_version";
    }
    $self->SUPER::resolve({ %$argv, version_range => $version_range });
}

1;

lib/App/cpm/Worker/Installer/Menlo.pm  view on Meta::CPAN

use App::cpm::Logger::File;
use App::cpm::Util 'WIN32';
use Command::Runner;
use Config;
use File::Which ();
use Menlo::Builder::Static;

sub new {
    my ($class, %option) = @_;
    $option{log} ||= $option{logger}->file;
    my $self = $class->SUPER::new(%option);

    if ($self->{make} = File::Which::which($Config{make})) {
        $self->{logger}->log("You have make $self->{make}");
    }
    {
        my ($http, $desc) = App::cpm::HTTP->create;
        $self->{http} = $http;
        $self->{logger}->log("You have $desc");
    }
    {

lib/App/cpm/version.pm  view on Meta::CPAN

    $requirements->add_string_requirement('DummyModule', $version_range);
    $requirements->accepts_module('DummyModule', $self->numify);
}

# suppress warnings
# > perl -Mwarnings -Mversion -e 'print version->parse("1.02_03")->numify'
# alpha->numify() is lossy at -e line 1.
# 1.020300
sub numify {
    local $SIG{__WARN__} = sub {};
    shift->SUPER::numify(@_);
}
sub parse {
    local $SIG{__WARN__} = sub {};
    shift->SUPER::parse(@_);
}

# utility function
sub range_merge {
    my ($range1, $range2) = @_;
    my $req = CPAN::Meta::Requirements->new;
    $req->add_string_requirement('DummyModule', $_) for $range1, $range2; # may die
    $req->requirements_for_module('DummyModule');
}



( run in 0.251 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )