mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
![]() **PR Title:** Remove block and line comments when detecting `'.flutter-plugins'` in `settings.gradle` --- **Description:** This PR modifies the `configureLegacyPluginEachProjects` function to remove block (`/* ... */`) and line (`// ...`) comments from the `settings.gradle` or `settings.gradle.kts` file content before checking for the presence of the `'.flutter-plugins'` string. This ensures that only uncommented, meaningful code is considered during the detection, preventing false positives when the string appears within comments. **Why is this change necessary?** In some cases, the `'.flutter-plugins'` string may be present inside comments in the `settings.gradle` file. The existing implementation does not account for this and may incorrectly detect the string even when it's commented out. This can lead to unintended behavior, such as configuring plugin projects when it is not necessary. By removing comments before performing the check, we prevent false positives and ensure that the detection logic is accurate, only acting when the `'.flutter-plugins'` string is present in active code. **Changes Made:** - **Added comment removal logic:** - Removed block comments (`/* ... */`) using the regular expression `/(?s)\/\*.*?\*\//`. - The `(?s)` flag enables dot-all mode, allowing `.` to match newline characters. - Removed line comments (`// ...`) using the regular expression `/(?m)\/\/.*$`. - The `(?m)` flag enables multi-line mode, so `^` and `$` match the start and end of each line. - Combined both comment removal steps into a single chain for efficiency. - **Updated the string detection:** - The check for `'.flutter-plugins'` is now performed on the uncommented content of the `settings.gradle` file. - This ensures that only meaningful, uncommented code is considered during detection. **Issue Fixed:** - Fixes [#155484](https://github.com/flutter/flutter/issues/155484) --- --- If you need any further assistance or have questions, feel free to reach out! --- **Links:** - [Contributor Guide] - [Tree Hygiene] - [Flutter Style Guide] - [Features we expect every widget to implement] - [CLA] - [flutter/tests] - [breaking change policy] - [Discord] - [Data Driven Fixes] |
||
---|---|---|
.. | ||
src/main | ||
.dartignore | ||
aar_init_script.gradle | ||
app_plugin_loader.gradle | ||
build.gradle.kts | ||
flutter_proguard_rules.pro | ||
flutter.gradle | ||
manual_migration_settings.gradle.md | ||
module_plugin_loader.gradle | ||
resolve_dependencies.gradle | ||
settings_aar.gradle.tmpl | ||
settings.gradle.kts |