This directory (/lib/kotlin) contains test only library code for Kotlin code gen. Because Kotlin code gen produces code that works on top of libthrift (i.e. Java library), the purpose of this library is to encode the cross test server and client to make sure it conforms to the thrift specifications.
The output artifact in this library is not published to Maven central. Unlike the Java library where:
main sources set i.e. src/main,test sources set i.e. src/test,crossTest sources set, i.e. src/crossTest directory which, unlike the default main and test, is created and configured on demand;this kotlin library uses a multi-module project setup for separation of concern:
cross-test-client module for bundling a standalone test client,cross-test-server module for bundling a standalone test serverThis library is managed using Gradle 6.9.2, run the following command (requires C++ thrift compiler):
gradle build
gradle installDist
gradle :cross-test-server:run
gradle :cross-test-client:run