Commits


fjetter authored and Wes McKinney committed 75d1f613cf9
ARROW-1413: [C++] Add include-what-you-use configuration This adds `iwyu` make target to run `include-what-you-use` on all changed files of the current branch. As suggested in the ticket https://issues.apache.org/jira/browse/ARROW-1413 I took the code of `apache-kudu` as a starting point and added a few modifications. While it works fine locally, I'm struggling to get it to work (i.e. build is failing) on travis. Somehow the check isn't performed without raising an error. I expect that clang doesn't have the iwyu properly installed but I couldn't verify it, yet. Also, the tool requires a `compile_commands.json` to be present including all the files to be checked which is why I added the `export CMAKE_EXPORT_COMPILE_COMMANDS=1` to the `travis_env_common.sh` This may be an issue since we are partially compiling multiple times but never the full codebase which is why I included the make/ninja iwyu twice. Author: fjetter <florian.jetter@blue-yonder.com> Author: Wes McKinney <wes.mckinney@twosigma.com> Closes #1016 from fjetter/ARROW-1413 and squashes the following commits: 1a28703e [Wes McKinney] Add note to README about IWYU c0dcccb1 [Wes McKinney] Add 'all' option to iwyu.sh for invoking iwyu on whole codebase 126f9f29 [Wes McKinney] Remove extra .clang-format file e5bfa4ab [Wes McKinney] Remove iwyu from Travis CI files 59f4b3df [fjetter] set -x at beginning of file 31baf2e6 [fjetter] Set -e in iwyu.sh just before python script f4f747d9 [fjetter] Add compilation database to env_common 970d0e64 [fjetter] Update comment in get-upstream-commit 57f29270 [fjetter] Add proper commit identifier 7fbc6ea5 [fjetter] Add iwyu build support dir to rat exclusion 41edfc28 [fjetter] Migrate kudu iwyu code to arrow