Skip to content
/ sconfig Public

Scala configuration library supporting HOCON for Scala, Java, Scala.js, and Scala Native

License

Notifications You must be signed in to change notification settings

ekrich/sconfig

Repository files navigation

sconfig

Build Status

Configuration library written in Scala which is a direct translation of the original widely used Java library.

Scala JVM, Scala Native, and Scala.js are supported. Scala JVM is fully supported whereas the other platforms support a subset of the full API.

For motivation and background about this project see the PR to the original project. The TLDR is the library was ported to Scala to support Scala Native so scalafmt which uses HOCON configuration could be compiled into a native application.

Care has been taken to keep the API the same but changes were needed when moving from the Java API. Using Java is also possible as demonstrated by including the working Java examples.

If you are looking for the original proven Java API, see https://github.com/lightbend/config.

Sonatype

Maven Central

libraryDependencies += "org.ekrich" %% "sconfig" % "x.y.z"

To use in sbt, replace x.y.z with the version from Maven Central badge above. Use %%% for non-JVM projects. All available versions can be seen at the Maven Repository.

Cross Build Versions

Scala.js

Scala Version JVM Scala.js (0.6.x, 1.x) Native (0.4.x)
2.11.x
2.12.x n/a
2.13.x n/a
0.27.0-RC1 n/a n/a

Usage and Help

Scaladoc Join chat https://gitter.im/ekrich/sconfig

Please refer to the original library documentation here. This is to reduce the maintenance burden of this library.

The intent is to keep the library in sync with the original but each PR needs to be be ported to maintain feature parity. The documentation could contain features that are not yet implemented in this library.

Scala Native and Scala.js - A guide to using Scala Native and Scala.js.

For specific changes, refer to the releases below.

Versions

Release 1.3.3 - (2020-09-14)
Release 1.3.2 - (2020-09-01)
Release 1.3.1 - (2020-07-24)
Release 1.3.0 - (2020-05-01)
Release 1.2.2 - (2020-04-28)
Release 1.2.1 - (2020-02-18)
Release 1.1.3 - (2019-12-27)
Release 1.0.0 - (2019-08-05)
Release 0.9.2 - (2019-06-10)
Release 0.9.1 - (2019-05-22)
Release 0.9.0 - (2019-05-21)
Release 0.8.0 - (2019-04-23)
Release 0.7.6 - (2019-04-10)
Release 0.7.5 - (2019-04-05)
Release 0.7.0 - (2018-12-14)