# Amper: a new way to configure Gradle projects?

DevFeed: [Amper: a new way to configure Gradle projects?](<https://devfeed.tech/articles/amper-a-new-way-to-configure-gradle-projects-24709.md>)

Original publisher: [Read original article](<https://dev.to/touchlab/amper-a-new-way-to-configure-gradle-projects-3abf>)

Author: Gustavo Fão Valvassori

Published: 2023-12-08T12:05:34Z

Content type: tutorial

Language: en

Sources: [Touchlab](<https://devfeed.tech/sources/touchlab.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [build-system](<https://devfeed.tech/tags/build-system.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ide](<https://devfeed.tech/tags/ide.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [software](<https://devfeed.tech/tags/software.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

## AI overview

The article introduces Amper, an experimental Gradle plugin for configuring Kotlin Multiplatform projects with YAML instead of Groovy or Kotlin configuration code. It explains the declarative approach, required IDE or plugin setup, module.yaml configuration, and changes to project structure.

## Source excerpt

Earlier this month, Kotlin Multiplatform went stable. And just a couple of weeks later, they announced a new tool to help with one of the biggest issues we have, configuration. Currently, KMP projects use Gradle as a Build System, and we must agree that it's a great tool. But the complexity around it for new users is a big issue. Amper is a tool to help you configure your projects using a markup language. The main goal is to replace the Groovy/Kotlin programming language with something that can enforce a declarative approach. With a declarative paradigm, you can only declare what needs to be done without implementing it. If you already have experience with Maven, it may be familiar to you. Please note that the tool is in the early stages of development, and its goal is to validate the idea before putting more effort into it. With that in mind, be aware that syntax, language, and other things may change in the future, and it's a very experimental tool. How does it work? According to the docs, Amper is implemented as a Gradle plugin and uses YAML for its project configuration format. In other words, it's still a Gradle environment, but it will use an additional YAML file to configure the project. To be able to use it, you need one of the following environments: Use one of the following IDEs: IntelliJ IDEA 2023.3 or newer and the Amper Plugin; or Fleet 1.26 or newer; Use the Amper build plugin to enable it: In your settings.gradle.kts, add this plugin: id("org.jetbrains.amper.settings.plugin").version("0.1.1") When you open a project with the Amper Plugin in the IDE, it will look for the module.yaml file. This file will contain the configuration for the module (library or application), dependencies, and other project configurations (like the Java version). Also worth noting that it also changes the project architecture. Instead of having a directory for your source set artifacts, you will have multiple src directories. In other words, your commonMain/src/kotlin will be