Reminder: include everything that you use in implementation files
Hello folks, I'd like to remind everyone to please include what you use in .cpp, .mm, and other files. When reviewing patches, please ensure that new mentions of classes, structs, etc. within an implementation file have a corresponding header include. All of our headers have #pragma once, so there is no downside to being more explicit. I've been noticing an uptick in the number of unified sources-related build failures. I can't remember the last nontrivial patch I wrote that did *not* include unrelated build fixes. Typically these failures aren't found until EWS results come back, reducing developer velocity. And obviosuly it's super annoying to encounter completely unrelated build failures that must be nonetheless addressed. Let's all do our part so that hacking on WebKit remains delightful. Thanks, Brian Burg (he/they) WebKit Developer Experience
Hi Brian, Any way/option to turn off the unified build completely or partially in a local build? That would be very helpful for a developer to locally verify that header files are included correctly in a patch. Thanks! Best regards Peng
On Nov 6, 2020, at 11:21 AM, Brian Burg via webkit-dev <webkit-dev@lists.webkit.org> wrote:
Hello folks,
I'd like to remind everyone to please include what you use in .cpp, .mm, and other files. When reviewing patches, please ensure that new mentions of classes, structs, etc. within an implementation file have a corresponding header include. All of our headers have #pragma once, so there is no downside to being more explicit.
I've been noticing an uptick in the number of unified sources-related build failures. I can't remember the last nontrivial patch I wrote that did *not* include unrelated build fixes. Typically these failures aren't found until EWS results come back, reducing developer velocity. And obviosuly it's super annoying to encounter completely unrelated build failures that must be nonetheless addressed.
Let's all do our part so that hacking on WebKit remains delightful.
Thanks,
Brian Burg (he/they) WebKit Developer Experience _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev
Hello Peng, On Wed, 11 Nov 2020 12:05:18 -0800 "Peng (WebKit) Liu via webkit-dev" <webkit-dev@lists.webkit.org> wrote:
Any way/option to turn off the unified build completely or partially in a local build? That would be very helpful for a developer to locally verify that header files are included correctly in a patch. Thanks!
You can use “build-webkit --no-unified-builds” to disable them; though I am unsure if this will work for the Mac/iOS ports… It surely works with the ports that use CMake (WPE, GTK, JSCOnly), and when using CMake you can also use “cmake -DENABLE_UNIFIED_BUILDS=OFF” if you would rather configure and build manually. I hope this helps. Cheers, —Adrián
Best regards Peng
On Nov 6, 2020, at 11:21 AM, Brian Burg via webkit-dev <webkit-dev@lists.webkit.org> wrote:
Hello folks,
I'd like to remind everyone to please include what you use in .cpp, .mm, and other files. When reviewing patches, please ensure that new mentions of classes, structs, etc. within an implementation file have a corresponding header include. All of our headers have #pragma once, so there is no downside to being more explicit.
I've been noticing an uptick in the number of unified sources-related build failures. I can't remember the last nontrivial patch I wrote that did *not* include unrelated build fixes. Typically these failures aren't found until EWS results come back, reducing developer velocity. And obviosuly it's super annoying to encounter completely unrelated build failures that must be nonetheless addressed.
Let's all do our part so that hacking on WebKit remains delightful.
Thanks,
Brian Burg (he/they) WebKit Developer Experience
I think, without EWS / post-build bots using non-unified builds, this is difficult to achieve… -Yusuke
On Nov 12, 2020, at 4:16 AM, Adrian Perez de Castro via webkit-dev <webkit-dev@lists.webkit.org> wrote:
Hello Peng,
On Wed, 11 Nov 2020 12:05:18 -0800 "Peng (WebKit) Liu via webkit-dev" <webkit-dev@lists.webkit.org> wrote:
Any way/option to turn off the unified build completely or partially in a local build? That would be very helpful for a developer to locally verify that header files are included correctly in a patch. Thanks!
You can use “build-webkit --no-unified-builds” to disable them; though I am unsure if this will work for the Mac/iOS ports… It surely works with the ports that use CMake (WPE, GTK, JSCOnly), and when using CMake you can also use “cmake -DENABLE_UNIFIED_BUILDS=OFF” if you would rather configure and build manually.
I hope this helps.
Cheers, —Adrián
Best regards Peng
On Nov 6, 2020, at 11:21 AM, Brian Burg via webkit-dev <webkit-dev@lists.webkit.org> wrote:
Hello folks,
I'd like to remind everyone to please include what you use in .cpp, .mm, and other files. When reviewing patches, please ensure that new mentions of classes, structs, etc. within an implementation file have a corresponding header include. All of our headers have #pragma once, so there is no downside to being more explicit.
I've been noticing an uptick in the number of unified sources-related build failures. I can't remember the last nontrivial patch I wrote that did *not* include unrelated build fixes. Typically these failures aren't found until EWS results come back, reducing developer velocity. And obviosuly it's super annoying to encounter completely unrelated build failures that must be nonetheless addressed.
Let's all do our part so that hacking on WebKit remains delightful.
Thanks,
Brian Burg (he/they) WebKit Developer Experience
webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev
participants (4)
-
Adrian Perez de Castro
-
Brian Burg
-
Peng (WebKit) Liu
-
Yusuke Suzuki