Hi,

Today I enabled the IWYU (include-what-you-use) configuration
for the pre-commit Jenkins job at https://gerrit.cloudera.org

The newly introduced automated check runs the IWYU tool [1]
(include-what-you-use is the name of the binary)
to help us keeping the Kudu source code cleaner: [2].

As you would expect, Jenkins automatically starts a job for
the IWYU configuration along with jobs for other configs
(DEBUG, RELEASE, ..., LINT).  The IWYU job runs the tool
against the files modified by the changelists in question.
If the IWYU jobs fails, you should look at the job's console
output and update your code in accordance with IWYU recommendations.
I assume your changelists are already synchronized with
the trunk to include a couple of IWYU-related updates
that the IWYU Jenkins job depends on.

As a side note, I want to mention that the include-what-you-use
tool is still in alpha quality phase and there might be some quirks;
e.g. the tool might suggest something that breaks compilation, etc.
I put some effort to minimize such mishaps, but if you hit any of
those, please let me know -- I'll help you to resolve those.

If you want to run the verification locally
before submitting your patch for review,
in case of using GNU make you just run

  make iwyu

(the same as you would do to run the lint: 'make lint')

If you have any question or concerns, please let me know.


Kind regards,

Alexey


References:
  [1] https://github.com/include-what-you-use/include-what-you-use
[2] https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md


Reply via email to