Skip to content

Conversation

@jesswrd
Copy link
Contributor

@jesswrd jesswrd commented Oct 29, 2025

Updated the Gradle version formatting validation with a stricter regex. Previously passed on invalid versions.

Pre-Review Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2 3

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the Gradle version validation to use a more specific regular expression and provides a more detailed error message for invalid formats. The corresponding tests have been improved to cover more invalid version scenarios. While these changes are good, a new constant agpForExamples has been added but is not used anywhere in the command's logic, which should be addressed.

@jesswrd jesswrd changed the title update gradle regex format validation Update Gradle Version Formatting Validation Oct 29, 2025
@jesswrd jesswrd requested a review from a team October 30, 2025 17:46
'A version with a valid format (maximum 2-3 numbers separated by period) must be provided.');
printError('''
A version with a valid format (maximum 2-3 numbers separated by 1-2 periods) must be provided.
1. The first number must have a single digit
Copy link
Member

Choose a reason for hiding this comment

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

I think the other conditions are reasonable, but I think given that we are currently on gradle 9 we may come to regret implementing this first condition. I think we should wait till the release after gradle 9 to see where they go with version numbering to avoid shooting ourselves in the foot here.

Also, I don't know the history of this code, but is there a reason we don't allow release candidates here? Fixing this wouldn't be blocking (as the old regex doesn't allow it either, so this is an improvement regardless), but for ex 9.1.0-rc-4 is indeed a valid gradle version, though neither regex here considers it so.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I realize we are on Gradle 9 now and Gradle 10 would probably break that first condition. I can just make the change now to allow for 1-2 digits. I originally figured that the change could be made once Gradle 10 actually rolled around.

As for release candidates—I think the main use case of update_dependency_command is to give us on the Android team an easy way of bulk updating android dependencies in packages whenever the flutter/flutter templates get updated. I don't think we really use release candidates versioning for templates?

Copy link
Member

Choose a reason for hiding this comment

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

I think the main use case of update_dependency_command is to give us on the Android team an easy way of bulk updating android dependencies in packages whenever the flutter/flutter templates get updated. I don't think we really use release candidates versioning for templates?

I was not familiar with this command/tool but that makes sense

@jesswrd jesswrd added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 7, 2025
@auto-submit auto-submit bot merged commit f9b6795 into flutter:main Nov 7, 2025
80 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 10, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 10, 2025
flutter/packages@3caa48b...4cec230

2025-11-08 [email protected] [google_maps_flutter] Replace
deprecated methods (flutter/packages#10377)
2025-11-08 [email protected] [file_selector] Remove use of
Pigeon's Dart test generator (flutter/packages#10315)
2025-11-07 [email protected] Update Gradle Version Formatting
Validation (flutter/packages#10326)

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-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
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
@jesswrd jesswrd deleted the fix-gradle-regex branch November 11, 2025 01:17
IvoneDjaja pushed a commit to IvoneDjaja/flutter that referenced this pull request Nov 22, 2025
flutter/packages@3caa48b...4cec230

2025-11-08 [email protected] [google_maps_flutter] Replace
deprecated methods (flutter/packages#10377)
2025-11-08 [email protected] [file_selector] Remove use of
Pigeon's Dart test generator (flutter/packages#10315)
2025-11-07 [email protected] Update Gradle Version Formatting
Validation (flutter/packages#10326)

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-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
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
mboetger pushed a commit to mboetger/flutter that referenced this pull request Dec 2, 2025
flutter/packages@3caa48b...4cec230

2025-11-08 [email protected] [google_maps_flutter] Replace
deprecated methods (flutter/packages#10377)
2025-11-08 [email protected] [file_selector] Remove use of
Pigeon's Dart test generator (flutter/packages#10315)
2025-11-07 [email protected] Update Gradle Version Formatting
Validation (flutter/packages#10326)

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-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
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
reidbaker pushed a commit to AbdeMohlbi/flutter that referenced this pull request Dec 10, 2025
flutter/packages@3caa48b...4cec230

2025-11-08 [email protected] [google_maps_flutter] Replace
deprecated methods (flutter/packages#10377)
2025-11-08 [email protected] [file_selector] Remove use of
Pigeon's Dart test generator (flutter/packages#10315)
2025-11-07 [email protected] Update Gradle Version Formatting
Validation (flutter/packages#10326)

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-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants