Popularity
1.7
Stable
Activity
0.0
Stable
19
2
4

Programming language: Kotlin
License: Apache License 2.0
Tags: Configuration    

AutoKonfig alternatives and similar libraries

Based on the "Configuration" category.
Alternatively, view AutoKonfig alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of AutoKonfig or a related project?

Add another 'Configuration' Library

README

AutoKonfig

AutoKonfig

Kotlin configuration library with batteries included.

License Coverage Version

Website

https://autokonfig.nohus.dev/

Features overview

  • Support for JSON, HOCON and Java properties config files
  • Loading config files from resources and remote URLs
  • Reading configuration from system properties and environment variables
  • Parsing command-line parameters
  • Merging properties loaded from multiple sources
  • Automatically finding config files
  • Type-safe properties
  • Many useful property types, including dates (2020-02-02), times (10:15:30), durations (20s) and memory sizes (256 MB)
  • Type-specific parsing, a value of 1 can be the string "1", the integer 1, or the boolean true depending on which type is asked for
  • Collection types
  • 100% unit test coverage

Quick start

Gradle
implementation "dev.nohus:AutoKonfig:1.0.0"
Maven
<dependency>
    <groupId>dev.nohus</groupId>
    <artifactId>AutoKonfig</artifactId>
    <version>1.0.0</version>
</dependency>

The artifacts are available on JCenter.

Simple example

Create a config file:

app.conf
host = nohus.dev
port = 80

Create variables for your properties:

Main.kt
fun main() {
    val host by StringSetting()
    val port by IntSetting()
    println("Host: $host, port: $port")
}

That's it! AutoKonfig automatically loaded your config file, because it had a well-known name. It knew which properties to load based on the variable names, and it mapped them to types based on the specified StringSetting and IntSetting delegates.

To see more, continue reading on the website.


*Note that all licence references and agreements mentioned in the AutoKonfig README section above are relevant to that project's source code only.