Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Good explanation has already been done in the davido's long read.
You asked:
... I am specifically looking for the yml settings for the resources I have in the json file.
It should be a part of Makefile.PL. For example:
my %WriteMakefileArgs = ( NAME => 'File::Slurp::Affix', ... META_MERGE => { resources => { homepage => ' +fix', bugtracker => ' +fix/issues', repository => ' +fix.git', }, }, ... clean => { FILES => 'File-Slurp-Affix-*' }, );
Unfortunately, this part is not explained clearly. I learnt it looking on other projects, especially what is written in ExtUtils::MakeMaker itself. There are two version of META_ADD/META_MERGE. In my example above I used the first version.
Once module-starter executed, you've got the following directory structure:
lib/ t/ xt/ Changes ignore.txt (or .gitignore when module-starter --git) Makefile.PL MANIFEST README
lib/ is the stuff you are working on.

t/ and xt/ contain the stuff used for testing the module. You can check how tests wok:
prove -l -v
You can put here any code you'd like for proving your module. All (or almost all) aspects should be covered by these tests. It is template for your future tests, you can remove them and write your own tests.

Changes is used for the history. You will write here significant changes in current version since last one.

ignore.txt, .gitignore are used to skip some temporary files.

Makefile.PL creates MYMETA.* and Makefile. In general, there are no special reasons to keep them in you repo.

README is the first thing is read by others (usually). In it you need to explain your module. POD of the module is applicable as well. Check it and convert if no errors:
podchecker lib/File/Slurp/ pod2text lib/File/Slurp/ > README

MANIFEST is for declaring the content of your package. You also need to create MANIFEST.SKIP to declare the stuff that is not in MANIFEST and should be excluded from the package. It can be the same as .gitignore. Also you can add anything what you need to keep in the repo but should be skipped in the package. The following simple script will show what is not good with manifests.
#!/usr/bin/env perl use Test::More tests => 2; use ExtUtils::Manifest; is_deeply [ ExtUtils::Manifest::manicheck() ], [], 'missing'; is_deeply [ ExtUtils::Manifest::filecheck() ], [], 'extra';

In reply to Re^5: What do I use to release a module to CPAN for the first time? by siberia-man
in thread What do I use to release a module to CPAN for the first time? by Lady_Aleena

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2024-06-16 08:32 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.