From 1a6eada8593d7ac546d7ce7304a731401a459115 Mon Sep 17 00:00:00 2001 From: Mohellebi abdessalem Date: Fri, 6 Dec 2024 22:29:17 +0100 Subject: [PATCH] fix failing lint : `findByPath` requires a specific ordering of project evaluation in `flutter.groovy` (#159296) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix failing lint : `'findByPath' requires a specific ordering of project evaluation` ![Capture d’écran 2024-11-21 230157](https://github.com/user-attachments/assets/61ab84da-4941-4aa4-a42e-fac4c140f4bd) ![Capture d’écran 2024-11-21 230245](https://github.com/user-attachments/assets/417563b7-0416-47bd-9f02-6778d37893ef) ## 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]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [ ] 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]. [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 --------- Co-authored-by: Reid Baker --- .../gradle/src/main/groovy/flutter.groovy | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy b/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy index f12a3b3555..dfec35b704 100644 --- a/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy +++ b/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy @@ -1259,8 +1259,18 @@ class FlutterPlugin implements Plugin { boolean isBuildingAar = project.hasProperty("is-plugin") // In add to app scenarios, a Gradle project contains a `:flutter` and `:app` project. // `:flutter` is used as a subproject when these tasks exists and the build isn't building an AAR. - Task packageAssets = project.tasks.findByPath(":flutter:package${variant.name.capitalize()}Assets") - Task cleanPackageAssets = project.tasks.findByPath(":flutter:cleanPackage${variant.name.capitalize()}Assets") + Task packageAssets + Task cleanPackageAssets + try { + packageAssets = project.tasks.named("package${variant.name.capitalize()}Assets").get() + } catch (UnknownTaskException ignored) { + packageAssets = null + } + try { + cleanPackageAssets = project.tasks.named("cleanPackage${variant.name.capitalize()}Assets").get() + } catch (UnknownTaskException ignored) { + cleanPackageAssets = null + } boolean isUsedAsSubproject = packageAssets && cleanPackageAssets && !isBuildingAar String variantBuildMode = buildModeFor(variant.buildType)