Skip to content

Update Android Gradle Plugin version to 8.11.1 #6399

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

mikescamell
Copy link
Contributor

@mikescamell mikescamell commented Jul 15, 2025

Task/Issue URL: https://app.asana.com/1/137249556945/project/1202552961248957/task/1210802695070486

Description

This PR updates the Gradle wrapper from 8.10.2 to 8.14.3 and the Android Gradle Plugin from 8.7.3 to 8.11.1. The changes include:

Steps to test this PR

Verify build functionality

  • Run ./gradlew clean build to ensure the new Gradle version works correctly
  • Verify that Android Studio recognizes the updated Gradle version
  • Check that all CI builds pass with the updated configuration

@mikescamell mikescamell force-pushed the feature/mike/update-agp-to-8.11.1 branch 4 times, most recently from 1e661b6 to 5880601 Compare July 23, 2025 10:17
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2086:info:1:6: Double quote to prevent globbing and word splitting [shellcheck]

run: echo $FLANK > flank.json

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2002:style:1:5: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead [shellcheck]

run: cat build/fladle/fladleResults/HtmlErrorReport.html | cut -d\` -f2 >> results.json

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2086:info:1:6: Double quote to prevent globbing and word splitting [shellcheck]

run: echo $FLANK > flank.json

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2002:style:1:5: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead [shellcheck]

run: cat build/fladle/fladleResults/HtmlErrorReport.html | cut -d\` -f2 >> results.json

@mikescamell mikescamell force-pushed the feature/mike/update-agp-to-8.11.1 branch from 9ba6442 to 3959791 Compare July 23, 2025 10:55
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
label "android-large-runner" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]

runs-on: android-large-runner

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
label "android-large-runner" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]

runs-on: android-large-runner

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
label "android-large-runner" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]

runs-on: android-large-runner

ratchetFrom means Spotless will apply only to files which have changed since origin/main

It also means we need to make some changes to CI due to ensure builds pass due to shallow clones. See https://github.com/diffplug/spotless/tree/main/plugin-gradle#using-ratchetfrom-on-ci-systems for more details.
Spotless breaks because we have classes and files that have been commited that should technically be ignored by our .gitignore settings. See diffplug/spotless#911 (comment)

Therefore we have to either remove these files or move them.

In this case the DeviceShield stuff was in a package called "report" which we ignore in .gitignore. Therefore I gave it a new package name

We want to keep the icon and I guess we want to keep the copyright folder so I made that work in .gitignore
As these have "changed" since develop then they need formatting!
I could remove this long ago when changing to plugin blocks, now it works
This gets added by default, not need for us to specify it and avoids any issues.
Removed the extra version.kotlin declared as I believe it's redundant
We use Kotlin CodeGen for Room in the app module, but not in other modules. This along with KSP2 breaks the update to Kotlin 2.2.0

We can turn KSP2 off for now and ensure that any module that adds the Room compiler generates Kotlin code.

This will be the default in Kotlin 2.7.0+ but we cannot use it right now as we get occasional build issues. See the Asana task for more info.
This also required some code changes to remove some deprecated classes.
@mikescamell mikescamell force-pushed the feature/mike/update-agp-to-8.11.1 branch from 3959791 to eac94bd Compare July 23, 2025 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants