Will Amper kill Maven and Gradle?

  • muhanga@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Will Amper kill Maven and Gradle?

    If it works and it is free then maybe, but probably still not. Also it is a Gradle plugin, so it will not touch Maven at all. And it uses yaml configs… I do not like this at all 😀

    Maven is very good for small projects and Gradle take a niche of Ant on steroids. Nobody in his sane mind will migrate from one build system to other until benefits of migration outweighs the burden of redoing all pipelines from scratch.

    The problem with JB products that they are barely working now. If you step one iota outside of mainstream functionality then it will break.

    Both Maven and Gradle integration are very very brittle. And also not really optimized for big projects with big amount of modules/sources.

    And I love JB products. It saddens me to see every year I drops in quality of IntelliJ. And New fancy interface transition is just the mess.

    Migration to the subscription based allowed JB to release more products but overral quality dropped.

  • agilob@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Since I can remember IntelliJ frequently fails to detect changes in pom.xml. Changed dependency? Manually clean the project and click 2 buttons to let IJ discover it. Added new code without having the right dependency? Download dependencies manually first, try rebuilding the project, but you’re likely to have to restart the IDE anyway. That’s why I moved to VSCode.

      • agilob@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 year ago

        Doesn’t IntelliJ has some kind of Gradle wrapper built-in it that integrates with internals of IJ? They developed it to have more powers in Gradle and Kotlin, but didn’t care to provide feature parity with Maven. Then they cried when people started leaving IJ for VSC.

      • RandomDevOpsDude@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        I think JetBrains has fully bought into Gradle. I think Maven support has been less and less over time, which shouldn’t be a surprise. Gradle supports native Kotlin build scripts (i.e. build.gradle.kts), as well as putting a lot of work into ensuring their tools fit well within the Gradle ecosystem (exhibit A: https://github.com/JetBrains/intellij-platform-plugin-template). I think it only natural for the creator/owner/maintainer of Kotlin to go full in on the build system that supports the language!

        controversial take: who still uses maven? who would prefer xml files over build scripts? (ok… fine, big timers like RedHat definitely do, or at least, have never taken/don’t want to take the time to upgrade lol)

        • agilob@programming.dev
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          1 year ago

          who still uses maven? who would prefer xml files over build scripts? (ok… fine, big timers like RedHat definitely do, or at least, have never taken/don’t want to take the time to upgrade lol)

          Simple: Gradle doesn’t work well with inherited projects. If you have a family tree of projects, maven always wins. Lowers complexity, integrations are easier, bom are better integrated, smaller size of ~/.m2 (by literally gigabytes) and no surprises with classpath loading order. It’s not about stupid xml or stupid groovy, it’s about complexity of managing single parent project, 200 children and 150 more grandchildren and having them working out of box. More than 12 years of using Gradle, I’ve never it seen working well outside of Android projects (and it still needs Java7 right?).

          End users for gradle are corporations: Google and IntelliJ. Maven has been developed for developers and technical project managers. My projects from ~2000s developed in Ant still compile and work, Maven projects from 2010s still work and compile… can’t say that about an Android project from 2014. It doesn’t even compile and there’s no backwards compatible way to use or upgrade Gradle (from 2.4). To me, gradle is worse than npm ecosystem and we did it all to ourselves.

          • RandomDevOpsDude@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            Interesting perspective I hadn’t considered before, thanks for sharing. Also, not sure where the Java 7 thing comes from, but I run Java 17 with gradle/kotlin non-android, works very well in IntelliJ, outside of consuming a million gigs of ram lol

            • agilob@programming.dev
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year ago

              Also, not sure where the Java 7 thing comes from, but I run Java 17 with gradle/kotlin non-android

              Yes, this seems to have improved, just successfully made a project with gradle and it works with java 18. About 2 years ago it wasn’t possible to use Flutter with Java 9, at all.