in reply to Using ExtUtils::ModuleMaker with Version Control

Normally, you create modules with h2xs or its modern equivalents: ExtUtils::ModuleMaker or Module::starter.

For a module Foo::Bar, this will create a template module kit under ./Foo/Bar including a MANIFEST and Makefile.PL (which makes use of ExtUtils::MakeMaker). Your module Bar.pm itself can either live in ./Foo/Bar or in ./Foo/Bar/lib/Foo, which is where to put it if your module kit aims to deliver nore than one .pm module.

This directory tree (no version number) is what you should check into the VCS.

Inside the template Bar.pm will be a line which defines $Foo::Bar::VERSION - this is where WriteMakefile (in Makefile.PL) will get the version number from. make distdir will generate a directory tree with a version number on should you need one.

See also How to make a CPAN Module Distribution

Hope this helps

--

Oh Lord, won’t you burn me a Knoppix CD ?
My friends all rate Windows, I must disagree.
Your powers of persuasion will set them all free,
So oh Lord, won’t you burn me a Knoppix CD ?
(Missquoting Janis Joplin)

  • Comment on Re: Using ExtUtils::MakeMaker with Version Control

Replies are listed 'Best First'.
Re^2: Using ExtUtils::MakeMaker with Version Control
by salva (Canon) on Jun 07, 2005 at 10:24 UTC
    just a small correction: latest versions of h2xs create module directories as Foo-Bar/ instead of the old Foo/Bar/
Re^2: Using ExtUtils::MakeMaker with Version Control
by loris (Hermit) on Jun 07, 2005 at 10:36 UTC

    Thanks for the help, rinceWind. I am, in fact using ExtUtils::ModuleMaker (see embarrassing update to original posting). Even more embarrassinngly I have realised that I am using a wrapper for ModuleMaker (see ExtUtils::ModuleMaker) that adds the version to the directory name.

    Sorry for bothering everyone - I'll go and stand in the corner for a while.

    Sheepishly,

    loris