Perl6-Pugs

 view release on metacpan or  search on metacpan

misc/sixpan/JIB/Makefile.PL  view on Meta::CPAN

use strict;

WriteMakefile (
    NAME            => 'JIB',
    VERSION_FROM    => 'lib/JIB.pm', # finds $VERSION
    ABSTRACT_FROM   => 'lib/JIB.pm',
    dist            => { COMPRESS => 'gzip -9f', SUFFIX => 'gz' },
    PREREQ_PM       => {    'Object::Accessor'      => 0,
                            'Test::More'            => 0,
                            'Params::Check'         => '0.23',
                            'Log::Message::Simple'  => 0,
                            'File::Find'            => 0,
                            'Path::Class'           => 0,
                            'File::Find::Rule'      => 0,
                            'File::chdir'           => 0,
                            'Package::Constants'    => 0,
                            'Test::NoWarnings'      => 0,
                            'Module::Load::Conditional'         => 0,
                            'ExtUtils::MakeMaker::Coverage'     => '0.05',
                    },
    AUTHOR          => 'Jos Boumans <kane[at]cpan.org>',

misc/sixpan/JIB/lib/JIB/Alternative.pm  view on Meta::CPAN

package JIB::Alternative;

use strict;
use warnings;

use JIB::Config;
use JIB::Utils;

use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use Data::Dumper;

use base 'Object::Accessor';

=head1 ACCESSORS

=head1 METHODS

=head2 $alt = JIB::Alternative->new_from_struct( struct => $struct );

misc/sixpan/JIB/lib/JIB/Constants.pm  view on Meta::CPAN

package JIB::Constants;

use strict;

use Package::Constants;
use File::Spec;
use Log::Message::Simple        qw[:STD];

use vars qw[@EXPORT];
use base 'Exporter';

@EXPORT  = Package::Constants->list( __PACKAGE__ );

sub constants { @EXPORT };

use constant IS_CODEREF     => sub { ref $_[-1] eq 'CODE' };

misc/sixpan/JIB/lib/JIB/Installation.pm  view on Meta::CPAN


use JIB::Constants;
use JIB::Package;
use JIB::Config;
use JIB::Utils;
use JIB::Meta;
use JIB::Alternative;

use YAML                    qw[LoadFile DumpFile];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use File::Basename          qw[basename];
use Path::Class             ();
use Data::Dumper;

use base 'Object::Accessor';

=head1 ACCESSORS

=head2 $dir = $inst->meta_dir

misc/sixpan/JIB/lib/JIB/Installation/Set.pm  view on Meta::CPAN

package JIB::Installation::Set;

use strict;
use warnings;
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use Path::Class             ();
use Data::Dumper;

use JIB::Installation;

use base 'Object::Accessor';

=head2 $set = JIB::Installation::Set->new( [dirs => \@dirs] );

=cut

misc/sixpan/JIB/lib/JIB/Meta.pm  view on Meta::CPAN


use strict;
use warnings;
use JIB::Constants;

use JIB::Constants;
use JIB::Dependency;

use YAML                    qw[LoadFile];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];

use base 'Object::Accessor';

=head1 METHODS

=head2 $meta = JIB::Meta->new( file => /path/to/meta.info )

=cut

