[Catalyst] Dist::Zilla + Catalyst?

Ævar Arnfjörð Bjarmason avarab at gmail.com
Wed Apr 28 16:03:30 GMT 2010


On Wed, Apr 28, 2010 at 15:29, Matt S Trout <mst at shadowcat.co.uk> wrote:
> On Wed, Apr 28, 2010 at 03:20:05PM +0000, Ęvar Arnfjörš Bjarmason wrote:
>> On Wed, Apr 28, 2010 at 14:30, Matt S Trout <mst at shadowcat.co.uk> wrote:
>> > In the case of Catalyst applications, the standard assumption that a checkout
>> > and a final dist look much the same (as is normal for CPAN) is used quite
>> > substantially; so I'd say that in this case Dist::Zilla's philosophical
>> > decision to violate that convention makes it a suboptimal choice.
>>
>> Thats more a tenet of how Ricardo Signes (the dzil author) likes to
>> work than a core assumption of Dist::Zilla.
>
> Fair point; though if you don't use it that way I'm not really convinced
> it does anything that Module::Install/etc. doesn't already do just fine.

It's (at least for me) mainly about removing the duplicate work that
goes into release. The *only* thing that I do when releasing now, aside
from editing the code, is manually updating the Changes file, and I
usually do that as I go. Then it's just `dzil release`.

Before that I had to maintain a MANIFEST, dependencies in Makefile.PL,
$VERSION in all my files, `git tag $VERSION` && `git push` after
release.

In addition I had boilerplate like README and LICENSE that either had
to be generated from something else in the distro, or copy/pasted into
every repository.

I'm willing to bet that you have to fiddle around more than I at
release time :)

>> There's no reason why Catalyst distros cant work with dzil.ini that I
>> can see. Are there hooks available for catalyst.pl so that it can
>> generate Dist::Zilla based distros instead of using Module::Install?
>
> The whole thing's generated from templates so far as I'm aware - don't see
> why you couldn't (or if it isn't already exposed why it wouldn't given a
> trivial patch).
>
> But rather the point of catalyst.pl is that it's "one sane way" to do things.
>
> I stick to the standard layout for most things in apps I work on not because
> it's necessarily my favourite, but because it's a common standard that
> anybody working on Catalyst apps is going to be familiar with. As Stevan says:

catalyst.pl's behavior (and not being able to change it) is the aspect
of Catalyst that irks me the most.

When I create a project the first thing I have to do is clean the
boilerplate the install script added. When I create models / views /
controllers with it, I usually have to at least go edit the POD
afterwards to make it sane.

It would be nice if someone made it pluggable so that you could easily
set your preferred build system / starting template in a global config
somewhere, along with an easy way to use other people's configs or
upload your own from the CPAN.

I don't use Catalyst enough to justify doing the work needed for that
to myself, especially if people would rather have "one true way" to do
it.

But if someone did implement it I'd be a very happy (infrequent) user.



More information about the Catalyst mailing list