Skip to main content

Contributing

Please feel free to open an issue or a pull request with questions, ideas, features, improvements or fixes.

Potential improvements

  • Better documentation
  • More transport layer integrations
  • Additional RPC protocol implementations
  • Stricter type checking in API method invocation macros
  • ScalaJS support

Build requirements

Note: Due to the latest Scala 3 compiler defect the build currently does not work on JDK 21. Use -java-home SBT option to select an alternative JDK if needed.

Documentation

Release

Testing

Note: Due to uPickle design peculiarities the uPickle plugin takes a very long time to build but it works.

Basic tests

./sbt '+ test'

Simple API tests for all transport plugins and default codec plugin only

TEST_LEVEL=simple ./sbt '+ test'

Complex API tests for all transport plugins and default codec plugin only

TEST_LEVEL=complex ./sbt '+ test'

Complex API tests for all transport plugins and all codec plugins

TEST_LEVEL=all ./sbt '+ test'

Console log level

LOG_LEVEL=DEBUG ./sbt '+ test'

Generated code logging

LOG_CODE=true ./sbt '+ test'

Test log file

less target/test.log

Documentation

Generate website

./sbt site

Serve website

./sbt serveSite