[Moscow.pm] Dzil vs Module::Build vs ...

Peter Rabbitson rabbit+moscowpm на rabbit.us
Вт Дек 11 04:20:39 PST 2012


On Tue, Dec 11, 2012 at 03:44:40AM +0600, Nick Knutov wrote:
> Внезапно от https://github.com/fayland я узнал о существовании Dzil
> (http://dzil.org, Dist::Zilla) . Почитал документацию - вроде
> действительно простая и хорошая штука.
> 
> При этом дансер и вообще все все модули, которые я когда-либо
> смотрел/правил создаются и поддерживаются на Module::Build.

Вобще более популярен ExtUtils::MakeMaker, но то отдельный холивар.
> 
> Этому есть какая-то причина, кроме исторически сложившейся традиции?
> 
> Есть ли какие-то причины использовать Module::Build вместо Dzil сейчас?

У Dzil свои проблемы - не на все есть плагины. К примеру получается такой
кошмар:
https://github.com/bobtfish/b-hooks-endofscope/commit/ec4bb35

Отдельно процитирую мое мнение из другой разсылки, где обсуждали
перевод DBIx::Class на dzil:

----------------

> *cough* DZIL *cough*

For starters - I hate distzilla. It is a badly architectured,
overcomplicated heap of random code that may or may not produce what one
needs in the end. Worse - if it produced what you want today, there is
no guarantee it will keep doing that tomorrow, after some part of the
CPAN half dzil depends on changes subtly. With that said - I have stated
before that I will not oppose a switch to dzil for *distmaking only* if
someone is willing to do the legwork and satisfy the following:

- Dzil is just a distbuilder - this means a checkout must be usable
without it One must be able to patch/test/use a checkout without ever
installing Dzil

- No moving target bundles - this means nothing beyond the most proven
ones, and definitely no use of ::Bundle::<vanityname>. All plugins must
be spelled out individually, to facilitate easy shutoff. The failure
scenario here is e.g.: If I need to build a tarball urgently, only to
discover that I need Net::Twitter and Facebook::API just to run `dzil
build` I will cling to guns without the use of religion ;)

- All code must remain at its original site - the line numbers on CPAN
must match the line numbers in master. PODmunging can only happen at the
end of a .pm, nowhere else.

Beyond this - if people overwhelmingly want to use dzil - fine, use
dzil. I still get to tease you all the time about it though.

---------------

Мои 2 рубля ;)



Подробная информация о списке рассылки Moscow-pm