Skip to content

Commit fd1245c

Browse files
author
Anthony Parsons
committed
Speculatively make versions agree on a format
Nothing in META6.json makes it explicit whether the "v" is required, optional or forbidden, so for now let's default to the form that requires less typing and can sanely be passed to Version.new.
1 parent 60cf346 commit fd1245c

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

S22-package-format.pod

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -172,20 +172,35 @@ not being able to test Perl 6 distributions (yet)).
172172
The META6.json file is a JSON-file that must at least contain a C<perl>,
173173
C<name>, C<version> and C<description> section.
174174

175+
First, we need to define a few terms:
176+
177+
=over
178+
179+
=item Version string
180+
181+
A quoted string that one would pass to C<Version.new>, e.g. "6.c".
182+
This B<should not> be prefixed with "v" (unless your package has a really weird
183+
versioning scheme, but please try not to do that).
184+
185+
=back
186+
175187
=head3 meta6
176188

177-
Optional. The version of the META6.json schema in use, as a quoted Version
178-
literal (without the "v" prefix). If omitted a default value of "0" is assumed,
179-
which means the file conforms to S22 version 6 (i.e. pre-v6.c format).
189+
Optional. L</Version string> of the META6.json schema in use. If omitted a default
190+
value of "0" is assumed, which means the file conforms to S22 version 6 (i.e.
191+
pre-v6.c format).
180192

181193
=head3 perl
182194

183195
Mandatory. The minimal perl version for which this distribution can be
184-
installed. Specified as a version string. So:
196+
installed. Specified as a L</Version string>. So:
185197

186-
"perl" : "v6.0.1"
198+
"perl" : "6.d"
187199

188-
would not allow installation on Perl version 6.0.0.
200+
would not allow installation on Perl implementations that only support v6.c.
201+
202+
(Prior to I<meta6 v1>, the example here made reference to "v6.0.1", but that
203+
numeric scheme has long since been abandoned.)
189204

190205
=head3 name
191206

@@ -197,10 +212,13 @@ be:
197212

198213
=head3 version
199214

200-
Mandatory. The version literal for this distribution. An example of this
201-
would be:
215+
Mandatory. The L</Version string> for the distribution as a whole. An example
216+
of this would be:
217+
218+
"version" : "1.23"
202219

203-
"version" : "v1.23"
220+
(Prior to I<meta6 v1>, the format here wasn't explicit. All kinds of different
221+
formats have been seen in the wild, including C<"*">.)
204222

205223
=head3 description
206224

0 commit comments

Comments
 (0)