develooper Front page | perl.module-authors | Postings from November 2018

Re: tools and work flows for developing collections of distributions

Thread Previous | Thread Next
From:
David Cantrell
Date:
November 22, 2018 10:31
Subject:
Re: tools and work flows for developing collections of distributions
Message ID:
20181122103143.GB10971@bytemark.barnyard.co.uk
On Wed, Nov 21, 2018 at 02:50:26PM -0800, David Christensen wrote:
> On 11/21/18 2:15 AM, David Cantrell wrote:
> >These days people tend to just create Task-whatever
> >distributions, which contain a bit of documentation in Task::whatever
> >for the benefit of metacpan users, and the usual Makefile.PL to declare
> >dependencies.
> Where can I find documentation that explains Tasks and how to create them?

The same place you'd find documentation on creating any other completely
normal distribution.

> I assume you are referring to the PREREQ_PM argument to WriteMakefile(). 
> As I understand it, this argument assumes that the modules are already 
> installed.

A CPAN client will spot the dependencies and install them.

>            So for development, I would need to preface the Perl include 
> path with the 'lib' directories for each of my distribution source trees 
> (?).

If you want to test against stuff that isn't on the CPAN, yes. If you
have all your distributions' sources as sub-dirs of a single directory
you can do something like ...

  cd $wherever
  export PERL5LIB=`perl -MCwd -e 'print join(":", map { cwd."/$_/lib" } @ARGV)' *`:$PERL5LIB

but note that that won't work for stuff that has XS components, or where
Makefile.PL does funky stuff to edit your code, or where your source
code isn't laid out in the normal hierarchy. Also on at least some
platforms there is a limit on how long PERL5LIB can be.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

    Planckton: n, the smallest possible living thing

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About