Repository navigation
Unify deprecation/removal timeline for installed headers. - #23865
Conversation
pcanal
left a comment
There was a problem hiding this comment.
Thanks (Consider applying the clang-format suggestions)
Having this option sounds like the perfect solution in a world of infinite resources, but, in my opinion, it will be a maintenance nightmare, taking developers much more time than helping the-few-users in the forum not asking first LLMs in finding out how to fix their potential compilation errors. In any case, the RNotes must be updated accordingly ;) |
Test Results 24 files 24 suites 4d 2h 44m 38s ⏱️ Results for commit 83d0a1e. |
This adapts the header cleanup campaign to the request of leaving deprecations visible for more than one year. Not removing the headers in/after 6.44 opens a path for escalating the warnings to #error for the first releases of ROOT 7.
83d0a1e to
31b82c6
Compare
It did consider it, but having the |
| ////////////////////////////////////////////////////////////////////////// | ||
|
|
||
| #warning "The header Gtypes.h is deprecated and will be removed in ROOT 6.44, include instead Rtypes.h" | ||
| #warning "This header is deprecated and will be removed after ROOT 7. Include instead Rtypes.h" |
There was a problem hiding this comment.
I still see here after and e.g. in in Bswapcpy.h
|
|
||
| #if !defined(ROOT_TGenerator_cxx) && !defined(G__DICTIONARY) | ||
| #warning "This header is an implementation detail, is deprecated and will be moved to ROOT/cfortran.h in ROOT 6.44, and may be removed later on from public inteface. Use instead the `cfortran.h` header from `cfitsio` library" | ||
| #warning "This header will be moved to ROOT/cfortran.h in ROOT 6.44, and may be removed later on from public inteface. Use instead the `cfortran.h` header from `cfitsio` library" |
There was a problem hiding this comment.
This one has an even different formulation "removed later on"
There was a problem hiding this comment.
This one is indeed a special case, because it's not clear whether it can be removed.
Side note: the remaining ones that do not conform to the the R* T* pattern are: but it should be decided whether they should go into ROOT/ or how to approach it. |
This adapts the header cleanup campaign to the user request of leaving deprecation messages visible for much more than one year.
For almost all headers, the removal date is now "ROOT 7", opening a path for escalating the warnings to #error for the first release(s) of ROOT 7.
@ferdymercury thanks for your cleanup campaign! We discussed the proposed timeline and suggest to give users a bit more time, so they don't find themselves in a situation where code does not compile without an obvious way how to fix it.
The proposed solution is:
#warningbut an#error-DInstallCompatHeaders=On/Off, which can be used by packagers to clean up the package.