1# Test Only Library for Kotlin 2 3This 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. 4 5The output artifact in this library is _not_ published to Maven central. Unlike the Java library where: 6 71. source code is put under `main` sources set i.e. `src/main`, 82. unit test code is put under `test` sources set i.e. `src/test`, 93. cross test code is put under `crossTest` sources set, i.e. `src/crossTest` directory which, unlike the default `main` and `test`, is created and configured on demand; 10 11this kotlin library uses a multi-module project setup for separation of concern: 12 131. root module for configuring unit tests, 142. `cross-test-client` module for bundling a standalone test client, 153. `cross-test-server` module for bundling a standalone test server 16 17## How to compile 18 19This library is managed using Gradle 6.9.2, run the following command (requires C++ thrift compiler): 20 21```bash 22gradle build 23``` 24 25```bash 26gradle installDist 27``` 28 29## How to run cross test server / client 30 31```bash 32gradle :cross-test-server:run 33``` 34 35```bash 36gradle :cross-test-client:run 37``` 38