KDABLabs / KDToolBox

KDAB's collection of miscellaneous useful C++ classes and stuff
Other
320 stars 47 forks source link

includemocs: include MOC file at the earliest possible opportunity if… #34

Open Poldraunic opened 2 months ago

Poldraunic commented 2 months ago

… header file is not found

The script expects to find header file include with relative path. However, if absolute path is used (e.g. #include "path/to/header.h" instead of #include "header.h") the check will return 0 as insertion position. This, however, can (and often will) conflict with license/copyright comment meaning MOC file will be included before license/copyright comment.

Furthermore, clang-format is unable to re-sort headers, if this check is enabled at all. And so, this means that user would have to manually adjust every file.

This patch add additional attempt at finding #include directive and if it is found, MOC file will be included before the first occurrence of the #include directive. This somewhat guarantees that license/copyright header has been skipped.

This change, of course, doesn't fix all the possible issues, but only attempts to mitigate a common instance of such case.

Poldraunic commented 2 months ago

CI fail seems unrelated as everything passed (except for REUSE) on my machine.

winterz commented 2 months ago

you mixed pre-commit fixes in with your includemocs changes I will fix all pre-commit issues and then you can rebase your patch

winterz commented 2 months ago

done. please rebase

Poldraunic commented 2 months ago

@winterz done!

Poldraunic commented 2 months ago

@winterz, any updates?