For builds: Gradle vs Maven vs IntelliJ

This page summarizes the projects mentioned and recommended in the original post on /r/Kotlin

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • idiomatic-gradle

    How do I idiomatically structure a large build with Gradle 7.2+?

  • I'd suggest getting rid of buildSrc, and just using build composition. I mentioned in another response, but check out https://github.com/jjohannes/idiomatic-gradle for how to use precompiled script plugins that are connected to the project via includedBuilds. The only issues I've had with this are generally resolved by just running the sub-build independently to resolve any caching issues in the 'primary' build. A simple gradlew build --settings-file ./build-logic/settings.gradle.kts run will generally resolve that, and that issue seems largely because of the 'root' build being a peer or anscestor of the included build (due to legacy structure of the project, an issue the linked example repo does not have).

  • kotlin-plugin

    Build kotlin code using sbt

  • You’d need a Kotlin sbt plugin. The build is declared in ./build.sbt using Scala syntax. The official docs are comprehensive. You could generate an empty Scala project in IntelliJ and add the Kotlin plug-in, and then copy your code package by package and see how well it gets built and integrates, something small, a sort of a smoke test.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts