Skip to content

Gradle Play Publisher 2.3.0

Compare
Choose a tag to compare
@SUPERCILEX SUPERCILEX released this 13 Jul 20:12
· 309 commits to master since this release
775a560

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 to bootstrap[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 and publishListing 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