Gradle Play Publisher 2.3.0
The theme of this release is polish, polish everywhere. 🌈
Required dependencies - #564
This release of GPP enforces modern tooling. That means you'll need Gradle 5.4 and the Android Gradle Plugin 3.5.0 at a minimum. These dependency requirements were needed in order to use the new APIs that enable GPP v2.3.0's improvements.
Notable changes
Massive performance improvements - #573
GPP now uses Gradle's Worker API in all applicable tasks. Depending on how many variants your project has and what you're uploading, you'll see fairly significant performance gains.
Revamped logging
On top of error message and task description improvements, GPP now logs the current status of every publishing task being run. This makes validating the correctness of your build much easier. Here's a sample log from running ./gradlew publish
:
Click to expand/collapse
> Task :app:publishReleaseListing
Uploading app details
Uploading en-US listing
Uploading fr-FR listing
Committing changes
> Task :app:publishReleaseBundle
Starting App Bundle upload
App Bundle upload complete
Starting mapping file upload
Mapping file upload complete
Updating [completed] release (com.supercilex.test:[380135]) in track 'internal'
Committing changes
Support for uploading Internal Sharing artifacts - #576
Google announced support for Internal Sharing artifacts which GPP now supports. Simply run ./gradlew uploadPrivateArtifact
and copy the link outputted in the console.
CLI options cleanup - #568, #567, #588
Previously, all CLI options from every task were available to all other tasks. This made things very confusing when, say, ./gradlew publishApk --default-to-app-bundles
was valid. Now, every task has a tailored set of CLI options that are directly applicable to the task in question. As usual, you can find out what a task's CLI options are by running ./gradlew help --task [task]
Furthermore, the promote task now has an --update [track]
option which is equivalent to --from-track [track] --track [track]
; the --skip-commit
CLI option has been renamed to --no-commit
, following common naming conventions; and a --release-name
option was added to change a release's name in the Play Console.
Bug fixes
Bootstrap task
- A new line is now added to the end of text files - #566
- The task name has been simplified from
bootstrap[Variant]PlayResources
tobootstrap[Variant]
- #569- The old name will be removed in v3.0
- The
play
src directory is now wiped out to guarantee a clean slate - #575 - Screenshot order from the Play Store is now properly respected - #575
- If running the
bootstrap
andpublishListing
task in the same build, the tasks will now execute in the correct order - #575
Other
- App Bundle uploading broke in AGP 3.6 alpha 2—it's now fixed - #581
- Universal APKs are now uploaded again - #595
- The promote task now always selects the highest version code available if no
from-track
is specified instead of picking something non-deterministic from the API response - #571 - Local listing validation has been removed in favor of the Publishing API's validation - #601
- Fixed tons of incremental processing bugs