so my wish for amper while it works towards 1.0 is...
# amper
c
so my wish for amper while it works towards 1.0 is that for simple apps and libraries it is always pretty easy to reach a perfect build result: newest kotlin version, newest support libraries (serialization, junit, etc) and decent build speed. bonus points if its easy to publish to maven central. right now in the project where I try amper I have old library dependencies, and the build is slower than a gradle build. and fixing this will make my build as complicated as a normal gradle build.
1
z
right now in the project where try amperI have old library dependencies, and the build is slower than a gradle build. and fixing this will make my build as complicated as a normal gradle build.
I'm curious to hear more about the project you're trying Amper in, is it public by any chance? Seems strange that it would be slower to build with Amper. Also, could you expand on what old dependencies you have, and why fixing those would make the build more complicated?
c
thats the outdated dependencies:
Copy code
The following dependencies have later milestone versions:
 - org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable [2.0.0-RC3 -> 2.0.0]
     <https://kotlinlang.org/>
 - org.jetbrains.kotlin:kotlin-serialization-compiler-plugin-embeddable [2.0.0-RC3 -> 2.0.0]
     <https://kotlinlang.org/>
 - org.jetbrains.kotlin:kotlin-stdlib [2.0.0-RC3 -> 2.0.0]
     <https://kotlinlang.org/>
 - org.jetbrains.kotlin:kotlin-test [2.0.0-RC3 -> 2.0.0]
     <https://kotlinlang.org/>
 - org.jetbrains.kotlin:kotlin-test-junit [2.0.0-RC3 -> 2.0.0]
     <https://kotlinlang.org/>
 - org.jetbrains.kotlin:kotlin-test-junit5 [2.0.0-RC3 -> 2.0.0]
     <https://kotlinlang.org/>
 - org.jetbrains.kotlinx:kotlinx-serialization-json [1.5.1 -> 1.6.3]
     <https://github.com/Kotlin/kotlinx.serialization>
this is much better now with 0.3. with 0.2.2 all dependencies were outdated 🙂
and the slow building is also something that I notices most with 0.2.x and there it was mostly because amper has so many transitive dependencies which are also spread over so many repos
and one part where trying to speed up the build made the build more complicated is, I added filtering to the repos in settings.gradle.kts:
Copy code
pluginManagement {
  repositories {
    mavenCentral()
    google {
      @Suppress("UnstableApiUsage")
      content {
        includeGroupAndSubgroups("com.android")
        includeGroupAndSubgroups("com.google.testing.platform")
        includeGroupAndSubgroups("androidx.databinding")
      }
    }
    gradlePluginPortal()
    maven("<https://maven.pkg.jetbrains.space/public/p/amper/amper>")
    maven("<https://www.jetbrains.com/intellij-repository/releases>") {
      content {
        includeGroup("com.jetbrains.intellij.platform")
      }
    }
    maven("<https://packages.jetbrains.team/maven/p/ij/intellij-dependencies>")
  }
}
not sure if thats still so relevant with 0.3 too
all in all 0.3 looks really good. please don’t take my comment as a complaint, just as an idea of something to keep in mind during the development cycle to make sure that its useful to many people and you get more feedback.
👍 1
z
Makes sense, thanks for sharing more details! We'll make sure to take a look at both keeping built-in versions up-to-date and the dependencies that the Amper plugin itself has. And don't be afraid to complain either, we're happy to listen to all feedback, that's what drives improvement 🙂
1