Project configuration with Amper
Amper is a new tool created by JetBrains to help you configure projects for building, packaging, publishing, and more. With Amper, you can spend less time dealing with build systems and focus on addressing real business challenges instead.
Amper lets you create configuration files for Kotlin Multiplatform applications that work on the JVM, Android, iOS, macOS, and Linux, as well as for multiplatform libraries that work with all of these supported targets.
How Amper works
Amper currently uses Gradle as the backend and YAML as the frontend defining the project configuration. It supports custom tasks, CocoaPods, library publishing to Maven, and packaging desktop apps through the Gradle interop.
With Amper, you can set up a configuration for platform-specific applications and shared Kotlin libraries. They are declared as modules in a
.yaml module manifest file using a special declarative DSL.
The core concept of this DSL is Kotlin Multiplatform. Amper allows you to configure Kotlin Multiplatform projects quickly and easily without having to dive deep into complex Gradle concepts. The Amper DSL offers a special syntax enabling you to work with multiplatform configurations, including dependencies, settings, and so on.
Here is an example of Amper's manifest file for a Kotlin Multiplatform shared library that can be used with JVM, Android, and iOS applications:
productsection defines the project type and the list of targeted platforms.
dependenciessection adds not only Kotlin and Maven dependencies, but also platform-specific package managers, such as CocoaPods and Swift Package Manager.
@platformqualifier marks platform-specific sections, including dependencies and settings.
You can try Amper in one of the following ways:
Use IntelliJ IDEA 2023.3 and later for JVM and Android projects (starting with build 233.11555).
Use Fleet for JVM, Android, and Kotlin Multiplatform projects (starting with build 1.26.104).
Use Gradle to build Amper projects from the command line or your CI/CD tool.
Feel free to submit any feedback you might have to our issue tracker. Your input will help us shape the future of Amper.
Check out the JetBrains blog to learn more about our motivation behind creating Amper, its use cases, the current state of the project, and its future.
See the Amper FAQ to find answers to the most popular questions.
Read the Amper documentation, which covers different aspects of Amper's functionality and design.