You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by Alexey Serbin <as...@cloudera.com> on 2017/08/24 18:18:44 UTC

IWYU configuration for gerrit pre-commit checks

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



Re: IWYU configuration for gerrit pre-commit checks

Posted by Alexey Serbin <as...@cloudera.com>.
Thank you guys for your support the reviewing those jumbo patches!

There are a few quirks left in our IWYU, but I hope to iron them out soon.


Best regards,

Alexey

On 8/24/17 5:53 PM, Dan Burkert wrote:
> Thanks, Alexey!
>
> - Dan
>
> On Thu, Aug 24, 2017 at 4:46 PM, Mike Percy <mp...@apache.org> wrote:
>
>> Thanks for setting this up, Alexey!
>>
>> Mike
>>
>> On Thu, Aug 24, 2017 at 11:18 AM, Alexey Serbin <as...@cloudera.com>
>> wrote:
>>
>>> 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
>>>
>>>
>>>


Re: IWYU configuration for gerrit pre-commit checks

Posted by Dan Burkert <da...@apache.org>.
Thanks, Alexey!

- Dan

On Thu, Aug 24, 2017 at 4:46 PM, Mike Percy <mp...@apache.org> wrote:

> Thanks for setting this up, Alexey!
>
> Mike
>
> On Thu, Aug 24, 2017 at 11:18 AM, Alexey Serbin <as...@cloudera.com>
> wrote:
>
> > 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
> >
> >
> >
>

Re: IWYU configuration for gerrit pre-commit checks

Posted by Mike Percy <mp...@apache.org>.
Thanks for setting this up, Alexey!

Mike

On Thu, Aug 24, 2017 at 11:18 AM, Alexey Serbin <as...@cloudera.com>
wrote:

> 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
>
>
>