The code was pretty messy because it was using BoostLibraries for
everything, this will hopefully let it be a bit cleaner.
Also removes support for xml metadata files. No one has ever used it.
Module + path can be set after construction. This will be useful when
loading from a release without the git metadata. Also, the $info stuff
was pretty rubbish.
I'm now generating json for develop and master, which contains libraries
with no version info. There are other issues to deal with that might
point to a better solution.
PHP 5.4 uses UTF-8 by default, but PHP 5.3 uses ISO-8859-1 so character
encoding is going wrong there. So replace htmlentities with a function
that uses the correct encoding.
Does this fit in reduce_versions? It seems to. Maybe should make the
data structure a bit better, boost-version shouldn't change with new
releases so it could be part of some release independent data.
First remove some old code which guessed the module from the library's
key, this was there to bootstrap modules - no need now they're all
stored either in the documentation list, or implicitly by the location
of libraries.json.
Secondly, pass the name of the module as the parameter, rather than the
array containing the module data.
Should probably actually do this in create-module-metadata, as once the
metadata is in place this script should ignore the maintainers file. But
I didn't have much time tonight. So I won't check the changes into
libraries.xml. Also need to consider that 'maintainers' should probably
be backdated to apply to all versions. Maybe it shouldn't be store in
libraries.xml at all.
It makes it easier to detect when a library's details have changes. I
could normalize when comparing, but this seems easier. It's okay to
lose this information.