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
* 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>
* use spotless plugin and google-java-format to enforce a consistent code format
* add a step of spotless check before building
* only run spotless on the src/ directory
Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
* add java build workflow
* add kotlin as well
* run full make with ant and maven
* shorten names
Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>