The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    Data::Schema::Schema::CPANMeta - Schema for CPAN Meta

VERSION
    version 0.09

SYNOPSIS
     # you can use it in test script a la Test::CPAN::Meta

     use Test::More;
     use Data::Schema::Schema::CPANMeta qw(meta_yaml_ok);
     meta_yaml_ok();

     # test META.json instead of META.yml

     use Test::More;
     use Data::Schema::Schema::CPANMeta qw(meta_json_ok);
     meta_json_ok();

     # slightly longer example

     use Test::More tests => ...;
     use Data::Schema::Schema::CPANMeta qw(meta_spec_ok);
     meta_spec_ok("META.yml", 1.4, "Bad META.yml!");

     # JSON version

     use Test::More tests => ...;
     use Data::Schema::Schema::CPANMeta qw(meta_spec_ok);
     meta_spec_ok("META.json", 2, "Bad META.json!");

     # using outside test script

     use Data::Schema qw(Schema::CPANMeta);
     use YAML;
     use File::Slurp;
     my $meta = Load(scalar read_file "META.yml");
     my $res = ds_validate($meta, 'cpan_meta_2');

     # to get the schema as YAML string

     use Data::Schema::Schema::CPANMeta qw($yaml_schema_2 $yaml_schema_14);

DESCRIPTION
    This module contains the schema for CPAN META.yml specification version
    1.4 and 2, in Data::Schema language. If you import $yaml_schema_14 and
    $yaml_schema_2 (or browse the source of this module), you can find the
    schema written as YAML.

    You can use the schema to validate META.yml or META.json files.

FUNCTIONS
  meta_yaml_ok([$msg])
    Basic META.yml wrapper around meta_spec_ok.

    Returns a hash reference to the contents of the parsed META.yml

  meta_json_ok([$msg])
    Basic META.json wrapper around meta_spec_ok.

    Returns a hash reference to the contents of the parsed META.json

  meta_spec_ok($file, $version [,$msg])
    Validates the named file against the given specification version. Both
    $file and $version can be undefined.

    Returns a hash reference to the contents of the given file, after it has
    been parsed.

    Note that unlike with "meta_yaml_ok()" or "meta_json_ok()", this form
    requires you to specify the number of tests you will be running in your
    test script (or use "done_testing()"). Also note that each
    "meta_spec_ok()" is actually 2 tests under the hood.

SEE ALSO
    Data::Schema

    Module::Build

    Test::CPAN::Meta

    CPAN META 1.4 specification document,
    http://module-build.sourceforge.net/META-spec-v1.4.html

    CPAN META 2 specification document, CPAN::Meta::Spec

AUTHOR
      Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2010 by Steven Haryanto.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.