Client: erl
Patch: Sergey Yelin
This closes#2677
Summary of changes:
- Add useful compiler options
- Format sources using erlfmt
- Switch to modern callbacks in thrift_* modules
- Add static analysis (dialyzer), disabled by default
- Add/fix types for API calls
NOTE: Enabling static analysis requires additional tweaks in multiplexer module.
Client: cpp
ThriftConfig.cmake uses our FindLibevent.cmake but "make install"
doesn't install FindLibevent.cmake. It causes an error with
find_package(Thrift) like the following:
-- Found thrift: /tmp/xxx/tmp/local
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.13")
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.7")
CMake Warning at /usr/share/cmake-3.24/Modules/CMakeFindDependencyMacro.cmake:47 (find_package):
By not providing "FindLibevent.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Libevent",
but CMake did not find one.
Could not find a package configuration file provided by "Libevent" with any
of the following names:
LibeventConfig.cmake
libevent-config.cmake
Add the installation prefix of "Libevent" to CMAKE_PREFIX_PATH or set
"Libevent_DIR" to a directory containing one of the above files. If
"Libevent" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
/tmp/xxx/tmp/local/lib/cmake/thrift/ThriftConfig.cmake:93 (find_dependency)
Previously, when doing manual runs inside of the docker container,
the `autotools.sh` script would fail if the `.m2/` directory already
existed. This was a minor annoyance.
Simply pass the `-p` flag to `mkdir`.
Signed-off-by: Chris Friedt <cfriedt@meta.com>
Client: go
This is only the library part of THRIFT-5650. I still have some open
questions for the compiler part so that will be done later.
While I'm here, also made some changes to go CI process:
* Update ubuntu-bionic to use go 1.18 for travis
* Update ubuntu-jammy to use the latest go 1.19.x for travis
* Run both go 1.18 and 1.19 for github actions
* Also run test/go tests for github actions
* install deps for swift in bionic and focal dockerfile
* update add -yq for apt-get update
* remove cppcheck version fixes
* use bionic not focal for now
* Revert "use bionic not focal for now"
This reverts commit e3093477f0bf91122957616f1d9c768c675e03dc.
* upgrade gradle version to 7.4
* migrate from `maven` plugin to `maven-publish` plugin as required for Gradle 7
* add guard to ktfmt, since it can't run with JDK 8
Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
Add -y (--refresh) flag to pacman when also doing a system upgrade with
-u (--sysupgrade). This ensures that its database is refreshed in the
case where pacman core is upgraded after the previous refresh.
Bump the versions of Go used in Travis to the latest point releases in
preparing for the upcoming v0.16.0 release.
Also switch the go download URL to the new go.dev domain.
Also update LANGUAGES.md accordingly, and mark that we support THeader
in Go now (we added the support in v0.13.0, just forgot to update
LANGUAGES.md accordingly).
Client: go
Update go versions used in travis to 1.16.7 and 1.17, update
LANGUAGES.md, and update go's README to clarify on support policy.
This change will be cherry-picked into 0.15.0 branch after merged.