{"repo":"F43nd1r/autodsl","free":true,"listed":false,"github":"https://github.com/F43nd1r/autodsl","clone":"git clone https://github.com/F43nd1r/autodsl.git","description":"Auto-generate DSLs for Kotlin using annotations","language":"Kotlin","stars":58,"topics":["code-generation","dsl","kapt","kotlin","kotlin-symbol-processor"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"AutoDSL for Kotlin Auto-generates DSL (Domain Specific Language) for your Kotlin projects using annotations. Inspired by AutoDsl, which is no longer maintained. Documentation For a concise feature guide, see Features. Create expressive, immutable and type-safe DSL without boilerplate code : To generate the previous DSL you just need to provide your desired classes with @AutoDsl : AutoDsl will be generating a builder class and extension function for the annotated class providing this super expressive DSL. For required parameters like name the DSL will throw an exception at runtime. To make it optional just set the property as nullable with the question mark like address , or provide a default value like friends . The value will be null in case it's not set. For inspections on required parameters use this IntelliJ plugin. Default values are supported! Usage You can use either ksp or kapt to run this processor. See here for a comparison of ksp and kapt. 1.a) Add dependencies (Kotlin Symbol Processing (KSP)): settings.gradle.kts: build.gradle.kts: 1.b) Add dependencies (KAPT): build.gradle.kts: 2. Add @AutoDsl to your classes and build your project 3. Enjoy your new DSL!","default_branch":null,"files":null,"tree":[],"storefront":"/r/F43nd1r","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/F43nd1r/autodsl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}