Triple-T / gradle-play-publisher

GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
MIT License
4.1k stars 339 forks source link

Expose `android-publisher` project in the Gradle plugin #1038

Closed JavierSegoviaCordoba closed 2 years ago

JavierSegoviaCordoba commented 2 years ago

Based on the issue https://github.com/Triple-T/gradle-play-publisher/issues/885, applying the Gradle plugin is not enough to be able to fully configure it (at least in conventional plugins).

The reason is there are some necessary APIs in android-publisher that are not exposed directly by the Gradle plugin, forcing the consumer to not only apply the Gradle plugin, also the consumer needs to add the android-publisher artifact.

With this change that requirement is no longer necessary.

SUPERCILEX commented 2 years ago

That's intentional: the APIs (even those not marked internal) are not designed for public consumption because it would be impossible to please everyone, they just happen to be what GPP needs. You are free to use that artifact, but I make no backwards compatibility guarantees (hence why it's not included by default).

Instead, I recommend using the android publisher API directly if you have advanced logic: https://github.com/googleapis/google-api-java-client-services/tree/main/clients/google-api-services-androidpublisher/v3. And of course, you can copy this repo's code as a starting point.

JavierSegoviaCordoba commented 2 years ago

@SUPERCILEX why ReleaseStatus is not designed for public consumption?

SUPERCILEX commented 2 years ago

Oh, didn't realize that's what this PR was getting at. I created #1039 with some ideas to fix it properly.