tree: 263ecea3fb47a85b7354477e98de98ea55199c07 [path history] [tgz]
  1. README.md
  2. install.sh
support/llvm/README.md

Mesos LLVM Tools

This is an overview of the Mesos-flavored LLVM Tools we maintain.

Statically-linked pre-built binaries are

MesosFormat

ClangFormat is a Clang-based formatting tool. While the provided configuration is close to the Mesos C++ Style Guide, we are not yet at a point where we take the result produced by ClangFormat to be the final definitive answer.

The current expected workflow is to integrate it into your favorite editor and format selected regions of code.

Configuration

By default, ClangFormat uses the configuration defined in a .clang-format file located in the nearest parent directory of the input file. The support/setup-dev.sh script creates a .clang-format symlink at <MESOS_DIR> which points to support/clang-format for ClangFormat to find.

Integration

Vim

Add the following to your .vimrc:

let g:clang_format_path = "<MESOS_DIR>/.git/llvm/active/bin/clang-format"

map <C-K> :pyf <MESOS_DIR>/.git/llvm/active/share/clang/clang-format.py<CR>
imap <C-K> <C-O>:pyf <MESOS_DIR>/.git/llvm/active/share/clang/clang-format.py<CR>

Refer to https://clang.llvm.org/docs/ClangFormat.html#vim-integration

MesosTidy

ClangTidy is a Clang-based linter tool.

Configuration

By default, ClangTidy uses the configuration defined in a .clang-tidy file located in the nearest parent directory of the input file. The ./support/setup-dev.sh script creates a .clang-tidy symlink at <MESOS_DIR> which points to support/clang-tidy for ClangTidy to find.

Invocation

The script support/mesos-tidy.py is a slightly modified version of run-clang-tidy.py, a tool that runs clang-tidy over all files in a compilation database.

Run the checks with a temporary compilation database:

./support/mesos-tidy.py 1> clang-tidy.log

Run the checks with an existing compilation database:

./support/mesos-tidy.py -p build 1> clang-tidy.log

Run the checks with an existing compilation database, apply fix-its, and reformat the code after:

./support/mesos-tidy.py -p build -fix -format