[Catalyst] Catalyst and Dist::Zilla?

Bill Moseley moseley at hank.org
Fri Jul 6 16:06:57 GMT 2012


On Fri, Jul 6, 2012 at 4:42 AM, Eden Cardim <edencardim at gmail.com> wrote:

>
> What I've done before is to move root and other directories into share
> and use the ShareDir plugin. You will need to adjust $c->path_to to
> point to the share dir appropriately, I've been planning to submit a
> patch for this, but haven't found the time.
>

So you are saying move root to share/root and let everything in root get
managed like a share directory?

$c->path_to uses $c->config->{home} as its base.   So, it's really
$c->config->{home} that would need to be changed, right?
$c->config->{root} is based of $c->config->{home}, too.   Which means
everything in the app's home directory would need to move, too -- like
config.yml (or whatever you use) and any other files or directories that
were placed there.


File::ShareDIr also acts a bit differently than how the current home and
root work.

For example, "prove -vl t/test.t" and "prove -vb t/test.t"  (lib vs. blib)
currently will both use the same home (and therefore root).   Since -b uses
blib/lib then Catalyst probably should also use blib/lib/<App>/root to be
consistent, right?

File::ShareDire might help that, though.

File::ShareDir expects an auto directory -- so "prove -vl" won't work
(because File::ShareDir expectes to find lib/auto which likely doesn't
exist in the source).

"prove -vb" works because File::ShareDir looks for blib/lib/auto/<App>, and
things in "share"get copied then when running "make".

I tend to use prove -vl quite often, so that's a problem when also using
File::ShareDir.  (Maybe there's a solution I'm not aware of).

I like the idea of using share for root -- just because it uses the
Makefile to copy files (when needed) instead of Module::Install::Catalyst's
method of copying all files every time when running Makefile.PL.  I've got
over 5500 files in my root.

Maybe all that's needed is Catalyst::Util's home function to figure out if
running out of lib or from an installed location (prove -l  vs. prove -b)
so it can use the right "root" using existing methods or via File::ShareDir.

Still, not sure I'd want to move the app configuration out of the app home.


-- =

Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20120706/74dc2=
f03/attachment.htm


More information about the Catalyst mailing list