Coder Social home page Coder Social logo

ngbinh / scala-commons Goto Github PK

View Code? Open in Web Editor NEW

This project forked from avsystem/scala-commons

0.0 2.0 0.0 15.03 MB

AVSystem commons library for Scala

Home Page: http://www.avsystem.com

License: MIT License

Scala 99.95% Shell 0.03% HTML 0.02%

scala-commons's Introduction

AVSystem Commons Library for Scala

Build Status Maven Central

API reference

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.

Modules and features

  • 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
    • 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
    • Lightweight alternatives for Scala Option - Opt - guarantees no nulls, OptArg, NOpt, OptRef (implemented as value classes)
  • commons-redis - Scala driver for Redis
  • commons-akka - Akka utilities, primarily AkkaRPCFramework which supports methods returning Monix Observables
  • commons-macros contains implementations of macros used in other modules and reusable macro utilities:
    • MacroCommons trait 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-jetty - Jetty server utilities
  • commons-mongo - MongoDB utilities for Scala & Java MongoDB drivers, integration with GenCodec
  • commons-hocon - Utilities for handling HOCON, e.g. a HoconInput implementation for GenCodec
  • commons-spring - Spring framework utilities:
    • HoconBeanDefinitionReader - an utility that allows you to define Spring application context using HOCON format

Development

  • Introduce your changes
  • Write some unit tests
  • Bump the version number in version.sbt file
  • Submit a pull request

Test on local environment

  • Publish the artifact locally
    • Use sbt publishLocal for projects managed by Ivy (e.g. SBT projects)
    • Or sbt publishM2 for projects managed by maven
  • Update avsystem-commons dependency version in your project and refresh your project dependencies

scala-commons's People

Contributors

attomir avatar crossy147 avatar ddworak avatar ghik avatar grzesiul avatar hamidzr avatar mjjaniec avatar mkej avatar p1t4g0r45 avatar passarinho4 avatar plokhotnyuk avatar scala-steward avatar ugon avatar wojciech-milewski avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.