NAME CPAN::Meta::X - Catalog of custom (x_*) keys in CPAN distribution metadata being used in the wild VERSION This document describes version 0.009 of CPAN::Meta::X (from Perl distribution CPAN-Meta-X), released on 2022-10-28. DESCRIPTION The CPAN distribution metadata specification allows custom keys (those that begin with "x_" or "X_") to be added to the metadata. This document tries to catalog the custom keys that are being used by CPAN authors. In addition to custom metadata keys, this document also lists: * custom phases and relationships in the prereqs hash that are being used by people * custom keys in resources hash CUSTOM DISTRIBUTION METADATA KEYS x_Dist_Zilla key A big structure recording information related to Dist::Zilla which presumably is used to build the current distribution. Some of the things being put in here include: perl version used to build the distribution, Dist::Zilla plugins used to build the distribution, and so on. x_authority key x_contributors key List of contributors in a release. Examples: TBD References: * DAGOLDEN, * SZABGAB, x_deprecated key x_examples key List prerequisites for example scripts. References: * KENTNL, x_generated_by_perl key x_help_wanted key x_provides_scripts key List scripts that are being provided in the distribution. The structure is modelled after the standard provides hash. Examples: So say your distribution provides a "csv2json" script, your META.json would contain: "x_provides_scripts": { "csv2json": { "version": "0.1", "file": "bin/csv2json" } } References: * TOBYINK, x_spdx_expression key x_serialization_backend key x_static_install key CUSTOM PREREQS PHASES x_benchmarks phase Express that the current distribution is benchmarking the specified module. References: * PERLANCAR, x_lists phase Express that the current distribution is including the specified module in some list(s), e.g. an Acme::CPANModules list. References: * PERLANCAR, Dist::Zilla::Plugin::Acme::CPANModules x_mentions phase Express that the current distribution is mentioning the specified module. References: * PERLANCAR, CUSTOM PREREQS RELATIONSHIPS x_alt_for relationship Express that a distribution provides an alternate (implementation) for a module. Example: Perinci::Access::Lite distribution specifies a runtime "x_alt_for" prereq relationship to Perinci::Access. IDEA: The more specific nature of alternate could be specified further in additional relationsip e.g. "x_lightweight_alt_for", "x_tiny_alt_for", "x_windows_alt_for", etc, if needed. x_benchmarks relationship See "x_benchmarks phase". x_features_from relationship Express that one of the modules in the current distribution is declaring features that are defined defined in an associated "Module::Features::*" module. Used with (phase=develop). Examples: Text::ANSITable, Text::Table::More, and Text::Table::Sprintf declares features defined by Module::Features::TextTable so they add a dependency (phase=develop, rel=x_features_from) to Module::Features::TextTable. References: * Module::Features specification x_lists relationship See "x_lists phase". x_mentions relationship See "x_mentions phase". x_spec relationship Express that the current distribution is following a specification defined in the specified module. Used with (phase=develop). References: * PERLANCAR, CUSTOM RESOURCES x_IRC resource x_identifier resource x_mailinglist resource x_wiki resource HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . SEE ALSO CPAN::Meta::Spec - Specification for CPAN distribution metadata CPAN::Meta::X::Old AUTHOR perlancar 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) 2022, 2021 by perlancar . 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 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.