C++ Logo

sg15

Advanced search

Re: [Tooling] [isocpp-modules] Dependency format with module details implementation

From: Gabriel Dos Reis <gdr_at_[hidden]>
Date: Thu, 4 Apr 2019 16:33:00 +0000
Do we know why YAML format won’t be appropriate? It has some readability points going for it.

— Gaby

> On Apr 4, 2019, at 5:51 AM, Ben Boeckel via Modules <modules_at_lists.isocpp.org> wrote:
>
>> On Thu, Apr 04, 2019 at 07:41:51 -0400, Nathan Sidwell wrote:
>> The intent of json output is to give IDEs more easily digested
>> information. That option has taken the approach of naming the format
>> not the purpose.
>
> Right, but the fact that this uses JSON is just an implementation
> detail. The contained information is what's important, not the data
> format.
>
>> One of the surprises (to me) was that Ben discovered he needed to output
>> *both* make-format and json-format dependencies from the same
>> invocation.[1] This suggests tying the output format and the
>> dependency-file together in some way.
>
> The make-format output is to tell build tools the dependencies of the
> scan step itself. If the format is adopted and make, ninja, etc. learn
> how to read the JSON format since it contains a superset of the
> information, the make output could be dropped, but that isn't the case
> today.
>
>> So we could leave the old make-format '-MF filename' alone. The
>> dependency options are all -M<something>, and for good or evil, staying
>> with that might be best. Thus a new '-MJ filename' option (Make JSON)?
>> And having something so baroque avoids arguments about exactly which
>> word best describes the output?[2]
>
> Remember that the format is versioned; we may want `-fdep-format=trtbd1`
> *and* `-fdep-format=trtbd2` at some point (to support older tools as
> well as new tools at the same time), so the output needs to support
> taking an argument somewhere (and optional arguments like `make -j` are
> not fun).
>
> --Ben
> _______________________________________________
> Modules mailing list
> Modules_at_[hidden]
> Subscription: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fmodules&amp;data=02%7C01%7Cgdr%40microsoft.com%7C878b5b798af0479e4b0808d6b8fc4993%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636899791034856231&amp;sdata=o7ynRraxvLy%2BCAEpWDsBYg9Uq3r2IwfMzp%2FccYh1B7Q%3D&amp;reserved=0
> Link to this post: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.isocpp.org%2Fmodules%2F2019%2F04%2F0354.php&amp;data=02%7C01%7Cgdr%40microsoft.com%7C878b5b798af0479e4b0808d6b8fc4993%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636899791034856231&amp;sdata=yr2ZlAVAnM1X2MXmHFBCfrinH6dFuT1NGauU5E9S%2Bbk%3D&amp;reserved=0

Received on 2019-04-04 18:33:05