Test-YAML-Meta-0.22/0000755000175000017500000000000012462527625013245 5ustar barbiebarbieTest-YAML-Meta-0.22/INSTALL0000644000175000017500000000562712454504150014275 0ustar barbiebarbieInstallation Instructions The instructions are basically as per any Perl module. INSTALLING AUTOMATICALLY ------------------------ The easiest way to install is via CPAN, CPANPLUS or cpanminus: CPAN: % perl -MCPAN -e shell [as root] > install Test::YAML::Meta > quit CPANPLUS: % cpanp > i Test::YAML::Meta > q cpanminus: % cpanm Test::YAML::Meta See your local documentation ('perldoc CPAN', 'perldoc CPANPLUS' or 'perldoc cpanm') for further instructions on setting up and configuring your chosen installer. OBTAINING THE MODULE -------------------- The latest release version of Test-YAML-Meta can be downloaded from any CPAN site: http://www.cpan.org/modules/by-authors/id/B/BA/BARBIE/ http://search.cpan.org/dist/Test-YAML-Meta/ Phrasebook is distributed as a gzipped tar archive file: Test-YAML-Meta-.tar.gz where represents the current version number, e.g. 0.01. To install the module, unpack the distribution archive to create an installation directory. Something like this: tar zxf Test-YAML-Meta-0.01.tar.gz or gunzip Test-YAML-Meta-0.01.tar.gz tar xf Test-YAML-Meta-0.01.tar You can then 'cd' into the directory created, cd Test-YAML-Meta-0.01 INSTALLING MANUALLY ------------------- The 'make install' (done later) will install the modules and scripts on your system. You may need administrator privileges to perform this task. Alternately you can install the module to a local directory (see ExtUtils::MakeMaker for full details), e.g. % perl Makefile.PL PREFIX=/home/me/ Don't forget to update your PERL5LIB environment variable if you do this, or add a line to your script to tell Perl where to find the files, e.g. use lib qw( /home/me/lib/perl5/site_perl/5.6.0 ); If you're not after a custom location, just do: % perl Makefile.PL If you are lacking any of the prerequisite modules, running that program will tell you. All prerequisites are available from CPAN. When you have them all: % make && make test If there are any failures, it's best if you contact me. It may help other people who have the same problem. I don't tend to read the Perl newsgroups or PerlMonks, so it's no use posting there. When you report your trouble, be sure to send me the following information; + result of `perl -V' + output from 'make test' - ideally do 'make test TEST_VERBOSE=1 >& errs' Send those to bug-Test-YAML-Meta@rt.cpan.org and I'll get back to you as soon as I'm able. If it worked, then become root and type: # make install Congratulations. You've just installed Data::Phrasebook. If you have a copy of cpantest installed, type: % cpantest -g pass -nc -p `basename \`pwd\`` -auto Or: % cpantest -g pass -nc -p Test-YAML-Meta-0.01 -auto That will tell both me and other potential users that the module built correctly on your machine. Cheers, Barbie. http://www.missbarbell.co.uk/ Test-YAML-Meta-0.22/Changes0000644000175000017500000001035412462527551014541 0ustar barbiebarbieChanges log for Test-YAML-Meta ============================== 0.22 2015-01-31 - META marked distribution as deprecated. 0.21 2015-01-17 - consistent abstract. - INSTALL documentation update. - extended META test suite. - fixed license fields in META.json to be lists. - added WARNING notice. 0.20 2013-04-07 - change file dates changed to meet W3CDTF standards. - reworked Makefile.PL for clarity. - upgraded to Test::CPAN::Meta::JSON for tests. - added meta.JSON. - updated test suite. - added repositories to Meta files. 0.19 2011-02-15 - added missing prerequisite. 0.18 2011-02-14 - removed tests which are no longer applicable. 0.17 2011-02-13 - Distribution name change: Test-YAML-Meta => Test-CPAN-Meta-YAML. - This distribution now a wrapper around Test-CPAN-Meta-YAML. 0.16 2010-04-12 - fixed qr// delimiters due to issues with the NOT SIGN symbol (suggested by Ricardo Signes & David Golden). 0.15 2009-12-18 - renamed word() to keyword(). - added identifier() validation. - changed optional_features key from a keyword to an identifier type, thus further clarifying RT#52685 (thanks Kevin). 0.14 2009-12-12 - clarified spec defined and user defined keys, as promoted by Kevin Ryde in RT#52685 (thanks Kevin). 0.13 2009-12-07 - RT#46473: license url with fragment part (Kevin Ryde) - RT#47393: "optional_features" as map rather than list (Kevin Ryde) - above applied to 1.4, 1.3 and 1.2 version of the meta-spec. 0.12 2009-05-24 - added version checking to standard 94metatest.t - added changes file checking, 95changedate.t - added support for v-strings (RT#43566, thanks to David Golden) - relaxed resource keys names, as per spec (RT#41605, thanks to Jonathan Yu) 0.11 2008-06-27 - added spec version 1.4 - added further check to ensure we have a known spec version 0.10 2008-06-02 - added 'git' as an accepted url protocol (Mischa Poslawsky). 0.09 2008-03-28 - purely a cosmetic release to render the Makefile.PL time issues, that have generated bogus FAIL reports in previous releases, null and void. 0.08 2008-03-17 - it helps when you fix all the versioning too! 0.07 2008-03-17 - fixed licensing list (adding Artistic2). (Bernhard Schmalhofer) - value for license is mandatory, but the actual value could be any string. Therefore the license() function now returns 1 if the given value is a known license type, returns 2 if a value is given, or 0 if no value is given. - hashref returned of the parsed META.yml file, by both meta_spec_ok() and meta_yaml_ok(), in the event the user wishes to perform addition checks on the values of the hash keys. (Adam Kennedy) - added t/05metaspec.t test file. 0.06 2007-11-05 - fixed RT#29457: distribution_type is not mandatory in spec 1.2 (domm) 0.05 2007-11-02 - a curious error report fails validating META.yml the first time, but is okay the second time. As such I'm removing the 93metavalid.t as the test is redundant now. 0.04 2007-05-15 - provided better error reporting (spec chain and validating version) - added a new test file, supplied by Jochen Stenzel, which highlights an error in the way the author line was created. - bumped the Test::More version required, due to a bugfix in Test::Builder:Tester. - provided a cleaner way to report undef values as errors - added lots more tests for edge cases - finally sorted the Test::Builder::Tester tests in 04metatester.t - Devel::Cover = 95.6% 0.03 2007-02-27 - POD & comment updates - removed 92distribution.t test as it can't detect that YAML::Syck is optional - fixed a misunderstanding of mine from the META.yml specification. 0.02 2007-02-27 - Fixed a bug in detecting module name 0.01 2007-02-27 - Initial release. - Devel::Cover = 91.7% Test-YAML-Meta-0.22/README0000644000175000017500000000461612454515105014123 0ustar barbiebarbieTest-YAML-Meta ============== NOTICE Please note that this distribution has now been replaced by Test-CPAN-Meta-YAML. WARNING This distribution will be retired at the end of 2015. Please replace your references to this module with L. DESCRIPTION Validation of the META.yml file in a distribution. This module was written to ensure that a META.yml file, provided with a standard distribution uploaded to CPAN, meets the specifications that slowly being introduced to module uploads, via the use of ExtUtils::MakeMaker, Module::Build and Module::Install. Current CPAN META Specification, 2.0, was finally approved in April 2010, which forms the basis for the contents of a META.json file. The full specification is now included with the CPAN-Meta distribution. http://search.cpan.org/perldoc?CPAN::Meta Note that v2.0 of the current specification, requires JSON as the Metadata file format. As such, this distribution only supports up to v1.4. DEPENDENCIES The distribution requires the following modules: Test::CPAN::Meta::YAML For testing purposes, the following modules are required: IO::File Test::More For testing purposes, the following modules are desireable, but not essential: Test::CPAN::Meta Test::CPAN::Meta::JSON Test::Pod Test::Pod::Coverage INSTALLATION To install this module type the following: perl Makefile.PL make make test make install For more detailed installation instructions, see INSTALL. USAGE Read the pod documentation in the distrubtion files. CHANGES For a complete list of changes, see the Changes file. SUPPORT 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-YAML-Meta). 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. AUTHOR Barbie for Miss Barbell Productions http://www.missbarbell.co.uk. COPYRIGHT AND LICENSE 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. Test-YAML-Meta-0.22/t/0000755000175000017500000000000012462527625013510 5ustar barbiebarbieTest-YAML-Meta-0.22/t/01use.t0000644000175000017500000000014512126410567014623 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More tests => 1; BEGIN { use_ok( 'Test::YAML::Meta' ); } Test-YAML-Meta-0.22/t/96metatest.t0000644000175000017500000000174612454505222015700 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More; # Skip if doing a regular install plan skip_all => "Author tests not required for installation" unless ( $ENV{AUTOMATED_TESTING} ); eval "use Test::CPAN::Meta::JSON"; plan skip_all => "Test::CPAN::Meta::JSON required for testing META.json files" if $@; plan 'no_plan'; my $meta = meta_spec_ok(undef,undef,@_); use Test::YAML::Meta; my $version = $Test::YAML::Meta::VERSION; is($meta->{version},$version, 'META.json distribution version matches'); if($meta->{provides}) { for my $mod (keys %{$meta->{provides}}) { is($meta->{provides}{$mod}{version},$version, "META.json entry [$mod] version matches distribution version"); eval "require $mod"; my $VERSION = '$' . $mod . '::VERSION'; my $v = eval "$VERSION"; is($meta->{provides}{$mod}{version},$v, "META.json entry [$mod] version matches module version"); isnt($meta->{provides}{$mod}{version},0); } } Test-YAML-Meta-0.22/t/95changedate.t0000644000175000017500000000231312126410567016126 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More; use IO::File; # Skip if doing a regular install plan skip_all => "Author tests not required for installation" unless ( $ENV{AUTOMATED_TESTING} ); my $fh = IO::File->new('Changes','r') or plan skip_all => "Cannot open Changes file"; plan 'no_plan'; use Test::YAML::Meta; my $version = $Test::YAML::Meta::VERSION; my $latest = 0; while(<$fh>) { next unless(m!^\d!); $latest = 1 if(m!^$version!); # 2012-08-26T01:02 or 2012-08-26T01:02:03 or 2012-08-26T01:02:03.04 or 2012-08-26T01:02+01:00 like($_, qr!^ \d[\d._]+\s+ # version ( \d{4}-\d{2}-\d{2} # 2012-08-26 - YYYY-MM-DD ( T\d{2}:\d{2} # T01:02 - Thh:mm ( :\d{2} # :02 - :ss ( \.\d+ # .2 - .ss (microseconds) )? )? ( (Z|[-+]\d+:\d+) # +01:00 - timezone )? )? ) \s*$!x,'... version has a date'); } is($latest,1,'... latest version not listed'); Test-YAML-Meta-0.22/t/91podcover.t0000644000175000017500000000051312126410567015660 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More; # Skip if doing a regular install plan skip_all => "Author tests not required for installation" unless ( $ENV{AUTOMATED_TESTING} ); eval "use Test::Pod::Coverage 0.08"; plan skip_all => "Test::Pod::Coverage 0.08 required for testing POD coverage" if $@; all_pod_coverage_ok(); Test-YAML-Meta-0.22/t/94metatest.t0000644000175000017500000000167312454505222015675 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More; # Skip if doing a regular install plan skip_all => "Author tests not required for installation" unless ( $ENV{AUTOMATED_TESTING} ); eval "use Test::YAML::Meta"; plan skip_all => "Test::YAML::Meta required for testing META.yml" if $@; plan 'no_plan'; my $meta = meta_spec_ok(undef,undef,@_); use Test::YAML::Meta; my $version = $Test::YAML::Meta::VERSION; is($meta->{version},$version, 'META.yml distribution version matches'); if($meta->{provides}) { for my $mod (keys %{$meta->{provides}}) { is($meta->{provides}{$mod}{version},$version, "META.yml entry [$mod] version matches"); eval "require $mod"; my $VERSION = '$' . $mod . '::VERSION'; my $v = eval "$VERSION"; is($meta->{provides}{$mod}{version},$v, "META.yml entry [$mod] version matches module version"); isnt($meta->{provides}{$mod}{version},0); } } Test-YAML-Meta-0.22/t/90podtest.t0000644000175000017500000000045312126410567015523 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More; # Skip if doing a regular install plan skip_all => "Author tests not required for installation" unless ( $ENV{AUTOMATED_TESTING} ); eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; all_pod_files_ok(); Test-YAML-Meta-0.22/lib/0000755000175000017500000000000012462527625014013 5ustar barbiebarbieTest-YAML-Meta-0.22/lib/Test/0000755000175000017500000000000012462527625014732 5ustar barbiebarbieTest-YAML-Meta-0.22/lib/Test/YAML/0000755000175000017500000000000012462527625015474 5ustar barbiebarbieTest-YAML-Meta-0.22/lib/Test/YAML/Meta.pm0000644000175000017500000000315512462527551016722 0ustar barbiebarbiepackage Test::YAML::Meta; use warnings; use strict; use vars qw($VERSION); $VERSION = '0.22'; use base 'Test::CPAN::Meta::YAML'; q( "Before software can be reusable it first has to be usable." - Ralph Johnson ); __END__ #---------------------------------------------------------------------------- =head1 NAME Test::YAML::Meta - Validate your CPAN META.yml files. =head1 DESCRIPTION This module has now been replaced by L. Please see that distribution for further details. =head1 ABSTRACT A test module to validate a META.yml file. =head1 WARNING This distribution will be retired at the end of 2015. Please replace your references to this module with L. =head1 BUGS, PATCHES & FIXES 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-YAML-Meta). 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. =head1 SEE ALSO L. =head1 AUTHOR Barbie, for Miss Barbell Productions, L =head1 COPYRIGHT AND LICENSE Copyright (C) 2009-2015 Barbie for Miss Barbell Productions This distribution is free software; you can redistribute it and/or modify it under the Artistic Licence v2. =cut Test-YAML-Meta-0.22/LICENSE0000644000175000017500000000032512454504664014251 0ustar barbiebarbieLICENSE FOR Test-YAML-Meta This software is copyright © 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. Test-YAML-Meta-0.22/examples/0000755000175000017500000000000012462527625015063 5ustar barbiebarbieTest-YAML-Meta-0.22/examples/examples.txt0000644000175000017500000000075511454356427017451 0ustar barbiebarbieTo see examples for this distribution, it is recommended you read the test scripts included under ./t, which cover the basic usage of the modules. I may add further examples should the need ever arise. If you have any example scripts that use the distribution in an unusual way or make good use of all the features available, please feel free to submit one. If submitting an example script, please sure to include the following in your POD: * Author * License * Copyright Thanks, Barbie. Test-YAML-Meta-0.22/examples/94metatest.t0000644000175000017500000000200712454505222017240 0ustar barbiebarbie#!/usr/bin/perl -w use strict; use Test::More; # Skip if doing a regular install plan skip_all => "Author tests not required for installation" unless ( $ENV{AUTOMATED_TESTING} ); eval "use Test::YAML::Meta"; plan skip_all => "Test::YAML::Meta required for testing META.yml" if $@; plan 'no_plan'; my $meta = meta_spec_ok(undef,undef,@_); use MyDistro; # enter your module name here my $version = $MyDistro::VERSION; # enter your module name here is($meta->{version},$version, 'META.yml distribution version matches'); if($meta->{provides}) { for my $mod (keys %{$meta->{provides}}) { is($meta->{provides}{$mod}{version},$version, "META.yml entry [$mod] version matches"); eval "require $mod"; my $VERSION = '$' . $mod . '::VERSION'; my $v = eval "$VERSION"; is($meta->{provides}{$mod}{version},$v, "META.yml entry [$mod] version matches module version"); isnt($meta->{provides}{$mod}{version},0); } } Test-YAML-Meta-0.22/MANIFEST0000644000175000017500000000033712127352046014370 0ustar barbiebarbieChanges examples/examples.txt examples/94metatest.t INSTALL LICENSE lib/Test/YAML/Meta.pm Makefile.PL MANIFEST META.json META.yml README t/01use.t t/90podtest.t t/91podcover.t t/94metatest.t t/95changedate.t t/96metatest.t Test-YAML-Meta-0.22/META.json0000644000175000017500000000330312462527551014663 0ustar barbiebarbie{ "name": "Test-YAML-Meta", "version": "0.22", "abstract": "Validate your CPAN META.yml files", "author": ["Barbie "], "x_deprecated": "1", "license": [ "artistic_2" ], "dynamic_config" : 0, "release_status" : "stable", "meta-spec": { "version": "2", "url": "http://search.cpan.org/dist/CPAN-Meta/lib/CPAN/Meta/Spec.pm" }, "generated_by": "The Hand of Barbie 1.0", "keywords" : [ "test", "meta", "yaml" ], "prereqs" : { "runtime" : { "requires" : { "perl": "5.006", "Test::Builder": "0", "Test::CPAN::Meta::YAML": "0.17", "Test::YAML::Valid": "0.03" } }, "test" : { "requires": { "IO::File": "0", "Test::More": "0.70" }, "recommends": { "Test::CPAN::Meta": "0", "Test::CPAN::Meta::JSON": "0", "Test::Pod": "1.00", "Test::Pod::Coverage": "0.08" } } }, "provides": { "Test::YAML::Meta": { "file": "lib/Test/YAML/Meta.pm", "version": "0.22" } }, "no_index": { "directory": ["t","examples"] }, "resources": { "license": [ "http://www.perlfoundation.org/artistic_license_2_0" ], "bugtracker": { "web": "http://rt.cpan.org/Public/Dist/Display.html?Name=Test-YAML-Meta" }, "repository": { "url": "git://github.com/barbie/Test-YAML-Meta.git", "web": "http://github.com/barbie/Test-YAML-Meta", "type": "git" } } } Test-YAML-Meta-0.22/META.yml0000644000175000017500000000211512462527551014513 0ustar barbiebarbie--- #YAML:1.0 name: Test-YAML-Meta version: 0.22 abstract: Validate your CPAN META.yml files author: - Barbie license: artistic_2 distribution_type: module installdirs: site requires: perl: 5.006 Test::Builder: 0 Test::CPAN::Meta::YAML: 0.17 Test::YAML::Valid: 0.03 recommends: Test::CPAN::Meta: 0 Test::CPAN::Meta::JSON: 0 Test::Pod: 1.00 Test::Pod::Coverage: 0.08 build_requires: IO::File: 0 Test::More: 0.70 provides: Test::YAML::Meta: file: lib/Test/YAML/Meta.pm version: 0.22 no_index: directory: - t - examples resources: license: http://www.perlfoundation.org/artistic_license_2_0 bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Test-YAML-Meta repository: http://github.com/barbie/Test-YAML-Meta meta-spec: version: 1.4 url: http://module-build.sourceforge.net/META-spec-v1.4.html generated_by: The Hand of Barbie 1.0 Test-YAML-Meta-0.22/Makefile.PL0000644000175000017500000000122412130230575015201 0ustar barbiebarbie#!/usr/bin/perl use strict; use warnings; use 5.006; use ExtUtils::MakeMaker; WriteMakefile( AUTHOR => 'Barbie ', NAME => 'Test::YAML::Meta', VERSION_FROM => 'lib/Test/YAML/Meta.pm', ABSTRACT => 'Validate your CPAN META.yml files', NO_META => 1, PREREQ_PM => { # prereqs 'Test::Builder' => 0, 'Test::CPAN::Meta::YAML' => 0.17, 'Test::YAML::Valid' => 0.03, # for testing 'IO::File' => 0, # for testing 'Test::More' => 0.70 # for testing }, );