Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Test::CPAN::Meta::VersUser3Contributed Perl DocumeTest::CPAN::Meta::Version(3)

       Test::CPAN::Meta::Version - Validate CPAN META data against the

	 use Test::CPAN::Meta::Version;

       This distribution 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
       package makers and installers such as ExtUtils::MakeMaker,
       Module::Build and Module::Install.

       This module is meant to be used together	with Test::CPAN::Meta, however
       the code	is self	contained enough that you can access it	directly.

       See CPAN::Meta for further details of the CPAN Meta Specification.

       o   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.

   Main	Methods
       o   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.

       o   errors()

	   Returns a list of the errors	found during parsing.

   Check Methods
       o   check_map($spec,$data)

	   Checks whether a map	(or hash) part of the data structure conforms
	   to the appropriate specification definition.

       o   check_list($spec,$data)

	   Checks whether a list (or array) part of the	data structure
	   conforms to the appropriate specification definition.

   Validator Methods
       o   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.

       o   url($self,$key,$value)

	   Validates that a given value	is in an acceptable URL	format

       o   urlspec($self,$key,$value)

	   Validates that the URL to a META.yml	specification is a known one.

       o   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.

       o   string($self,$key,$value)

	   Validates that a string exists for the given	key.

       o   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.

       o   exversion($self,$key,$value)

	   Validates a list of versions, e.g. '<= 5, >=2, ==3, !=4, >1,	<6,

       o   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

       o   boolean($self,$key,$value)

	   Validates for a boolean value. Currently these values are '1', '0',
	   'true', 'false', however the	latter 2 may be	removed.

       o   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.

       o   resource($self,$key,$value)

	   Validates that the given key	is in CamelCase, to indicate a user
	   defined keyword.

       o   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.

       o   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.

       o   module($self,$key,$value)

	   Validates that a given key is in an acceptable module name format,
	   e.g.	 'Test::CPAN::Meta::Version'.

       o   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
       or submit a bug to the RT system
       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, <> for Miss Barbell Productions,

	 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.

perl v5.32.1			  2015-05-06	  Test::CPAN::Meta::Version(3)


Want to link to this manual page? Use this URL:

home | help