view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
436437438439440441442443444445446447448449450451452453454455# Perl versions (eg, 5.8.1).
sub
_version ($) {
my
$s
=
shift
|| 0;
my
$d
=()=
$s
=~ /(\.)/g;
if
(
$d
>= 2 ) {
# Normalise multipart versions
$s
=~ s/(\.)(\d{1,3})/
sprintf
(
"$1%03d"
,$2)/eg;
}
$s
=~ s/^(\d+)\.?//;
my
$l
= $1 || 0;
my
@v
=
map
{
$_
.
'0'
x (3 -
length
$_
)
}
$s
=~ /(\d{1,3})\D?/g;
$l
=
$l
.
'.'
.
join
''
,
@v
if
@v
;
return
$l
+ 0;
}
sub
_cmp ($$) {
_version(
$_
[0]) <=> _version(
$_
[1]);
}
inc/Module/Install/AuthorTests.pm view on Meta::CPAN
41424344454647484950515253545556575859
my
@tests
=
$self
->tests ? (
split
/ /,
$self
->tests) :
't/*.t'
;
# XXX: pick a default, later -- rjbs, 2008-02-24
my
@dirs
=
@$dirs
?
@$dirs
: Carp::confess
"no dirs given to author_tests"
;
@dirs
=
grep
{ -d }
@dirs
;
if
(
$recurse
) {
my
%test_dir
;
File::Find::find(_wanted(\
%test_dir
),
@dirs
);
$self
->tests(
join
' '
,
@tests
,
map
{
"$_/*.t"
}
sort
keys
%test_dir
);
}
else
{
$self
->tests(
join
' '
,
@tests
,
map
{
"$_/*.t"
}
sort
@dirs
);
}
}
#line 107
1;
inc/Module/Install/Makefile.pm view on Meta::CPAN
183184185186187188189190191192193194195196197198199200201202203sub
_wanted_t {
}
sub
tests_recursive {
my
$self
=
shift
;
my
$dir
=
shift
||
't'
;
unless
( -d
$dir
) {
die
"tests_recursive dir '$dir' does not exist"
;
}
my
%tests
=
map
{
$_
=> 1 }
split
/ /, (
$self
->tests ||
''
);
File::Find::find(
sub
{ /\.t$/ and -f
$_
and
$tests
{
"$File::Find::dir/*.t"
} = 1 },
$dir
);
$self
->tests(
join
' '
,
sort
keys
%tests
);
}
sub
write
{
my
$self
=
shift
;
inc/Module/Install/Makefile.pm view on Meta::CPAN
246247248249250251252253254255256257258259260261262263264265266
my
@tests
=
split
' '
,
$self
->tests;
my
%seen
;
$args
->{test} = {
TESTS
=> (
join
' '
,
grep
{!
$seen
{
$_
}++}
@tests
),
};
}
elsif
(
$Module::Install::ExtraTests::use_extratests
) {
# Module::Install::ExtraTests doesn't set $self->tests and does its own tests via harness.
# So, just ignore our xt tests here.
}
elsif
( -d
'xt'
and (
$Module::Install::AUTHOR
or
$ENV
{RELEASE_TESTING}) ) {
$args
->{test} = {
TESTS
=>
join
(
' '
,
map
{
"$_/*.t"
}
grep
{ -d
$_
}
qw{ t xt }
),
};
}
if
( $] >= 5.005 ) {
$args
->{ABSTRACT} =
$self
->abstract;
$args
->{AUTHOR} =
join
', '
, @{
$self
->author || []};
}
if
(
$self
->makemaker(6.10) ) {
$args
->{NO_META} = 1;
#$args->{NO_MYMETA} = 1;
}
inc/Module/Install/Makefile.pm view on Meta::CPAN
269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302}
unless
(
$self
->is_admin ) {
delete
$args
->{SIGN};
}
if
(
$self
->makemaker(6.31) and
$self
->license ) {
$args
->{LICENSE} =
$self
->license;
}
my
$prereq
= (
$args
->{PREREQ_PM} ||= {});
%$prereq
= (
%$prereq
,
map
{
@$_
}
# flatten [module => version]
map
{
@$_
}
grep
$_
,
(
$self
->requires)
);
# Remove any reference to perl, PREREQ_PM doesn't support it
delete
$args
->{PREREQ_PM}->{perl};
# Merge both kinds of requires into BUILD_REQUIRES
my
$build_prereq
= (
$args
->{BUILD_REQUIRES} ||= {});
%$build_prereq
= (
%$build_prereq
,
map
{
@$_
}
# flatten [module => version]
map
{
@$_
}
grep
$_
,
(
$self
->configure_requires,
$self
->build_requires)
);
# Remove any reference to perl, BUILD_REQUIRES doesn't support it
delete
$args
->{BUILD_REQUIRES}->{perl};
# Delete bundled dists from prereq_pm, add it to Makefile DIR
my
$subdirs
= (
$args
->{DIR} || []);
if
(
$self
->bundles) {
inc/Module/Install/Makefile.pm view on Meta::CPAN
329330331332333334335336337338339340341342343344345346347348
if
(
$self
->makemaker(6.48) ) {
$args
->{MIN_PERL_VERSION} =
$perl_version
;
}
}
if
(
$self
->installdirs) {
warn
qq{old INSTALLDIRS (probably set by makemaker_args) is overriden by installdirs\n}
if
$args
->{INSTALLDIRS};
$args
->{INSTALLDIRS} =
$self
->installdirs;
}
my
%args
=
map
{
(
$_
=>
$args
->{
$_
} ) }
grep
{
defined
(
$args
->{
$_
} )
}
keys
%$args
;
my
$user_preop
=
delete
$args
{dist}->{PREOP};
if
(
my
$preop
=
$self
->admin->preop(
$user_preop
) ) {
foreach
my
$key
(
keys
%$preop
) {
$args
{dist}->{
$key
} =
$preop
->{
$key
};
}
}
inc/Module/Install/Metadata.pm view on Meta::CPAN
828384858687888990919293949596979899100101102
push
@{
$self
->{
values
}->{
$key
}},
@_
;
return
$self
;
};
}
foreach
my
$key
(
@resource_keys
) {
*$key
=
sub
{
my
$self
=
shift
;
unless
(
@_
) {
return
()
unless
$self
->{
values
}->{resources};
return
map
{
$_
->[1] }
grep
{
$_
->[0] eq
$key
}
@{
$self
->{
values
}->{resources} };
}
return
$self
->{
values
}->{resources}->{
$key
}
unless
@_
;
my
$uri
=
shift
or
die
(
"Did not provide a value to $key()"
);
$self
->resources(
$key
=>
$uri
);
return
1;
};
inc/Module/Install/Metadata.pm view on Meta::CPAN
106107108109110111112113114115116117118119120121122123124125126127128129130131
*$key
=
sub
{
my
$self
=
shift
;
return
$self
->{
values
}->{
$key
}
unless
@_
;
my
@added
;
while
(
@_
) {
my
$module
=
shift
or
last
;
my
$version
=
shift
|| 0;
push
@added
, [
$module
,
$version
];
}
push
@{
$self
->{
values
}->{
$key
} },
@added
;
return
map
{
@$_
}
@added
;
};
}
# Resource handling
my
%lc_resource
=
map
{
$_
=> 1 }
qw{
homepage
license
bugtracker
repository
}
;
sub
resources {
my
$self
=
shift
;
while
(
@_
) {
my
$name
=
shift
or
last
;
inc/Module/Install/Metadata.pm view on Meta::CPAN
252253254255256257258259260261262263264265266267268269270271272
# The user used ->feature like ->features by passing in the second
# argument as a reference. Accomodate for that.
$mods
=
$_
[0];
}
else
{
$mods
= \
@_
;
}
my
$count
= 0;
push
@$features
, (
$name
=> [
map
{
ref
(
$_
) ? (
ref
(
$_
) eq
'HASH'
) ?
%$_
:
@$_
:
$_
}
@$mods
]
);
return
@$features
;
}
sub
features {
my
$self
=
shift
;
inc/Module/Install/Metadata.pm view on Meta::CPAN
392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
([^\n]*)
|
=head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s*
.*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s*
([^\n]*)
/ixms) {
my
$author
= $1 || $2;
# XXX: ugly but should work anyway...
if
(
eval
"require Pod::Escapes; 1"
) {
# Pod::Escapes has a mapping table.
# It's in core of perl >= 5.9.3, and should be installed
# as one of the Pod::Simple's prereqs, which is a prereq
# of Pod::Text 3.x (see also below).
$author
=~ s{ E<( (\d+) | ([A-Za-z]+) )> }
{
defined
$2
?
chr
($2)
:
defined
$Pod::Escapes::Name2character_number
{$1}
?
chr
(
$Pod::Escapes::Name2character_number
{$1})
:
do
{
warn
"Unknown escape: E<$1>"
;
"E<$1>"
;
};
}gex;
}
elsif
(
eval
"require Pod::Text; 1"
&&
$Pod::Text::VERSION
< 3) {
# Pod::Text < 3.0 has yet another mapping table,
# though the table name of 2.x and 1.x are different.
# (1.x is in core of Perl < 5.6, 2.x is in core of
# Perl < 5.9.3)
my
$mapping
= (
$Pod::Text::VERSION
< 2)
? \
%Pod::Text::HTML_Escapes
: \
%Pod::Text::ESCAPES
;
$author
=~ s{ E<( (\d+) | ([A-Za-z]+) )> }
{
defined
$2
?
chr
($2)
:
defined
$mapping
->{$1}
?
$mapping
->{$1}
:
do
{
warn
"Unknown escape: E<$1>"
;
"E<$1>"
;
};
}gex;
}
else
{
$author
=~ s{E<lt>}{<}g;
$author
=~ s{E<gt>}{>}g;
}
inc/Module/Install/Metadata.pm view on Meta::CPAN
696697698699700701702703704705706707708709710711712713714715
# Load the advisory META.yml file
my
@yaml
= Parse::CPAN::Meta::LoadFile(
'META.yml'
);
my
$meta
=
$yaml
[0];
# Overwrite the non-configure dependency hashs
delete
$meta
->{requires};
delete
$meta
->{build_requires};
delete
$meta
->{recommends};
if
(
exists
$val
->{requires} ) {
$meta
->{requires} = {
map
{
@$_
} @{
$val
->{requires} } };
}
if
(
exists
$val
->{build_requires} ) {
$meta
->{build_requires} = {
map
{
@$_
} @{
$val
->{build_requires} } };
}
return
$meta
;
}
1;
inc/Test/More.pm view on Meta::CPAN
150151152153154155156157158159160161162163164165166167168169
my
@nok
= ();
foreach
my
$method
(
@methods
) {
$tb
->_try(
sub
{
$proto
->can(
$method
) } ) or
push
@nok
,
$method
;
}
my
$name
= (
@methods
== 1) ?
"$class->can('$methods[0]')"
:
"$class->can(...)"
;
my
$ok
=
$tb
->ok( !
@nok
,
$name
);
$tb
->diag(
map
" $class->can('$_') failed\n"
,
@nok
);
return
$ok
;
}
#line 572
sub
isa_ok ($$;$) {
my
(
$object
,
$class
,
$obj_name
) =
@_
;
my
$tb
= Test::More->builder;
xt/01_podspell.t view on Meta::CPAN
567891011121314151617181920212223my
$spell_cmd
;
foreach
my
$path
(
split
(/:/,
$ENV
{PATH}))
{
-x
"$path/spell"
and
$spell_cmd
=
"spell"
,
last
;
-x
"$path/ispell"
and
$spell_cmd
=
"ispell -l"
,
last
;
-x
"$path/aspell"
and
$spell_cmd
=
"aspell list"
,
last
;
}
$ENV
{SPELL_CMD} and
$spell_cmd
=
$ENV
{SPELL_CMD};
$spell_cmd
or plan
skip_all
=>
"no spell/ispell/aspell"
;
add_stopwords(
map
{
split
/[\s\:\-]/ } <DATA>);
$ENV
{LANG} =
'C'
;
set_spell_cmd(
$spell_cmd
);
all_pod_files_spelling_ok(
'lib'
);
__DATA__
Kan Fushihara
kan@mfac.jp
Acme::PrettyCure
hiroine