Re: BBC testing from upriver downwards
Neil Bowers <[email protected]> Tue, 21 Mar 2017 09:26:28 +0000
| Newsgroups | gmane.comp.lang.perl.quality-assurance |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail=_3F288D22-0E71-4E7B-A3D8-B124770BCCC3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
> =E2=80=8B> =E2=80=8B1. Compose a list of CPAN distros starting with =
those farthest up river, i.e., distros that only depend on the perl 5 =
core. Within that set of distros I'd like to order them from most =
reverse dependencies to fewest. Then go down river from there.
>=20
> =E2=80=8BDavid Golden has a script for generating the CPAN river =
heirarchy -- the last run of this that I know of (at least, it's the =
data I've been working off of) is at =
https://gist.github.com/xdg/af7a32c5b21d45a6b255 =
<https://gist.github.com/xdg/af7a32c5b21d45a6b255>. It lists the =
distributions in their position on the CPAN river, and their top 5 users =
(reverse dependencies). This would be a natural place to start testing, =
and determining which branches of the river have blockages (the first =
instance of a no-dot-in-INC issue). David, can you generate a fresh =
copy?=E2=80=8B
I am generating the river data roughly weekly. You can get it from here:
http://neilb.org/river-of-cpan.json.gz =
<http://neilb.org/river-of-cpan.json.gz>
The file is a big array of hashes, one hash per distribution. Here=E2=80=99=
s an example, for Try-Tiny:
{
"dist" : "Try-Tiny=E2=80=9D,
"total" : 13045,
"bucket" : 5,
"immediate" : 1077
},
The keys are:
=E2=80=9Cimmediate=E2=80=9D is the number of directly dependent CPAN =
distributions.
=E2=80=9Ctotal=E2=80=9D is the total number of dists dependent on it.
=E2=80=9Cbucket=E2=80=9D chunks the river: bucket 5 is dists with 10k or =
more total dependents. Bucket 4 is 1k up to 9999, and so on until bucket =
0, which is dists that have no dependents.
At the moment there are 56 dists in bucket 5 (=E2=80=9Cthe head of the =
river=E2=80=9D).
This file is being imported into MetaCPAN. For example, for Try-Tiny, =
have a look at:
https://fastapi.metacpan.org/distribution/Try-Tiny =
<https://fastapi.metacpan.org/distribution/Try-Tiny>
At the moment this is being generated as a by-product of my scripts that =
run the PRC, generate the adoption list, etc. I=E2=80=99m currently =
working on a stand-alone generator for this data, which I=E2=80=99m =
hoping to have complete by PTS, so I can work on productising it with =
Leo Lapworth.
Neil
--Apple-Mail=_3F288D22-0E71-4E7B-A3D8-B124770BCCC3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D""><div =
dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div =
style=3D"font-size:small;display:inline" class=3D"gmail_default">=E2=80=8B=
> =E2=80=8B</div>1. Compose a list of CPAN distros starting with =
those farthest up river, i.e., distros that only depend on the perl 5 =
core. Within that set of distros I'd like to order them from most =
reverse dependencies to fewest. Then go down river from there.<br =
class=3D""><div class=3D"gmail_quote"><div class=3D""><br class=3D""><div =
style=3D"font-size:small;display:inline" class=3D"gmail_default">=E2=80=8B=
David Golden has a script for generating the CPAN river heirarchy -- the =
last run of this that I know of (at least, it's the data I've been =
working off of) is at <a =
href=3D"https://gist.github.com/xdg/af7a32c5b21d45a6b255" =
target=3D"_blank" class=3D"">https://gist.github.com/xdg/<wbr =
class=3D"">af7a32c5b21d45a6b255</a>. It lists the distributions in their =
position on the CPAN river, and their top 5 users (reverse =
dependencies). This would be a natural place to start testing, and =
determining which branches of the river have blockages (the first =
instance of a no-dot-in-INC issue). David, can you generate a =
fresh copy?=E2=80=8B</div></div></div></div></div></div></blockquote></div=
><br class=3D""><div class=3D"">I am generating the river data roughly =
weekly. You can get it from here:</div><div class=3D""><br =
class=3D""></div><div class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre"> </span><a =
href=3D"http://neilb.org/river-of-cpan.json.gz" =
class=3D"">http://neilb.org/river-of-cpan.json.gz</a></div><div =
class=3D""><br class=3D""></div><div class=3D"">The file is a big array =
of hashes, one hash per distribution. Here=E2=80=99s an example, for =
Try-Tiny:</div><div class=3D""><br class=3D""></div><div class=3D""><font =
face=3D"Courier New" style=3D"font-size: 14px;" class=3D""><span =
class=3D"Apple-tab-span" style=3D"white-space:pre"> =
</span>{</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre"> </span> "dist" : =
"Try-Tiny=E2=80=9D,</font></div><div class=3D""><font face=3D"Courier =
New" style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre"> </span> "total" : =
13045,</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre"> </span> "bucket" : =
5,</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre"> </span> "immediate" : =
1077</font></div><div class=3D""><font face=3D"Courier New" =
style=3D"font-size: 14px;" class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre"> </span>},</font></div><div class=3D""><br =
class=3D""></div><div class=3D"">The keys are:</div><div class=3D""><ul =
class=3D"MailOutline"><li class=3D"">=E2=80=9Cimmediate=E2=80=9D is the =
number of directly dependent CPAN distributions.</li><li =
class=3D"">=E2=80=9Ctotal=E2=80=9D is the total number of dists =
dependent on it.</li><li class=3D"">=E2=80=9Cbucket=E2=80=9D chunks the =
river: bucket 5 is dists with 10k or more total dependents. Bucket 4 is =
1k up to 9999, and so on until bucket 0, which is dists that have no =
dependents.</li></ul></div><div class=3D""><br class=3D""></div><div =
class=3D"">At the moment there are 56 dists in bucket 5 (=E2=80=9Cthe =
head of the river=E2=80=9D).</div><div class=3D""><br =
class=3D""></div><div class=3D"">This file is being imported into =
MetaCPAN. For example, for Try-Tiny, have a look at:</div><div =
class=3D""><br class=3D""></div><div class=3D""><span =
class=3D"Apple-tab-span" style=3D"white-space:pre"> </span><a =
href=3D"https://fastapi.metacpan.org/distribution/Try-Tiny" =
class=3D"">https://fastapi.metacpan.org/distribution/Try-Tiny</a></div><di=
v class=3D""><br class=3D""></div><div class=3D"">At the moment this is =
being generated as a by-product of my scripts that run the PRC, generate =
the adoption list, etc. I=E2=80=99m currently working on a stand-alone =
generator for this data, which I=E2=80=99m hoping to have complete by =
PTS, so I can work on productising it with Leo Lapworth.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Neil</div><div =
class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div></body></html>=
--Apple-Mail=_3F288D22-0E71-4E7B-A3D8-B124770BCCC3--