in reply to Problem with use of Module::Starter::Smart

Module::Starter::Smart doesn't appear in your "script"

Here is mine

Save this code as msSmart.patch.txt

diff -ruN empty/lib/msSmart.pm msSmart/lib/msSmart.pm --- empty/lib/msSmart.pm 1969-12-31 16:00:00.000000000 -0800 +++ msSmart/lib/msSmart.pm 2011-11-15 15:12:16.343750000 -0800 @@ -0,0 +1 @@ +package msSmart; 1; diff -ruN empty/mss.pl msSmart/mss.pl --- empty/mss.pl 1969-12-31 16:00:00.000000000 -0800 +++ msSmart/mss.pl 2011-11-15 15:23:46.781250000 -0800 @@ -0,0 +1,21 @@ +#!/usr/bin/perl -- +use strict; use warnings; +use Module::Starter qw/Module::Starter::Simple Module::Starter::Smart +/; +Module::Starter->create_distro( + distro => 'Globbo', # distribution name (defaults to f +irst module) + modules => [ 'msSmart' ], # modules to create in distro +#~ dir => 'Globbo', # directory in which to buil +d distro + builder => 'Module::Build', # defaults to ExtUtils::MakeMak +er + # or specify more than one buil +der in an + # arrayref + + license => 'perl', # type of license; defaults to 'perl' + author => 'author', # author's full name (required) + email => 'email', # author's email address (required) +#~ ignores_type => $type, # ignores file type ('generic', 'cv +s', 'git', 'manifest' ) + + verbose => '1', # bool: print progress messages; defaults t +o 0 +#~ force => $force # bool: overwrite existing files; d +efaults to 0 +); +__END__ +

Then run these commands

md tmp cd tmp patch -p1 < ../msSmart.patch.txt tree -f . perl mss.pl tree -f .

And you'll see

$ md tmp $ cd tmp $ patch -p1 < ../msSmart.patch.txt patching file lib/msSmart.pm patching file mss.pl $ tree -f . . |-- ./lib | `-- ./lib/msSmart.pm `-- ./mss.pl 1 directory, 2 files $ perl mss.pl Created Globbo Created Globbo\lib Created Globbo\lib\msSmart.pm Created Globbo\t Created Globbo\t\pod-coverage.t Created Globbo\t\pod.t Created Globbo\t\manifest.t Created Globbo\t\boilerplate.t Created Globbo\t\00-load.t Created Globbo\ignore.txt Created Globbo\Build.PL Created Globbo\MANIFEST $ tree -f . . |-- ./Globbo | |-- ./Globbo/Build.PL | |-- ./Globbo/Changes | |-- ./Globbo/MANIFEST | |-- ./Globbo/README | |-- ./Globbo/ignore.txt | |-- ./Globbo/lib | | `-- ./Globbo/lib/msSmart.pm | `-- ./Globbo/t | |-- ./Globbo/t/00-load.t | |-- ./Globbo/t/boilerplate.t | |-- ./Globbo/t/manifest.t | |-- ./Globbo/t/pod-coverage.t | `-- ./Globbo/t/pod.t |-- ./lib | `-- ./lib/msSmart.pm `-- ./mss.pl 4 directories, 13 files $ grep msSmart -r Globbo/lib Globbo/lib/msSmart.pm:package msSmart; Globbo/lib/msSmart.pm:msSmart - The great new msSmart! Globbo/lib/msSmart.pm: use msSmart; Globbo/lib/msSmart.pm: my $foo = msSmart->new(); Globbo/lib/msSmart.pm: perldoc msSmart Globbo/lib/msSmart.pm:1; # End of msSmart

Whoops, that didn't work. It appears you probably did nothing wrong

In short, Module::Starter::Simple doesn't work, not surprising, since it never tests its own functionality

You can accomplish what it was supposed to accomplish by judicious use of cp command, say

module-starter --distro=Globbo ... cp -R lib Globbo cp -R t Globbo cd Globbo # perl Makefile.PL # make manifest perl Build.PL build manifest

Replies are listed 'Best First'.
Re^2: Problem with use of Module::Starter::Smart
by GUIfriend (Sexton) on Nov 16, 2011 at 10:29 UTC

    Hi Anonymous Monk,

    you wrote: It appears you probably did nothing wrong. Thank you very much for your workaround. I'm optimistic it will bring me to my goal.

    There is obviously an error either in the code or in the doku of Module::Starter::Smart. Probably I will send a bug report on this.

    Kind regards

    GUIfriend

        Hi FunkyMonk,

        thank you very much for your hint. This RFC contains a fair amount of details about creation of a distribution that I wasn't aware of. It comforts me a bit to see that I'm not the only one who has much trouble chasing for info on this matter.

        Unfortunately this RFC doesn't mention the Module::Starter family of tools. So I will have to live with a less comfortable solution.

        Kind regards

        GUIfriend