NOTE This library is available to the public but it's mostly used internally at AVSystem. Therefore, API may frequently change in an incompatible way.
- commons-core- basic language utilities and generic features not associated with any particular library of framework:- GenCodec: format-agnostic, typeclass based serialization framework with automatic typeclass derivation for case classes and sealed hierarchies
- Typesafe RPC/proxy framework used in particular by Udash Framework for client-server communication
- REST framework based on RPC framework
- Better enumeration support for Scala -
ValueEnum,SealedEnumCompanion,NamedEnumCompanion,OrderedEnum
- Java interoperability utilities - JavaInterop
- Google Guava interoperability utilities (dependency on Guava is optional)
- Various Scala language-level utilities
- Implicit source information objects - SourceInfo
- More concise aliases for Scala collection types - CollectionAliases
- Universal extension methods - SharedExtensions
 
- Implicit source information objects - 
- Lightweight alternatives for Scala Option-Opt- guarantees nonulls,OptArg,NOpt,OptRef(implemented as value classes)
 
- commons-redis- Scala driver for Redis
- commons-akka- Akka utilities, primarily- AkkaRPCFrameworkwhich supports methods returning Monix- Observables
- commons-macroscontains implementations of macros used in other modules and reusable macro utilities:- MacroCommonstrait with several convenience functions for implementing macros
- TypeClassDerivation- implements infrastructure for automatic type class derivation
 
- commons-analyzer- static analyzer for Scala code, i.e. a compiler plugin that enforces various (mostly unrelated) rules and conventions on source code
- commons-annotations- contains annotations used by macros and static analyzer
- commons-jetty- Jetty server utilities
- commons-mongo- MongoDB utilities for Scala & Java MongoDB drivers, integration with- GenCodec
- commons-kafka- Kafka utilities
- commons-spring- Spring framework utilities:- HoconBeanDefinitionReader- an utility that allows you to define Spring application context using HOCON format
 
- Introduce your changes
- Write some unit tests
- Bump the version number in version.sbtfile
- Submit a pull request
- Publish the artifact locally
- Use sbt publishLocalfor projects managed by Ivy (e.g. SBT projects)
- Or sbt publishM2for projects managed by maven
 
- Use 
- Update avsystem-commons dependency version in your project and refresh your project dependencies