[Android] remove obsolete gradle api in FGP#172085
Merged
auto-submit[bot] merged 3 commits intoflutter:masterfrom Jul 15, 2025
Merged
[Android] remove obsolete gradle api in FGP#172085auto-submit[bot] merged 3 commits intoflutter:masterfrom
auto-submit[bot] merged 3 commits intoflutter:masterfrom
Conversation
ed8c552 to
d5251c2
Compare
d5251c2 to
05bc958
Compare
reidbaker
approved these changes
Jul 14, 2025
| @Suppress("DEPRECATION") | ||
| fileMode = 420 // corresponds to unix 0644 in base 8 | ||
| filePermissions { | ||
| user { |
Contributor
There was a problem hiding this comment.
Is this actually needed?
"FILE: read &write for OWNER, read for GROUP, read for OTHER (0644, rw-r--r--)"
https://docs.gradle.org/current/kotlin-dsl/gradle/org.gradle.api.file/-file-permissions/index.html
Contributor
Author
There was a problem hiding this comment.
Interesting question, because in Copy task docs:
"If the property has no value set, that means that existing permissions are preserved." https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Copy.html
I don't know how exactly these 2 parts corresponds to each other, best guess is that your link describes behavior out of context of Copy task?
Contributor
There was a problem hiding this comment.
That is Weird. LGTM Thank you for expanding test coverage.
gmackall
approved these changes
Jul 14, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 16, 2025
auto-submit bot
pushed a commit
to flutter/packages
that referenced
this pull request
Jul 16, 2025
flutter/flutter@cc3110c...c2739f0 2025-07-16 [email protected] Roll Dart SDK from 2f2dd1780d45 to 766ee8029b11 (2 revisions) (flutter/flutter#172226) 2025-07-16 [email protected] Roll Skia from af685eaf1b52 to 59be8479c637 (3 revisions) (flutter/flutter#172208) 2025-07-16 [email protected] Add dartpad example to `RoundedSuperellipseBorder` (flutter/flutter#172185) 2025-07-16 [email protected] Roll Skia from ab79199bd0f3 to af685eaf1b52 (2 revisions) (flutter/flutter#172195) 2025-07-16 [email protected] Roll Dart SDK from a4e60e5add75 to 2f2dd1780d45 (8 revisions) (flutter/flutter#172197) 2025-07-16 [email protected] Roll pub packages (flutter/flutter#172193) 2025-07-15 [email protected] Licenses_cpp: Parses NOTICES and DEPS (flutter/flutter#172044) 2025-07-15 [email protected] Roll Fuchsia Linux SDK from tQAtsLtpc0oBIqRwC... to JRFUXSNXExcfjVYvA... (flutter/flutter#172189) 2025-07-15 [email protected] Roll Skia from fec78c0da2e6 to ab79199bd0f3 (4 revisions) (flutter/flutter#172186) 2025-07-15 [email protected] Allow a release without engine cherrypicks (adds fallback logic) (flutter/flutter#172184) 2025-07-15 [email protected] [skia] Add missing param to makeRasterImage calls (flutter/flutter#172122) 2025-07-15 [email protected] [Android] remove obsolete gradle api in FGP (flutter/flutter#172085) 2025-07-15 [email protected] Roll Skia from 8ffff8c8e01b to fec78c0da2e6 (6 revisions) (flutter/flutter#172178) 2025-07-15 [email protected] Roll Skia from 2f4ad5d83704 to 8ffff8c8e01b (7 revisions) (flutter/flutter#172169) 2025-07-15 [email protected] Roll Dart SDK to 3.9.0-333.2.beta (flutter/flutter#172167) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
azatech
pushed a commit
to azatech/flutter
that referenced
this pull request
Jul 28, 2025
fixes flutter#170791 This PR replaces the deprecated (and removed in 9.0) Gradle fileMode API in favor of filePermissions. This change finally unlocks builds with gradle 9 (confirmed in smoke tests, 9.0.0-rc.2 is the latest prerelease version to the date). **Testing strategy** There's an attempt to add a Kotlin unit test that confirms that `filePermissions` were called during plugin application. I failed to find a more precise way to check if the new code works as intended (such as testing that permissions were really changed or something like that), but on the other hand, it should not be required since it will transform the test in a way that it will start to test Gradle APIs and their behavior, and I believe it's a bit out of scope: Gradle APIs are tested in Gradle tests :) Anyway, this new test is a bit cumbersome because it's required to mock all the behaviours related to variants configuration and capturing calls – If it is not desired im not hesitant to remove it. <!-- Thanks for filing a pull request! Reviewers are typically assigned within a week of filing a request. To learn more about code review, see our documentation on Tree Hygiene: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md --> ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
vashworth
pushed a commit
to vashworth/packages
that referenced
this pull request
Jul 30, 2025
flutter/flutter@cc3110c...c2739f0 2025-07-16 [email protected] Roll Dart SDK from 2f2dd1780d45 to 766ee8029b11 (2 revisions) (flutter/flutter#172226) 2025-07-16 [email protected] Roll Skia from af685eaf1b52 to 59be8479c637 (3 revisions) (flutter/flutter#172208) 2025-07-16 [email protected] Add dartpad example to `RoundedSuperellipseBorder` (flutter/flutter#172185) 2025-07-16 [email protected] Roll Skia from ab79199bd0f3 to af685eaf1b52 (2 revisions) (flutter/flutter#172195) 2025-07-16 [email protected] Roll Dart SDK from a4e60e5add75 to 2f2dd1780d45 (8 revisions) (flutter/flutter#172197) 2025-07-16 [email protected] Roll pub packages (flutter/flutter#172193) 2025-07-15 [email protected] Licenses_cpp: Parses NOTICES and DEPS (flutter/flutter#172044) 2025-07-15 [email protected] Roll Fuchsia Linux SDK from tQAtsLtpc0oBIqRwC... to JRFUXSNXExcfjVYvA... (flutter/flutter#172189) 2025-07-15 [email protected] Roll Skia from fec78c0da2e6 to ab79199bd0f3 (4 revisions) (flutter/flutter#172186) 2025-07-15 [email protected] Allow a release without engine cherrypicks (adds fallback logic) (flutter/flutter#172184) 2025-07-15 [email protected] [skia] Add missing param to makeRasterImage calls (flutter/flutter#172122) 2025-07-15 [email protected] [Android] remove obsolete gradle api in FGP (flutter/flutter#172085) 2025-07-15 [email protected] Roll Skia from 8ffff8c8e01b to fec78c0da2e6 (6 revisions) (flutter/flutter#172178) 2025-07-15 [email protected] Roll Skia from 2f4ad5d83704 to 8ffff8c8e01b (7 revisions) (flutter/flutter#172169) 2025-07-15 [email protected] Roll Dart SDK to 3.9.0-333.2.beta (flutter/flutter#172167) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This was referenced Aug 2, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Aug 14, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Aug 14, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Aug 15, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Aug 15, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Aug 16, 2025
ksokolovskyi
pushed a commit
to ksokolovskyi/flutter
that referenced
this pull request
Aug 19, 2025
fixes flutter#170791 This PR replaces the deprecated (and removed in 9.0) Gradle fileMode API in favor of filePermissions. This change finally unlocks builds with gradle 9 (confirmed in smoke tests, 9.0.0-rc.2 is the latest prerelease version to the date). **Testing strategy** There's an attempt to add a Kotlin unit test that confirms that `filePermissions` were called during plugin application. I failed to find a more precise way to check if the new code works as intended (such as testing that permissions were really changed or something like that), but on the other hand, it should not be required since it will transform the test in a way that it will start to test Gradle APIs and their behavior, and I believe it's a bit out of scope: Gradle APIs are tested in Gradle tests :) Anyway, this new test is a bit cumbersome because it's required to mock all the behaviours related to variants configuration and capturing calls – If it is not desired im not hesitant to remove it. <!-- Thanks for filing a pull request! Reviewers are typically assigned within a week of filing a request. To learn more about code review, see our documentation on Tree Hygiene: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md --> ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
mboetger
pushed a commit
to mboetger/flutter
that referenced
this pull request
Sep 18, 2025
fixes flutter#170791 This PR replaces the deprecated (and removed in 9.0) Gradle fileMode API in favor of filePermissions. This change finally unlocks builds with gradle 9 (confirmed in smoke tests, 9.0.0-rc.2 is the latest prerelease version to the date). **Testing strategy** There's an attempt to add a Kotlin unit test that confirms that `filePermissions` were called during plugin application. I failed to find a more precise way to check if the new code works as intended (such as testing that permissions were really changed or something like that), but on the other hand, it should not be required since it will transform the test in a way that it will start to test Gradle APIs and their behavior, and I believe it's a bit out of scope: Gradle APIs are tested in Gradle tests :) Anyway, this new test is a bit cumbersome because it's required to mock all the behaviours related to variants configuration and capturing calls – If it is not desired im not hesitant to remove it. <!-- Thanks for filing a pull request! Reviewers are typically assigned within a week of filing a request. To learn more about code review, see our documentation on Tree Hygiene: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md --> ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
lucaantonelli
pushed a commit
to lucaantonelli/flutter
that referenced
this pull request
Nov 21, 2025
fixes flutter#170791 This PR replaces the deprecated (and removed in 9.0) Gradle fileMode API in favor of filePermissions. This change finally unlocks builds with gradle 9 (confirmed in smoke tests, 9.0.0-rc.2 is the latest prerelease version to the date). **Testing strategy** There's an attempt to add a Kotlin unit test that confirms that `filePermissions` were called during plugin application. I failed to find a more precise way to check if the new code works as intended (such as testing that permissions were really changed or something like that), but on the other hand, it should not be required since it will transform the test in a way that it will start to test Gradle APIs and their behavior, and I believe it's a bit out of scope: Gradle APIs are tested in Gradle tests :) Anyway, this new test is a bit cumbersome because it's required to mock all the behaviours related to variants configuration and capturing calls – If it is not desired im not hesitant to remove it. <!-- Thanks for filing a pull request! Reviewers are typically assigned within a week of filing a request. To learn more about code review, see our documentation on Tree Hygiene: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md --> ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes #170791
This PR replaces the deprecated (and removed in 9.0) Gradle fileMode API in favor of filePermissions.
This change finally unlocks builds with gradle 9 (confirmed in smoke tests, 9.0.0-rc.2 is the latest prerelease version to the date).
Testing strategy
There's an attempt to add a Kotlin unit test that confirms that
filePermissionswere called during plugin application. I failed to find a more precise way to check if the new code works as intended (such as testing that permissions were really changed or something like that), but on the other hand, it should not be required since it will transform the test in a way that it will start to test Gradle APIs and their behavior, and I believe it's a bit out of scope: Gradle APIs are tested in Gradle tests :)Anyway, this new test is a bit cumbersome because it's required to mock all the behaviours related to variants configuration and capturing calls – If it is not desired im not hesitant to remove it.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.