Skip to content

Commit 75e00c2

Browse files
committed
Document clangd update procedure
Arduino IDE has dependencies on the clangd C++ language server and ClangFormat code formatter tools. These are updated periodically to benefit from the ongoing development on those projects. The update procedure requires operations in three different repositories: - Generate builds in arduino/clang-static-binaries - Validate and update formatter configuration in arduino/tooling-project-assets - Update metadata in arduino/arduino-ide Previously, this was undocumented and the procedure existed only in the form of "institutional memory". The procedure is now fully documented in the readme of arduino-ide-extension.
1 parent 989300f commit 75e00c2

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Diff for: arduino-ide-extension/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,15 @@ The Config Service knows about your system, like for example the default sketch
6262
- Some CLI updates can bring changes to the gRPC interfaces, as the API might change. gRPC interfaces can be updated running the command
6363
`yarn --cwd arduino-ide-extension generate-protocol`
6464

65+
### Update **clangd** and **ClangFormat**
66+
67+
The [**clangd** C++ language server](https://clangd.llvm.org/) and the [**ClangFormat** code formatter](https://clang.llvm.org/docs/ClangFormat.html) tool dependencies are managed in parallel. Updating them to a different version is done by the following procedure:
68+
69+
1. If the target version is not already [available from the `arduino/clang-static-binaries` repository](https://github.com/arduino/clang-static-binaries/releases), submit [an issue there](https://github.com/arduino/clang-static-binaries/issues) requesting a build and wait for that to be completed.
70+
1. Validate the **ClangFormat** configuration for the target version by following the instructions [**here**](https://github.com/arduino/tooling-project-assets/tree/main/other/clang-format-configuration#clangformat-version-updates)
71+
1. Submit a pull request in the `arduino/arduino-ide` repository to update the version in the `arduino.clangd.version` key of [`package.json`](package.json).
72+
1. Submit a pull request in [the `arduino/tooling-project-assets` repository](https://github.com/arduino/tooling-project-assets) to update the version in the `vars.DEFAULT_CLANG_FORMAT_VERSION` field of [`Taskfile.yml`](https://github.com/arduino/tooling-project-assets/blob/main/Taskfile.yml).
73+
6574
### Customize Icons
6675
ArduinoIde uses a customized version of FontAwesome.
6776
In order to update/replace icons follow the following steps:

0 commit comments

Comments
 (0)