I use Module::Starter, via the module-starter script, but I don't use Module::Build (I use ExtUtils::MakeMaker). I became very curious about all of these anomalies, so I decided to try the commands that you've shown for myself.

I upgraded modules, where necessary, to the latest versions:

$ perl -E 'use Module::Starter; say $Module::Starter::VERSION' 1.77 $ perl -E 'use Module::Build; say $Module::Build::VERSION' 0.4231

I pared down my ~/.module-starter/config to an absolute barebones version:

ken@titan ~/.module-starter $ cat config author: Ken Cotterill email: kcott@cpan.org

I created a fresh directory, ~/tmp/pm_11126324, for my tests. I then ran the commands you show.

ken@titan ~/tmp/pm_11126324 $ module-starter --version module-starter v1.77 ken@titan ~/tmp/pm_11126324 $ module-starter -mb --module test_module_starter Added to MANIFEST: Build.PL Added to MANIFEST: Changes Added to MANIFEST: lib/test_module_starter.pm Added to MANIFEST: MANIFEST Added to MANIFEST: README Added to MANIFEST: t/00-load.t Added to MANIFEST: t/manifest.t Added to MANIFEST: t/pod-coverage.t Added to MANIFEST: t/pod.t Added to MANIFEST: xt/boilerplate.t Created starter directories and files ken@titan ~/tmp/pm_11126324 $

So, I don't see any of the initial lines that you show:

Created test_module_starter Created test_module_starter/lib Created test_module_starter/lib/test_module_starter.pm Created test_module_starter/t Created test_module_starter/t/manifest.t Created test_module_starter/t/00-load.t Created test_module_starter/t/pod.t Created test_module_starter/t/pod-coverage.t Created test_module_starter/xt Created test_module_starter/xt/boilerplate.t Created test_module_starter/Build.PL Created test_module_starter/Changes Created test_module_starter/README Regenerating MANIFEST Can't find dist packages without a MANIFEST file Run 'Build manifest' to generate one WARNING: Possible missing or corrupt 'MANIFEST' file. Nothing to enter for 'provides' field in metafile. Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'test_module_starter' version '0.01' File 'MANIFEST.SKIP' does not exist: Creating a temporary 'MANIFEST.SK +IP'

There would appear to be a bug in Module::Build in that it reports "Added to MANIFEST: xt/boilerplate.t" but either that didn't happen or that line was subsequently removed:

ken@titan ~/tmp/pm_11126324 $ cat test_module_starter/MANIFEST Build.PL Changes lib/test_module_starter.pm MANIFEST This list of files README t/00-load.t t/manifest.t t/pod-coverage.t t/pod.t

I had a look in "Active bugs for Module-Build" but couldn't see anything related to this. There are multiple screenfuls of active bugs, so I may have missed it; also, that many active bugs does not fill me with confidence about this module in general.

It may be that you're attempting to create your module in a directory that's filled with files from previous attempts. That could account for all the extra messages that you reported. Try creating a fresh, empty directory and start again from scratch.

Also look in your ~/.module-starter/config and see what's there that could be causing issues. Do you, perhaps, have a template_dir: line which is causing your directory to be populated with problem files.

Your cp MANIFEST.SKIP.bak MANIFEST.SKIP command looks wrong to me. Normally, you copy a file to a backup version; not the other way around.

I looked at the "Module::Build: ACTIONS: test" documentation. It does not appear to recursively work through the t/ directory:

"Tests can be defined in the standard places: a file called test.pl in the top-level directory, or several files ending with .t in a t/ directory."

You may be able to use the --test_files argument to do what you want. I haven't tested this.

Also look at "Module::Build: SEE ALSO". There are a number of links there that might be useful for you (e.g. the Cookbook). I didn't look at any of these.

Finally, you might consider using ExtUtils::MakeMaker instead of Module::Build. That's what I use for both personal projects and $work: I've never had any of the sort of issues that you're reporting.

— Ken


In reply to Re^3: Issues with first module build by kcott
in thread Issues with first module build by Leitz

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.