Hi again,
Looks like I've did some dumb thing and used not patched version of tup 
last time.

With current format I've found some issues:

   - whole dump is not enclosed with '[' and ']' braces, so this is not a 
   valid json file - this is a minor
   - all the commands that contains double quotation chars should be 
   escaped by \" as those are messing up json format This also forces to to 
   specially treat all the escaped quotations \" as escaping already escaped 
   quotation results in \\" and this also mess the json format

And regarding the missing "file" line. Followed by suggestion I was able to 
re-parse "tup dump" output and obtain a valid json file with (probably) 
correct "file" entry. But solution is really ugly and heavily depends on 
compilation command syntax.
Moreover playing a while with my solution shows that it is not convenient 
as on every dependency change I must run "tup dump" again. This requires 
launching command by hand (same applies to rtags) or wrapping tup in a 
Makefile for example (which I happily stopped using after found tup). So I 
think that best solution would be to introduce new Tupfile command like:

dump_to "path to json file"

that would instruct tup to also dump commands while parsing. I am not sure 
if it would be good idea to do this on whole tup hierarchy level or create 
a new ^-flag to instruct tup, that this command should be dumped into json.

What do you think?

W dniu sobota, 23 stycznia 2016 07:28:45 UTC+1 użytkownik maK napisał:
>
> Hi Mike,
> Today I tried command dumper again, but it is not working.
> It prints: 
> tup: Unable to find tupid for 'dump'
> in couple of my projects. Where should I look to find the cause?
>
> W dniu czwartek, 7 stycznia 2016 20:33:59 UTC+1 użytkownik maK napisał:
>>
>> Hi Mike,
>> As a start it looks good on my project.
>> Today I don't have much time, but I'll try to integrate this solution 
>> with rtags and YCM soon and share my results.
>> Thanks for the patch.
>>
>> Regarding "file" line - generally I agree with Ben.
>>
>> W dniu poniedziałek, 4 stycznia 2016 23:27:03 UTC+1 użytkownik Ben 
>> Boeckel napisał:
>>>
>>> On Mon, Jan 04, 2016 at 16:47:38 -0500, Mike Shal wrote: 
>>> > Attached is a patch that might provide a good start for this - it uses 
>>> a 
>>> > trimmed down version of the 'tup graph' logic. However, it dumps every 
>>> > command, not just compilation commands. I'm not sure if that would 
>>> mess up 
>>> > the compilation database. Also, I'm not sure how to generate the 
>>> "file" 
>>> > line - is that required? Maybe it could just pull it out of the 
>>> command 
>>> > string. 
>>>
>>> It is described as "the translation unit’s main file", so I'd say it 
>>> should be the %f argument of the command. It also says that it is used 
>>> by tools for searching the database, so I'd say it's fairly important. 
>>> For any command without a %f (whether used literally in the command or 
>>> not), it might be best to just skip those (i.e., any tool using this 
>>> file would probably not care about Python script commands). 
>>>
>>> --Ben 
>>>
>>

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to