Perl5-Alien / Alien-Base

Base classes for Alien:: modules (deprecated, see Alien-Build)
Other
35 stars 19 forks source link

Split AB::MB; use EUMM #184

Closed plicease closed 7 years ago

plicease commented 7 years ago

I propose splitting AB::MB from the main AB dist. As discussed in #157 (please read for additional detail if you are not aware of the motivations for this). Here is what I have done in this PR:

  1. Put everything EXCEPT Alien/Base.pm and its associated tests in its own repository:

https://github.com/Perl5-Alien/Alien-Base-ModuleBuild

  1. AB will require AB::MB until the first of October 2017. This gives remaining stragglers six months to update their Build.PL files. I believe this is generous, but if anyone has any concerns about this time scale please do let me know. There is an override ALIEN_BASE_NO_ABMB which allows me to test Alien::Base sans AB::MB

  2. Add notice about removal of AB::MB require in the main .pm file and the Changes file.

  3. Use EUMM (AB::MB will continue to use Module::Build).

The rationale for starting to move on this is that Alien::Build and alienfile are now completely usable, and I am using them for a number of Alien dists. They use Alien::Base, but they do not need Alien::Base::ModuleBuild.

I think these steps are defensible given that I wrote about my intentions to do this over a year ago:

http://blogs.perl.org/users/graham_ollis/2016/03/alienbase-and-modulebuild.html

and only got push back from one non-Alien::Base user about breaking compatibility. But let me address this complaint.

The argument is that we should forever adhere to backward compatibility. This is fine, if you assume unlimited resources for development and maintenance. Obviously that is not the situation here. The main breakage will be when a user attempts to install an Alien which hasn't been updated will get an error saying that Alien/Base/ModuleBuild.pm was not found. Most Perl developers with even only a small amount of experience will know that they simply need to install Alien::Base::ModuleBuild, so this is only a minor inconvenience. Further, the majority of Alien distributions that use AB::MB have already had their Build.PL files updated, thanks to my aggressive notification policy and PRs. There aren't any remaining Aliens that need to be updated that are actually used by anything else (!). So I believe the breakage in practice will be very small or non-existent.

If this change is accepted, in addition to the notification in the POD, I will write a blog entry on blogs.perl.org further publicizing this change. I will do this more out of an abundance of caution, as I believe we will see very little actual breakage.

zmughal commented 7 years ago

I like this. I've looked over some of Alien::Build finally and I see a lot of improvements that I'd definitely use!

Merge: Aye