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 nonull
s,OptArg
,NOpt
,OptRef
(implemented as value classes)
commons-redis
- Scala driver for Rediscommons-akka
- Akka utilities, primarilyAkkaRPCFramework
which supports methods returning MonixObservable
scommons-macros
contains implementations of macros used in other modules and reusable macro utilities:MacroCommons
trait with several convenience functions for implementing macrosTypeClassDerivation
- 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 codecommons-annotations
- contains annotations used by macros and static analyzercommons-jetty
- Jetty server utilitiescommons-mongo
- MongoDB utilities for Scala & Java MongoDB drivers, integration withGenCodec
commons-kafka
- Kafka utilitiescommons-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.sbt
file - Submit a pull request
- Publish the artifact locally
- Use
sbt publishLocal
for projects managed by Ivy (e.g. SBT projects) - Or
sbt publishM2
for projects managed by maven
- Use
- Update avsystem-commons dependency version in your project and refresh your project dependencies