Re: How to create META.json using Module::Build and how to link to the VCS?

"John M. Gamble" <[email protected]> Thu, 3 Jan 2013 10:29:15 -0600
Newsgroups gmane.comp.lang.perl.modules.module-build
Message-ID <[email protected]>
On Thu, January 3, 2013 9:44 am, Gabor Szabo wrote:
> On Thu, Jan 3, 2013 at 3:18 PM, Leon Timmermans <[email protected]> wrot=
e:
>> On Thu, Jan 3, 2013 at 12:04 PM, Gabor Szabo <[email protected]> wrote=
:
>>> After getting a few comments I found out that beside the link to the
>>> repository one could also include the type of
>>> the repository (git/svn/etc...), but as far as I can see only
>>> META.json holds that information.
>>> At least in the distributions I checked only META.json had this.
>>> All these distributions were generated using Dist::Zilla.
>>>
>>> So I wonder how can ask Module::Build to generate META.json as well,
>>> and how can I tell it
>>> to include the other fields of the repository as well?
>>
>> Since version 0.3800 Module::Build generates valid META.json, but it's
>> actually upconverted meta 1.4, so it won't contain any of the new
>> fields. This is a known bug. I would welcome someone adding proper
>> meta 2.0 support, but it's fairly low on my own todo list to be
>> honest. MakeMaker has the same issue.
>>
>> Leon
>
> Thanks.
>
> I checked on a distribution that is using MB and it created the
> META.json for me too. ++!
>
> Interestingly Sam Graham posted a link to his article where he shows
> how he did this
> 2 years ago:
> http://www.illusori.co.uk/blog/2013/01/03/setting-repository-with-modul=
e-build.html

Looking at it, it looks okay to me (although it looks like a cut-and-past=
e
example, as the only keys he has unnecessarily quoted are the resource an=
d
repository keys).

For what it's worth, here's a link to my Build.PL, which successfully add=
s
the repository link:
<https://github.com/jgamble/Math-Polynomial-Solve/blob/master/Build.PL>

>
> I tried the same using MB 0.4003 but got the following error:
>
> Error is: Invalid metadata structure. Errors: 'HASH(0xfcde50)' for
> 'repository' does not have a URL scheme (resources -> repository)
> [Validation: 1.4]

What URL did you have? Maybe there's a legitimate error there.

     -john