sub new { 

misc/sixpan/JIB/lib/JIB/Package.pm  view on Meta::CPAN

use JIB::Config;

use JIB::Package::Source;
use JIB::Package::Binary;
use JIB::Package::Installed;
use JIB::Package::Installable;

use File::Spec;
use File::Basename          qw[basename];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use YAML                    qw[LoadFile];

use Data::Dumper;

$Data::Dumper::Indent = 1;

my $Package_re = qr/^(\w+)     - # prefix
                    ([\w-]+?)  - # package name
                    ([\d.]+)   - # version
                    (\w+\+\S+) $ # authority

misc/sixpan/JIB/lib/JIB/Package/Installable.pm  view on Meta::CPAN


use base 'JIB::Package';

use JIB::Constants;
use JIB::Config;
use JIB::Installation;

use File::Spec;
use File::Basename          qw[basename];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use YAML                    qw[LoadFile];



### only called form JIB::Package
sub new {
    my $self    = shift;
    my $conf    = $self->config;
    my %hash    = @_;
    

misc/sixpan/JIB/lib/JIB/Package/Installed.pm  view on Meta::CPAN


use base 'JIB::Package';

use JIB::Constants;
use JIB::Config;
use JIB::Installation;

use File::Spec;
use File::Basename          qw[basename];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use YAML                    qw[LoadFile];



### only called form JIB::Package
sub new {
    my $self    = shift;
    my $conf    = $self->config;
    my %hash    = @_;
    

misc/sixpan/JIB/lib/JIB/Package/Source.pm  view on Meta::CPAN

use base 'JIB::Package';

use JIB::Constants;
use JIB::Config;
use JIB::Installation;


use File::Spec;
use File::Basename          qw[basename];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use YAML                    qw[LoadFile];
use Path::Class             ();

use Data::Dumper;
$Data::Dumper::Indent = 1;

### only called from JIB::Package
sub new {
    my $self    = shift;
    my %hash    = @_;

misc/sixpan/JIB/lib/JIB/Repository.pm  view on Meta::CPAN

use strict;
use warnings;
use base 'Object::Accessor';
use JIB::Config;
use JIB::Package;
use JIB::Constants;

use YAML;
use Path::Class;
use Params::Check qw(check);
use Log::Message::Simple qw(:STD);

=head1 METHODS

=head2 $repo = JIB::Repository->new(...);

Required arguments:

=over 4

=item root

misc/sixpan/JIB/lib/JIB/Repository/Set.pm  view on Meta::CPAN

package JIB::Repository::Set;

use strict;
use warnings;
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];
use Path::Class             ();
use Data::Dumper;

use JIB::Repository;

use base 'Object::Accessor';

=head2 $set = JIB::Repository::Set->new( [dirs => \@dirs] );

=cut

misc/sixpan/JIB/lib/JIB/Source.pm  view on Meta::CPAN


use JIB::Meta;
use JIB::Config;
use JIB::Utils;
use JIB::Package;

use File::chdir;
use File::Basename          qw[basename];
use File::Temp              qw[tempdir];
use Params::Check           qw[check];
use Log::Message::Simple    qw[:STD];

use base 'Object::Accessor';

=head1 ACCESSORS

=over 4

=item dir

=item meta

misc/sixpan/JIB/lib/JIB/Utils.pm  view on Meta::CPAN

package JIB::Utils;

use strict;
use JIB::Constants;

use File::Find::Rule;
use Cwd                         ();
use File::Copy                  ();
use Params::Check               qw[check];
use Log::Message::Simple        qw[:STD];
use Module::Load::Conditional   qw[can_load];
use File::Basename              qw[dirname];

=pod

=head1 NAME

JIB::Utils

=head1 METHODS

misc/sixpan/JIB/t/020_JIB-Package.t  view on Meta::CPAN

    {
        1;
    
    }


    ### install again
    {
        my $log = file('error_log');
        my $fh  = $log->openw;
        local $Log::Message::Simple::ERROR_FH = $fh;
        
        ok( $Obj->install( installation => $Inst ),           
                                "Second install returns true" );

        close $fh;
        like( scalar $log->slurp, qr/is already installed/,
                                '   Prior installation detected' );

        $log->remove;
    }

misc/sixpan/JIB/t/030_JIB-Repository.t  view on Meta::CPAN

    for my $index ( $Repo->index_file, $Repo->index_files(package => $pkg1) ) {
        ok(my $index_data = YAML::Load(scalar $index->slurp), 
                                "  index '$index' looks ok");
        is($index_data->[0]->{package}, $pkg1->package, 
                                '    and contains right package as 1st item');
    }
    

    my $log = file('error_log');
    {   my $fh = $log->openw;
        local $Log::Message::Simple::ERROR_FH = $fh;

        ok(!$Repo->add_package(package => $pkg1), 
                                "  Adding the same package again doesn't work");

        ### must close file before being able to slurp it, at least on OSX
        close $fh;
        like(scalar $log->slurp, qr/already exists in this repository/, 
                                '    and yields an error');

        $log->remove;
    }

    {
        local $Log::Message::Simple::ERROR_FH = $log->openw;

        ok($Repo->add_package(package => $pkg1, force => 1), 
                                '  But it does if we force it');
        ok(-z $log,             "    and doesn't give an error message");

        $log->remove;
    }
}

END {



( run in 0.508 second using v1.01-cache-2.11-cpan-a1d94b6210f )