CPAN Release Task::BeLike::JONASBN 1.01

Task::BeLike::JONASBN 1.01 has been released to CPAN it is a simple bug fix release.

Based on CPAN testers results I could see that after making the POD generation a part of the build, I need to move the requirement for Tie::IxHash to be asserted prior to the build. So the configuration phase should identify the requirement for Tie::IxHash.

The distribution is using Tie::IxHash to create the POD documentation as a part of the build process. This step is implemented as a step of it’s own, but it has been integrated with the build action, simply so the step is not forgotten.

My original idea was to have the list in Build.PL and the let the CONTENTS section, be auto-generated. So Bundle::JONASBN and Task::BeLike::JONASBN contain it’s own custom build system, based on a sub class of Module::Build. The build system (Module::Build::Bundle) read the requirements from Build.PL and inserts this in the CONTENTS section, alphabetized.
I attempted to let the build system create beautiful POD, instead of the standardized used in bundles. It took me several attempts to figure out that it was the reason my particular bundle was not working as expected.
Bundles require some special magic on the client side to parse the CONTENTS section, in this case primarily the CPAN client and the requirements for developing a bundle are quite special and IMHO error prone. It took me 4 releases to get it right, I was simply not grasping the magic part.
Adam Kennedy at some point recognized this weakness in the tool chain and introduced Task, a new much simpler approach. Task is based simply on writing up the requirements in the build file, whether you use Module::Build, ExtUtils::MakeMaker or Module::Install.
Tasks are easier to maintain and validate.
I was in that lucky position that I had put all my requirements in my Build.PL since release 0.01. So when I choose to migrate to a Task based approach it was just a matter of renaming packages etc.
Much of all my trouble was due to the fact that I had thought that the approach would be the approach used in Task. But AFAIK it is a combination of package name: Bundle:: and the CONTENTS section.
I have now migrated to the Task approach and reinstated the beautification of the POD and everything works well and looks nice, well apart from the little glitch with the order of assertions, but luckily Module::Build handles the META file generation and the fix was fairly simple.

CPAN Release Task::BeLike::JONASBN 1.01

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s