James E Keenan <jk...@verizon.net> writes:
> Daniel Pittman wrote:

I thought I responded to this including the list, but apparently it never came
through.  So, I have excerpted the part that most interests me as a new author
on CPAN:

[...]

> I note in your Makefile.PL, you have:
>
>   'BUILD_REQUIRES' => {
>     'Carp' => '0',
>     'File::Find' => '0',
>     'File::Temp' => '0',
>     'Log::Any' => '0',
>     'Log::Any::Adapter' => '0',
> ...
>   },
>   'PREREQ_PM' => {
>     'File::Basename' => '0',
>     'Log::Any::Adapter::Base' => '0',
>     'Log::Any::Adapter::Util' => '0',
>     'Unix::Syslog' => '0'
>   },
>
> Without claiming to understand anything about Dist::Zilla, my gut reaction is
> that your settings are wrong.  Why are Log::Any and Log::Any::Adapter placed
> under BUILD_REQUIRES rather than PREREQ_PM?

As far as I can tell, those are correct dependencies:

I use Log::Any when testing, but it is not technically a dependency of my code
at run-time.  The Log::Any::Adapter modules are direct run-time dependencies,
so they are present.


Given that the Log::Any::Adapter distribution does include a dependency on
Log::Any, I believe that installing LAAS would do the right thing.

Is it generally the practice of CPAN authors to specify transitive
dependencies like that, though, or should I be looking at something like the
META.yml 'recommends' section to suggest this?

I didn't really bother with the recommends because, as far as I can tell from
reading about it, it doesn't actually have much support in the two main CPAN
toolchains, so doesn't really bring much value to anyone...

(In the Debian universe I would expect a recommends option, since the code
 technically doesn't *require* Log::Any, but is not of much value without it.)

        Daniel
-- 
✣ Daniel Pittman            ✉ dan...@rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons

Reply via email to