On 2011.11.30 2:04 AM, David Golden wrote:
> On Wed, Nov 30, 2011 at 12:39 AM, Michael G Schwern <schw...@pobox.com> wrote:
>> There is a 3rd choice, which brings us full circle to where this discussion
>> started.  We write TB2::Object [1] to select load Mouse if its available,
>> TB2::Mouse otherwise.  That way TB2 classes are compatible with Mouse just in
>> time.  They also get a performance kick.
>>
>> The core gets the "for internal use only" marked TB2::Mouse as previously
>> discussed.
> 
> Without commenting on the rest of the plan, to which I want to give a
> little more thought, it occurs to me TB2 as released to CPAN could
> explicitly depend on Mouse, so that any TB2 installed (or upgraded)
> via CPAN client gets Mouse installed (or upgraded).

Unfortunately, that would be a circular dependency between Mouse and TB2 
unless...

* Mouse never depends on Test::More newer than the one which shipped with
5.8.1 (0.47).

This is a bit much to ask of the Mouse folks.  They're already using 0.88 and
I don't want to make their life harder to make mine easier.

* Mouse bundles Test::More.

A distinct possibility.  You'd put all the .pm files into t/lib and then C<use
lib "t/lib"> in each test.  Modules used to do this all the time, when we
weren't sure about this whole new fangled Test::More thing and module authors
complained bitterly about having to add a dependency just for testing.


-- 
But there's no sense crying over every mistake.
You just keep on trying till you run out of cake.
    -- Jonathan Coulton, "Still Alive"

Reply via email to