NAME

Dist::Zilla::Plugin::Sah::Schemas - Plugin to use when building Sah-Schemas-* distribution

VERSION

This document describes version 0.033 of Dist::Zilla::Plugin::Sah::Schemas (from Perl distribution Dist-Zilla-Plugin-Sah-Schemas), released on 2024-01-09.

SYNOPSIS

In dist.ini:

[Sah::Schemas]

DESCRIPTION

This plugin is to be used when building Sah-Schemas-* distribution.

It adds xt/release/sah-schema.t which does the following:

  • Check that schema is already normalized

  • Test examples in schema

It does the following to every lib/Sah/Schemas/* .pm file:

It does the following to every lib/Sah/Schema/* .pm file:

  • Set module abstract from the schema's summary

  • Add a prereq to other Sah::Schema::* module if schema depends on those other schemas

  • Produce pre-resolved editions of schemas into lib/Sah/SchemaR/*

    These are useful if a client wants to lookup the base type of a schema without having to do any extra resolving. Currently Perinci::Sub::Complete uses this to reduce startup overhead when doing tab completion.

CONFIGURATION

exclude_module

Currently this means to exclude loading the specified schema module during build, skip resolving the schema, skip parsing the schema and extracting prerequisites from the schema, the and skip creating the corresponding Sah::SchemaR::* module.

schemar_preamble

Code to add at the beginning of generated Sah/SchemaR/*.pm files (put after the package statemnet).

schemar_postamble

Code to add at the end of generated Sah/SchemaR/*.pm files (put before the ending 1;).

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Dist-Zilla-Plugin-Sah-Schemas.

SOURCE

Source repository is at https://github.com/perlancar/perl-Dist-Zilla-Plugin-Sah-Schemas.

SEE ALSO

Pod::Weaver::Plugin::Sah::Schemas

Sah::Schemas

Sah and Data::Sah

AUTHOR

perlancar <perlancar@cpan.org>

CONTRIBUTOR

Steven Haryanto <stevenharyanto@gmail.com>

CONTRIBUTING

To contribute, you can send patches by email/via RT, or send pull requests on GitHub.

Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via:

% prove -l

If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me.

COPYRIGHT AND LICENSE

This software is copyright (c) 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016 by perlancar <perlancar@cpan.org>.

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

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Sah-Schemas

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.