|
|
| |
Test::CPAN::Meta::YAML::Version(3) |
User Contributed Perl Documentation |
Test::CPAN::Meta::YAML::Version(3) |
Test::CPAN::Meta::YAML::Version - Validate CPAN META data against the
specification
use Test::CPAN::Meta::YAML::Version;
This module was written to ensure that a META.yml file, provided with a standard
distribution uploaded to CPAN, meets the specifications that are slowly being
introduced to module uploads, via the use of ExtUtils::MakeMaker,
Module::Build and Module::Install.
This module is meant to be used together with
Test::CPAN::Meta::YAML, however the code is self contained enough that you
can access it directly.
See CPAN::Meta for further details of the CPAN Meta
Specification.
Validation of META.yml data against the CPAN Meta Specification.
- •
- new( data => $data [, spec =>
$version] )
The constructor must be passed a valid data structure.
Optionally you may also provide a specification version. This
version is then use to ensure that the given data structure meets the
respective specification definition. If no version is provided the
module will attempt to deduce the appropriate specification version from
the data structure itself.
- parse()
Using the given data structure provided with the constructor,
attempts to parse and validate according to the appropriate
specification definition.
Returns 1 if any errors found, otherwise returns 0.
- errors()
Returns a list of the errors found during parsing.
- check_map($spec,$data)
Checks whether a map (or hash) part of the data structure
conforms to the appropriate specification definition.
- check_list($spec,$data)
Checks whether a list (or array) part of the data structure
conforms to the appropriate specification definition.
- header($self,$key,$value)
Validates that the YAML header is valid.
Note: No longer used as we now read the YAML data structure,
not the file.
- url($self,$key,$value)
Validates that a given value is in an acceptable URL
format
- urlspec($self,$key,$value)
Validates that the URL to a META.yml specification is a known
one.
- string_or_undef($self,$key,$value)
Validates that the value is either a string or an undef value.
Bit of a catchall function for parts of the data structure that are
completely user defined.
- string($self,$key,$value)
Validates that a string exists for the given key.
- file($self,$key,$value)
Validate that a file is passed for the given key. This may be
made more thorough in the future. For now it acts like \&string.
- exversion($self,$key,$value)
Validates a list of versions, e.g. '<= 5, >=2, ==3, !=4,
>1, <6, 0'.
- version($self,$key,$value)
Validates a single version string. Versions of the type
'5.8.8' and '0.00_00' are both valid. A leading 'v' like 'v1.2.3' is
also valid.
- boolean($self,$key,$value)
Validates for a boolean value. Currently these values are '1',
'0', 'true', 'false', however the latter 2 may be removed.
- license($self,$key,$value)
Validates that a value is given for the license. Returns 1 if
an known license type, or 2 if a value is given but the license type is
not a recommended one.
- resource($self,$key,$value)
Validates that the given key is in CamelCase, to indicate a
user defined keyword.
- keyword($self,$key,$value)
Validates that key is in an acceptable format for the META.yml
specification, i.e. any in the character class [-_a-z].
For user defined keys, although not explicitly stated in the
specifications (v1.0 - v1.4), the convention is to precede the key with
a pattern matching qr{\Ax_}i. Following this any character from the
character class [-_a-zA-Z] can be used. This clarification has been
added to v2.0 of the specification.
- identifier($self,$key,$value)
Validates that key is in an acceptable format for the META.yml
specification, for an identifier, i.e. any that matches the regular
expression qr/[a-z][a-z_]/i.
- module($self,$key,$value)
Validates that a given key is in an acceptable module name
format, e.g. 'Test::CPAN::Meta::YAML::Version'.
- anything($self,$key,$value)
Usually reserved for user defined structures, allowing them to
be considered valid without a need for a specification definition for
the structure.
There are no known bugs at the time of this release. However, if you spot a bug
or are experiencing difficulties that are not explained within the POD
documentation, please send an email to barbie@cpan.org or submit a bug to the
RT system
(http://rt.cpan.org/Public/Dist/Display.html?Name=Test-CPAN-Meta-YAML).
However, it would help greatly if you are able to pinpoint problems or even
supply a patch.
Fixes are dependent upon their severity and my availability.
Should a fix not be forthcoming, please feel free to (politely) remind
me.
Barbie, <barbie@cpan.org> for Miss Barbell Productions,
<http://www.missbarbell.co.uk>
Copyright (C) 2007-2015 Barbie for Miss Barbell Productions
This distribution is free software; you can redistribute it and/or
modify it under the Artistic Licence v2.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |