This PR tells git to ignore ephemeral files that are created when
developers use clangd.
clangd needs a `compile_commands.json` file at the root of the repo (or
in a `build/` directory) to tell it how to compile each file. CMake can
generate this file with something like the following:
```console
$ cmake -Scmake -B.build \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-Dprotobuf_BUILD_TESTS=OFF
$ ln -sf .build/compile_commands.json .
```
Then clangd will compile and index files into the `.cache` directory.
Two small fixes to update_version.py:
- The regex for updating SOVERSION in cmake files was not quite right. I
fixed it to reflect that the value is a plain integer and not of the
form x.y.z
- For some reason the code for updating PHP_PROTO_VERSION appeared 3
times and led to a spurious warning, so I removed the extra calls
there.
Now that two files use the format, tweak the naming to the format for the file
vs. the usage(s).
Also add a "usage" param so the two places can provide a little context for any
error messages generated while parsing.
Soname was set for libprotobuf.so in commit a9cf69a0ed,
but similar changes for libprotobuf-lite.so and libprotoc.so were missed.
Fixes: #8635
Co-authored-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@GMail.Com>
Our benchmark job starting failing when we stopped supporting Python 3.5
and 3.6, but this change fixes it by running it in our java_stretch
Docker container, which has a more recent Python version. I also deleted
all configs related to old Python versions that we no longer support.
* #9293 - fix Missing function's return type declaration (incompatible return type php 8.1)
* #9293 - remove return type void for compatible with php 7.0
* #9293 - add todo for mixed return type
Co-authored-by: Adam Cozzette <acozzette@google.com>
* fix: add missing reserved classnames
* Try to remove PARENT and SELF from reserved constants
* add back for tests
* add to validConstantNames
* update kReservedNamesSize