aws-amplify / amplify-android

The fastest and easiest way to use AWS from your Android app.
https://docs.amplify.aws/lib/q/platform/android/
Apache License 2.0
231 stars 108 forks source link

chore: Move to using the Maven Publish DSL #2815

Closed mattcreaser closed 4 weeks ago

mattcreaser commented 1 month ago

Issue #, if available:

Description of changes: Migrated publishing to use the publishing DSL. This is a pre-requisite to upgrading to Gradle 8+.

The publishing DSL adds scope information and publishes Gradle metadata by default. Although those are beneficial, they could potentially impact customers and should not be added in a minor version, so I've disabled/removed both of those. They can be enabled in a future major version release.

How did you test these changes? (Please add a line here how the changes were tested)

Documentation update required?

General Checklist

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

mattcreaser commented 1 month ago

Note: the one difference I've noted with this PR is that it adds the Kotlin standard library as a dependency to all poms, specifically <artifactId>kotlin-stdlib-jdk8</artifactId>.

I am not actually sure why it wasn't being added before since the Kotlin plugin adds it to all projects so it always has been a dependency. Looking into whether there is any problem here.

mattcreaser commented 1 month ago

After some additional testing I don't believe there is any downside to this additional dependency being added. If app is running on JDK < 26 it does not add a requirement for desugaring unless we invoke one of the JDK8 APIs, which already would have been requiring desugaring previously.