clang-format-checker-docker/README.md
2019-06-21 15:55:09 -07:00

63 lines
1.9 KiB
Markdown

# clang-format-checker-docker
Docker image verifying the code format with clang-format
## Getting Started
The following command will mount the current working directory folder to the `src` working directory, and check its format
`docker run --rm -v $(pwd):/src witekio/clang-format-checker`
The return code will be
* `non-zero` if any formatting errors are found, and printed in the standard output.
* `0` if no issue was found
```
$ docker run -v $(pwd):/src --rm witekio/clang-format-checker 2 ↵
--- ./testCode/File.cpp (original)
+++ ./testCode/File.cpp (reformatted)
@@ -3,18 +3,13 @@
#include "MyHeader.h"
-MyClass::MyClass()
+MyClass::MyClass()
- : arg(new Other(std::string("string"), 4))
+ : arg(new Other(std::string("string"), 4))
```
## CI Integration
### BitBucket Pipeline
The following Pipeline step will check for any style error in the `src` folder, and return an error if problems are found
```
pipelines:
default:
- step:
name: Check code format
image: witekio/clang-format-checker
script:
- run-clang-format.py -r src
```
## Changing the style
The style used by `clang-format` can be defined by providing a `.clang-format` file in your source folder. For more information, see [clang-format style options](https://clang.llvm.org/docs/ClangFormatStyleOptions.html)
## Specify the files to check
Check recursively .h/.cpp files excluding `vendors` folder
`docker run --rm -v $(pwd):/src witekio/clang-format-checker "--extensions=h,cpp --exclude vendors"`
For more information, you can check [`run-clang-format`](https://github.com/Sarcasm/run-clang-format) repository
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## Acknowledgments
* This Docker container uses `run-clang-format` from [https://github.com/Sarcasm/run-clang-format](https://github.com/Sarcasm/run-clang-format)