Skip to content

fikrimuhal/airframe

 
 

Repository files navigation

Airframe Gitter Chat Build Status Latest version Maven Central codecov Scala.js Scaladoc

Airframe http://wvlet.org/airframe is a collection of lightweight libraries useful for building full-fledged applications in Scala. As its core Airframe provides a dependency injection (DI) library tailored to Scala. While Google's Guice is designed for injecting Java objects (e.g., using constructors or providers), Airframe redesigned it for Scala traits so that we can mix-in traits that have several object dependencies.

Resources

Getting Started

Latest version Maven Central

build.sbt

Airframe is a collection of Scala libraries. You can include one or more of them to your dependencies:

val AIRFRAME_VERSION = "(version)"

# For Scala 2.11, 2.12, and 2.13
libraryDependencies ++= Seq(
  "org.wvlet.airframe" %% "airframe"         % AIRFRAME_VERSION, // Dependency injection
  "org.wvlet.airframe" %% "airframe-codec"   % AIRFRAME_VERSION, // MessagePack-based schema-on-read transcoder
  "org.wvlet.airframe" %% "airframe-config"  % AIRFRAME_VERSION, // YAML-based configuration
  "org.wvlet.airframe" %% "airframe-jmx"     % AIRFRAME_VERSION, // JMX entry
  "org.wvlet.airframe" %% "airframe-jdbc"    % AIRFRAME_VERSION, // JDBC connection pool
  "org.wvlet.airframe" %% "airframe-log"     % AIRFRAME_VERSION, // Logging
  "org.wvlet.airframe" %% "airframe-metrics" % AIRFRAME_VERSION, // Metrics units
  "org.wvlet.airframe" %% "airframe-opts"    % AIRFRAME_VERSION, // Command-line option parser
  "org.wvlet.airframe" %% "airframe-surface" % AIRFRAME_VERSION, // Object surface inspector
  "org.wvlet.airframe" %% "airframe-tablet"  % AIRFRAME_VERSION  // Table data reader/writer
)

# For Scala.js, the following libraries can be used:
libraryDependencies ++= Seq(
  "org.wvlet.airframe" %%% "airframe"         % AIRFRAME_VERSION, // Dependency injection
  "org.wvlet.airframe" %%% "airframe-log"     % AIRFRAME_VERSION, // Logging
  "org.wvlet.airframe" %%% "airframe-metrics" % AIRFRAME_VERSION, // Metrics units
  "org.wvlet.airframe" %%% "airframe-surface" % AIRFRAME_VERSION  // Object surface inspector
)

See Documentation for further details.

LICENSE

Apache v2

Packages

 
 
 

Languages

  • Scala 95.9%
  • Shell 3.3%
  • Java 0.8%