On 5 January 2015 at 18:42, Peter Dimov
Daniel James wrote:
If we have a full package system, it might want to use a different file format.
I already have a full package system and it uses meta/libraries.json to generate the library list because those files already exist. :-)
You didn't when I designed this. At the time the existing efforts at creating a package manager were a moving target, so I felt it was best to ignore them, and then adapt to whatever they eventually settled on. Most of the people involved had very different ideas of how things should be done to me, so I didn't expect them to want to use anything I created. If it isn't clear, I'm happy for someone else to take charge of the metadata files, and will update the website scripts to use whatever they want.
I'm not sure why a package manager would need to know when a library was first released.
It doesn't. I just looked at http://www.boost.org/doc/libs/1_57_0/ and tried to replicate it. It has First Release, so I assumed that people are interested in it, so I included it. It didn't occur to me that this field is present because the script uses it to generate the historical lists, not because it's of particular interest for users.
It's there because Rene included it in the original version of the xml file. There were also some other fields which I removed because I couldn't keep the data up to date and it was confusing people (e.g. whether the library was header only). It's just that I'd rather let the update script automatically maintain data when it can. Less work that way.
I was somewhat misled by the fact that functional/meta/libraries.json does have boost-version for all functional/ libraries. And since you're the author of that, I assumed that this is the golden reference for the format, and that therefore boost-version is a required field, and it's been omitted from all other files by mistake. But the mistake was, apparently,
There's some documentation here: http://www.boost.org/development/library_metadata.html I'll add a link to the sidebar soon, and maybe update some of the development pages to link to it.
Incidentally, some libraries have "std": [ "tr1" ], and some have "std-proposal": false, "std-tr1": false. (Actually, now that I grepped, only Assert has the latter. I suppose "std" is correct and Assert is using an outdated schema?)
Yes, that was changed by request. My update script normalises it so that data in doc/libraries.xml is consistent.