tokuhirom / Minilla

Authorizing tool for CPAN modules
https://metacpan.org/release/Minilla
Other
98 stars 65 forks source link

Default to Module::Build::Tiny? #164

Closed karenetheridge closed 9 years ago

karenetheridge commented 9 years ago

Currently, Minilla defaults to using Module::Build, which is not very "minimalistic" - in fact it's pretty awful, and we at the Toolchain Gang are trying to phase things away from using it whenever possible.

Would it be possible for Minilla to default to using Module::Build::Tiny instead of Module::Build? I do not know if it would break anything.

Grinnz commented 9 years ago

To note, this would also match the current default for Dist::Milla.

miyagawa commented 9 years ago

I guess the decision is very subjective, and I personally don't have a strong opinion on this, but +1 on making MBT a default because:

The only thing you have to consider is an existing users with XS code in there, expecting Module::Build to be the default. I'm sure you can add some transitional code that detects XS code in a project and warns if installer is not set.

Leont commented 9 years ago

+1 on everything miyagawa just said

tokuhirom commented 9 years ago

:+1: patches welcome :P

On Wed, Jul 8, 2015 at 9:40 AM Leon Timmermans notifications@github.com wrote:

+1 on everything miyagawa just said

— Reply to this email directly or view it on GitHub https://github.com/tokuhirom/Minilla/issues/164#issuecomment-119383504.

karenetheridge commented 9 years ago

ok, I'll try to do a patch :)

one thing confuses me: Minilla::Profile::Default has:

use parent qw(Minilla::Profile::ModuleBuildTiny);

...so why is it defaulting to Module::Build instead?

miyagawa commented 9 years ago

I think there's a bug in the Profile class where ModuleBuildTiny and ModuleBuild profile are actually identical.

miyagawa commented 9 years ago

nevermind - yes, for new projects it definitely creates ModuleBuildTiny as a default builder. dabf5aaae1e7896ad078b6170024fa5476c22f8a

miyagawa commented 9 years ago

The only code path where ModuleBuild is loaded is when a config file minil.toml does not exist, or when module_maker= is not set, if I understand the code correctly.

karenetheridge commented 9 years ago

if module_maker= is not set in new projects being created, wouldn't that mean it would still default to ModuleBuild?

Leont commented 9 years ago

if module_maker= is not set in new projects being created, wouldn't that mean it would still default to ModuleBuild?

I think it means that dists minted before the change continue to use ModuleBuild, while dists minted after will use ModuleBuildTiny.