summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl')
-rw-r--r--upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl249
1 files changed, 249 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl b/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl
new file mode 100644
index 00000000..15fe63a7
--- /dev/null
+++ b/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl
@@ -0,0 +1,249 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "Parse::CPAN::Meta 3perl"
+.TH Parse::CPAN::Meta 3perl 2024-01-12 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+Parse::CPAN::Meta \- Parse META.yml and META.json CPAN metadata files
+.SH VERSION
+.IX Header "VERSION"
+version 2.150010
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 2
+\& #############################################
+\& # In your file
+\&
+\& \-\-\-
+\& name: My\-Distribution
+\& version: 1.23
+\& resources:
+\& homepage: "http://example.com/dist/My\-Distribution"
+\&
+\&
+\& #############################################
+\& # In your program
+\&
+\& use Parse::CPAN::Meta;
+\&
+\& my $distmeta = Parse::CPAN::Meta\->load_file(\*(AqMETA.yml\*(Aq);
+\&
+\& # Reading properties
+\& my $name = $distmeta\->{name};
+\& my $version = $distmeta\->{version};
+\& my $homepage = $distmeta\->{resources}{homepage};
+.Ve
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+\&\fBParse::CPAN::Meta\fR is a parser for \fIMETA.json\fR and \fIMETA.yml\fR files, using
+JSON::PP and/or CPAN::Meta::YAML.
+.PP
+\&\fBParse::CPAN::Meta\fR provides three methods: \f(CW\*(C`load_file\*(C'\fR, \f(CW\*(C`load_json_string\*(C'\fR,
+and \f(CW\*(C`load_yaml_string\*(C'\fR. These will read and deserialize CPAN metafiles, and
+are described below in detail.
+.PP
+\&\fBParse::CPAN::Meta\fR provides a legacy API of only two functions,
+based on the YAML functions of the same name. Wherever possible,
+identical calling semantics are used. These may only be used with YAML sources.
+.PP
+All error reporting is done with exceptions (die'ing).
+.PP
+Note that META files are expected to be in UTF\-8 encoding, only. When
+converted string data, it must first be decoded from UTF\-8.
+.SH METHODS
+.IX Header "METHODS"
+.SS load_file
+.IX Subsection "load_file"
+.Vb 1
+\& my $metadata_structure = Parse::CPAN::Meta\->load_file(\*(AqMETA.json\*(Aq);
+\&
+\& my $metadata_structure = Parse::CPAN::Meta\->load_file(\*(AqMETA.yml\*(Aq);
+.Ve
+.PP
+This method will read the named file and deserialize it to a data structure,
+determining whether it should be JSON or YAML based on the filename.
+The file will be read using the ":utf8" IO layer.
+.SS load_yaml_string
+.IX Subsection "load_yaml_string"
+.Vb 1
+\& my $metadata_structure = Parse::CPAN::Meta\->load_yaml_string($yaml_string);
+.Ve
+.PP
+This method deserializes the given string of YAML and returns the first
+document in it. (CPAN metadata files should always have only one document.)
+If the source was UTF\-8 encoded, the string must be decoded before calling
+\&\f(CW\*(C`load_yaml_string\*(C'\fR.
+.SS load_json_string
+.IX Subsection "load_json_string"
+.Vb 1
+\& my $metadata_structure = Parse::CPAN::Meta\->load_json_string($json_string);
+.Ve
+.PP
+This method deserializes the given string of JSON and the result.
+If the source was UTF\-8 encoded, the string must be decoded before calling
+\&\f(CW\*(C`load_json_string\*(C'\fR.
+.SS load_string
+.IX Subsection "load_string"
+.Vb 1
+\& my $metadata_structure = Parse::CPAN::Meta\->load_string($some_string);
+.Ve
+.PP
+If you don't know whether a string contains YAML or JSON data, this method
+will use some heuristics and guess. If it can't tell, it assumes YAML.
+.SS yaml_backend
+.IX Subsection "yaml_backend"
+.Vb 1
+\& my $backend = Parse::CPAN::Meta\->yaml_backend;
+.Ve
+.PP
+Returns the module name of the YAML serializer. See "ENVIRONMENT"
+for details.
+.SS json_backend
+.IX Subsection "json_backend"
+.Vb 1
+\& my $backend = Parse::CPAN::Meta\->json_backend;
+.Ve
+.PP
+Returns the module name of the JSON serializer. If \f(CW\*(C`CPAN_META_JSON_BACKEND\*(C'\fR
+is set, this will be whatever that's set to. If not, this will either
+be JSON::PP or JSON. If \f(CW\*(C`PERL_JSON_BACKEND\*(C'\fR is set,
+this will return JSON as further delegation is handled by
+the JSON module. See "ENVIRONMENT" for details.
+.SS json_decoder
+.IX Subsection "json_decoder"
+.Vb 1
+\& my $decoder = Parse::CPAN::Meta\->json_decoder;
+.Ve
+.PP
+Returns the module name of the JSON decoder. Unlike "json_backend", this
+is not necessarily a full JSON\-style module, but only something that will
+provide a \f(CW\*(C`decode_json\*(C'\fR subroutine. If \f(CW\*(C`CPAN_META_JSON_DECODER\*(C'\fR is set,
+this will be whatever that's set to. If not, this will be whatever has
+been selected as "json_backend". See "ENVIRONMENT" for more notes.
+.SH FUNCTIONS
+.IX Header "FUNCTIONS"
+For maintenance clarity, no functions are exported by default. These functions
+are available for backwards compatibility only and are best avoided in favor of
+\&\f(CW\*(C`load_file\*(C'\fR.
+.SS Load
+.IX Subsection "Load"
+.Vb 1
+\& my @yaml = Parse::CPAN::Meta::Load( $string );
+.Ve
+.PP
+Parses a string containing a valid YAML stream into a list of Perl data
+structures.
+.SS LoadFile
+.IX Subsection "LoadFile"
+.Vb 1
+\& my @yaml = Parse::CPAN::Meta::LoadFile( \*(AqMETA.yml\*(Aq );
+.Ve
+.PP
+Reads the YAML stream from a file instead of a string.
+.SH ENVIRONMENT
+.IX Header "ENVIRONMENT"
+.SS CPAN_META_JSON_DECODER
+.IX Subsection "CPAN_META_JSON_DECODER"
+By default, JSON::PP will be used for deserializing JSON data. If the
+\&\f(CW\*(C`CPAN_META_JSON_DECODER\*(C'\fR environment variable exists, this is expected to
+be the name of a loadable module that provides a \f(CW\*(C`decode_json\*(C'\fR subroutine,
+which will then be used for deserialization. Relying only on the existence
+of said subroutine allows for maximum compatibility, since this API is
+provided by all of JSON::PP, JSON::XS, Cpanel::JSON::XS,
+JSON::MaybeXS, JSON::Tiny, and Mojo::JSON.
+.SS CPAN_META_JSON_BACKEND
+.IX Subsection "CPAN_META_JSON_BACKEND"
+By default, JSON::PP will be used for deserializing JSON data. If the
+\&\f(CW\*(C`CPAN_META_JSON_BACKEND\*(C'\fR environment variable exists, this is expected to
+be the name of a loadable module that provides the JSON API, since
+downstream code expects to be able to call \f(CW\*(C`new\*(C'\fR on this class. As such,
+while JSON::PP, JSON::XS, Cpanel::JSON::XS and JSON::MaybeXS will
+work for this, to use Mojo::JSON or JSON::Tiny for decoding requires
+setting "CPAN_META_JSON_DECODER".
+.SS PERL_JSON_BACKEND
+.IX Subsection "PERL_JSON_BACKEND"
+If the \f(CW\*(C`CPAN_META_JSON_BACKEND\*(C'\fR environment variable does not exist, and if
+\&\f(CW\*(C`PERL_JSON_BACKEND\*(C'\fR environment variable exists, is true and is not
+"JSON::PP", then the JSON module (version 2.5 or greater) will be loaded and
+used to interpret \f(CW\*(C`PERL_JSON_BACKEND\*(C'\fR. If JSON is not installed or is too
+old, an exception will be thrown. Note that at the time of writing, the only
+useful values are 1, which will tell JSON to guess, or JSON::XS \- if
+you want to use a newer JSON module, see "CPAN_META_JSON_BACKEND".
+.SS PERL_YAML_BACKEND
+.IX Subsection "PERL_YAML_BACKEND"
+By default, CPAN::Meta::YAML will be used for deserializing YAML data. If
+the \f(CW\*(C`PERL_YAML_BACKEND\*(C'\fR environment variable is defined, then it is interpreted
+as a module to use for deserialization. The given module must be installed,
+must load correctly and must implement the \f(CWLoad()\fR function or an exception
+will be thrown.
+.SH AUTHORS
+.IX Header "AUTHORS"
+.IP \(bu 4
+David Golden <dagolden@cpan.org>
+.IP \(bu 4
+Ricardo Signes <rjbs@cpan.org>
+.IP \(bu 4
+Adam Kennedy <adamk@cpan.org>
+.SH "COPYRIGHT AND LICENSE"
+.IX Header "COPYRIGHT AND LICENSE"
+This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors.
+.PP
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.