Title: Argument Clinic: Touch source file if any output file changed
Type: enhancement Stage: needs patch
Components: Argument Clinic Versions:
Status: open Resolution:
Dependencies: Superseder:
Assigned To: larry Nosy List: larry, ncoghlan, serhiy.storchaka, zach.ware
Priority: low Keywords:

Created on 2014-01-26 14:02 by larry, last changed 2015-02-25 15:25 by serhiy.storchaka.

Messages (3)
msg209315 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-26 14:02
A minor bug, but still one that could cause confusion.  It's already bitten me once.

If I change the code generator in, then --make everything, files using the "file" destination often won't change.  All the changes to the generated code will go in the generated file.  And since the UNIX build process ignores those generated files, it doesn't rebuild the source file.  I'd have to use "--make -f".

This won't just happen to me though.  If you update your trunk and run "make clinic" this could easily happen to you too.

I propose that Clinic handle this as follows: if the generated file changes, but the source file does not, it "touches" the source file.  (Technically I'll probably just rewrite the source file, as I already have code that does that.)
msg209318 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-01-26 14:09
It should first touch source file and then generated file. So that the date of generated file is always later the date of source file.
msg209323 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2014-01-26 14:31
With Serhiy's modification, sounds like a reasonable plan to me.
Date User Action Args
2015-02-25 15:25:31serhiy.storchakasetcomponents: + Argument Clinic
2014-01-26 14:31:56ncoghlansetmessages: + msg209323
2014-01-26 14:09:02serhiy.storchakasetmessages: + msg209318
2014-01-26 14:02:21larrycreate