Changeset View
Changeset View
Standalone View
Standalone View
CONTRIBUTING.md
Show First 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | |||||
6. Code formatting tools | 6. Code formatting tools | ||||
During submission of patches, arcanist will automatically run `arc lint` to | During submission of patches, arcanist will automatically run `arc lint` to | ||||
enforce Bitcoin ABC code formatting standards, and often suggests changes. | enforce Bitcoin ABC code formatting standards, and often suggests changes. | ||||
If code formatting tools do not install automatically on your system, you | If code formatting tools do not install automatically on your system, you | ||||
will have to install the following: | will have to install the following: | ||||
On Ubuntu (>= 18.04+updates) or Debian (>= 10): | On Ubuntu (>= 18.04+updates): | ||||
``` | ``` | ||||
sudo apt-get install clang-format-8 clang-tidy-8 clang-tools-8 cppcheck python-autopep8 flake8 php-codesniffer | sudo apt-get install clang-format-8 clang-tidy-8 clang-tools-8 cppcheck python-autopep8 flake8 php-codesniffer | ||||
``` | ``` | ||||
On Debian (>= 10), the clang-8 family of tools is available from the `buster-backports` repository: | |||||
``` | |||||
echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list | |||||
sudo apt-get update | |||||
sudo apt-get install cppcheck python-autopep8 flake8 php-codesniffer | |||||
sudo apt-get -t buster-backports install clang-format-8 clang-tidy-8 clang-tools-8 | |||||
``` | |||||
If not available in the distribution, `clang-format-8` and `clang-tidy` can be | If not available in the distribution, `clang-format-8` and `clang-tidy` can be | ||||
installed from https://releases.llvm.org/download.html or https://apt.llvm.org. | installed from https://releases.llvm.org/download.html or https://apt.llvm.org. | ||||
For example, for macOS: | For example, for macOS: | ||||
``` | ``` | ||||
curl http://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz | tar -xJv | curl http://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-apple-darwin.tar.xz | tar -xJv | ||||
ln -s $PWD/clang+llvm-8.0.0-x86_64-apple-darwin/bin/clang-format /usr/local/bin/clang-format | ln -s $PWD/clang+llvm-8.0.0-x86_64-apple-darwin/bin/clang-format /usr/local/bin/clang-format | ||||
ln -s $PWD/clang+llvm-8.0.0-x86_64-apple-darwin/bin/clang-tidy /usr/local/bin/clang-tidy | ln -s $PWD/clang+llvm-8.0.0-x86_64-apple-darwin/bin/clang-tidy /usr/local/bin/clang-tidy | ||||
``` | ``` | ||||
If you are modifying a shell script, you will need to install the `shellcheck` linter. | If you are modifying a shell script, you will need to install the `shellcheck` linter. | ||||
A recent version is required and may not be packaged for your distribution. | A recent version is required and may not be packaged for your distribution. | ||||
Standalone binaries are available for download on the project's github release page: | Standalone binaries are available for download on the project's github release page: | ||||
https://github.com/koalaman/shellcheck/releases | https://github.com/koalaman/shellcheck/releases | ||||
If you are running Debian 10, it is also available in the backports repository: | If you are running Debian 10, it is also available in the backports repository: | ||||
``` | ``` | ||||
echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list | |||||
sudo apt-get update | |||||
sudo apt-get -t buster-backports install shellcheck | sudo apt-get -t buster-backports install shellcheck | ||||
``` | ``` | ||||
Working with The Bitcoin ABC Repository | Working with The Bitcoin ABC Repository | ||||
--------------------------------------- | --------------------------------------- | ||||
A typical workflow would be: | A typical workflow would be: | ||||
▲ Show 20 Lines • Show All 68 Lines • Show Last 20 Lines |