cpanfile support now in place

This commit is contained in:
Ryan Voots 2017-03-27 20:34:39 -04:00
parent e01ff7f9c0
commit 74add2cb4f
2 changed files with 41 additions and 0 deletions

7
cpanfile Normal file
View file

@ -0,0 +1,7 @@
requires 'Moose';
requires 'Module::CoreList';
requires 'Storable';
requires 'Data::Dumper';
requires 'List::Util';
requires 'IPC::Run';
requires 'Getopt::Long';

34
run.pl
View file

@ -74,6 +74,38 @@ sub print_deps {
}
}
package cpanfile;
# HACK since cpan files are valid perl, i'm just using do/require
our @mods;
sub __parse_file {
my $file = shift;
require $file;
}
sub requires {
push @mods, $_[0];
}
sub recommends {
push @mods, $_[0];
}
sub conflicts {} # IGNORE These
# we expect all types
sub on {
my ($env, $code) = @_;
$code->();
}
sub feature {
my ($feat, $desc, $code) = @_;
$code->();
}
package main;
use strict;
use autodie;
@ -158,6 +190,8 @@ sub main {
if ($opt_cpanfile) {
# TODO read cpanfile, via do/require
cpanfile::__parse_file($opt_cpanfile);
@mods_to_test = @cpanfile::mods;
}
my @modules;