Skip Menu |

This queue is for tickets about the Moose CPAN distribution.

Report information
The Basics
Id: 90608
Status: resolved
Priority: 0/
Queue: Moose

People
Owner: ether [...] cpan.org
Requestors: dagolden [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Recommended Devel::PartialDump creates circular dependency
Devel::PartialDump requires Moose, which creates a circular dependency.
Subject: Re: [rt.cpan.org #90608] Recommended Devel::PartialDump creates circular dependency
Date: Fri, 22 Nov 2013 08:37:05 -0800
To: David Golden via RT <bug-Moose [...] rt.cpan.org>
From: Karen Etheridge <ether [...] cpan.org>
On Thu, Nov 21, 2013 at 10:35:36PM -0500, David Golden via RT wrote: Show quoted text
> Devel::PartialDump requires Moose, which creates a circular dependency.
I don't think it should be a problem to recommend modules which use the dist in question (nor require modules for development that use it, either) -- but apparently miyagawa disagrees https://github.com/miyagawa/cpanminus/pull/247 https://github.com/miyagawa/cpanminus/issues/336
On Fri Nov 22 11:37:19 2013, ETHER wrote: Show quoted text
> I don't think it should be a problem to recommend modules which use the > dist in question (nor require modules for development that use it, either)
A runtime recommendation is a dependency like any other and dependencies shouldn't be circular. For development it's a different sort of bootstrap problem.
Subject: Re: [rt.cpan.org #90608] Recommended Devel::PartialDump creates circular dependency
Date: Fri, 22 Nov 2013 09:21:08 -0800
To: David Golden via RT <bug-Moose [...] rt.cpan.org>
From: Karen Etheridge <ether [...] cpan.org>
On Fri, Nov 22, 2013 at 12:15:37PM -0500, David Golden via RT wrote: Show quoted text
> Queue: Moose > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=90608 > > > On Fri Nov 22 11:37:19 2013, ETHER wrote:
> > I don't think it should be a problem to recommend modules which use the > > dist in question (nor require modules for development that use it, either)
> > A runtime recommendation is a dependency like any other and dependencies shouldn't be circular.
What would be nice is a way to indicate in metadata "we recommend you install this too, but do it after you finish installing Moose, not before" - a postinstall recommendation. For this particular case, it looks like we could fairly easily rewrite Devel::PartialDump to not use Moose -- the only features it uses are attributes (with lazy build, predicates and clearers). A Moo rewrite would be trivial, but I'd lean towards going all the way and using Class::Tiny. I'll throw it on my tuit list (but please don't let that stop anyone else!)
new Devel::PartialDump uses Class::Tiny, rather than Moose, so there is no longer a circular dependency. thanks David for the conversion!