You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently there are two different module ecosystems (module distribution
533
536
networks) available:
@@ -679,12 +682,16 @@ Make your X<C<META6.json>|META6.json> file look something like this:
679
682
=endcode
680
683
681
684
For choosing a version numbering scheme, try and use
682
-
"major.minor.patch" (see L<the spec on versioning | https://design.perl6.org/S11.html#Versioning> for further
683
-
details). This will go into the C<version> key of C<META6.json>.
685
+
"major.minor.patch"
686
+
(see L<the spec on versioning | https://design.perl6.org/S11.html#Versioning>
687
+
for further details). This will go into the C<version> key of C<META6.json>.
684
688
685
-
The C<name> key is compulsory, and C<zef> will fail if you do not include it. Even if you have created a META6.json file just to express the dependencies for a series of scripts, this section must be included.
689
+
The C<name> key is compulsory, and C<zef> will fail if you do not include it.
690
+
Even if you have created a META6.json file just to express the dependencies
691
+
for a series of scripts, this section must be included.
686
692
687
-
The C<auth> section identifies the author in GitHub or other repository hosting site, such as Bitbucket.
693
+
The C<auth> section identifies the author in GitHub or other repository
694
+
hosting site, such as Bitbucket.
688
695
689
696
The C<authors> section includes a list of all the module authors. In
690
697
the case there is only one author, a single element list must be
@@ -699,28 +706,35 @@ Set C<perl> version to the minimum perl version your module works with.
699
706
700
707
Optionally, you can set an C<api> field. Incrementing this indicates that
701
708
the interface provided by your module is not backwards compatible with a
702
-
previous version. You can use it if you want to adhere to L<Semantic Versioning | https://semver.org>. Simply keep the C<api> field to the same value as
703
-
your major version number. A dependency can then depend on your module by
704
-
including a C<:api> part, which will ensure backwards incompatible releases
705
-
will not be pulled in.
706
-
707
-
The C<resources> section is optional, but, if present, should contain a
708
-
list of the files in your C<resources> directory that you wish to be
709
-
installed. These will be installed with hashed names alongside your
710
-
library files and their installed location can be determined through the
711
-
C<%?RESOURCES>C<Hash> indexed on the name provided. C<tags> is also optional, but is used to describe the module in the Perl 6 ecosystem.
712
-
713
-
C<depends>, C<build-depends> and C<test-depends> include different modules that are used in those phases of the of installation. The last two are optional, but convenient.
714
-
715
-
Finally, C<source-url> indicates the URL of the repository where the module is developed.
709
+
previous version. You can use it if you want to adhere to
710
+
L<Semantic Versioning | https://semver.org>. Simply keep the C<api> field to
711
+
the same value as your major version number. A dependency can then depend on
712
+
your module by including a C<:api> part, which will ensure backwards
713
+
incompatible releases will not be pulled in.
714
+
715
+
The C<resources> section is optional, but, if present, should contain a list
716
+
of the files in your C<resources> directory that you wish to be installed.
717
+
These will be installed with hashed names alongside your library files and
718
+
their installed location can be determined through the C<%?RESOURCES>C<Hash>
719
+
indexed on the name provided. C<tags> is also optional, but is used to describe
720
+
the module in the Perl 6 ecosystem.
721
+
722
+
C<depends>, C<build-depends> and C<test-depends> include different modules that
723
+
are used in those phases of the of installation. The last two are optional, but
724
+
convenient.
725
+
726
+
Finally, C<source-url> indicates the URL of the repository where the module is
727
+
developed.
716
728
717
729
The L<Test::META module | https://github.com/jonathanstowe/Test-META/>
718
730
can help you check the correctness of the META6.json file.
719
731
720
-
There are more fields described in the L<META design documents |https://design.perl6.org/S22.html#META6.json>, but not all of these are
721
-
implemented by existing package managers. Hence you should stick to the
722
-
fields described in the above example block to ensure compatibility with
723
-
existing package managers. You can also check L<Moritz Lenz's repository of all modules for examples|https://github.com/moritz/perl6-all-modules/search?l=JSON&q=META6.json&type=>.
732
+
There are more fields described in the
733
+
L<META design documents |https://design.perl6.org/S22.html#META6.json>, but not
734
+
all of these are implemented by existing package managers. Hence you should
735
+
stick to the fields described in the above example block to ensure compatibility
736
+
with existing package managers. You can also check
737
+
L<Moritz Lenz's repository of all modules for examples|https://github.com/moritz/perl6-all-modules/search?l=JSON&q=META6.json&type=>.
724
738
725
739
=enditem
726
740
@@ -768,11 +782,13 @@ L<Upload a file to CPAN|https://pause.perl.org/pause/authenquery?ACTION=add_uri>
768
782
769
783
=itemMake sure you select C<Perl6> as the I<Target Directory>. For
770
784
your first upload, you have to enter the string C<Perl6> in the text field.
771
-
On subsequent uploads, you can select the C<Perl6> directory from select
772
-
box above the input field.
785
+
On subsequent uploads, you can select the C<Perl6> directory from the
786
+
selection box right below the input field.
773
787
774
788
=beginitem
775
-
Select your file and click I<Upload>!
789
+
Select your file and click I<Upload>! If everything was fine with your
790
+
dist, you should see your module tar file in your C<Perl6> directory along
791
+
with both a meta and a readme file named after your module filename.
776
792
777
793
I<Make sure you have a META6.json file in your dist and that the dist
778
794
version you're uploading is higher than the currently uploaded version.
0 commit comments