-
Notifications
You must be signed in to change notification settings - Fork 28.7k
[FGP conversion] Port FlutterExtension
from Groovy to Kotlin
#165143
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
[FGP conversion] Port FlutterExtension
from Groovy to Kotlin
#165143
Conversation
|
||
// The default getter name that Kotlin creates conflicts with the above methods. | ||
@get:JvmName("getVersionCodeProperty") | ||
val versionCode: Int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In groovy the presence of a getVersionCode/getVersionName
allows the syntactic sugar flutter.versionCode/versionName
. You can read about this here
https://www.groovy-lang.org/objectorientation.html#properties
By convention, Groovy will recognize properties even if there is no backing field provided there are getters or setters that follow the Java Beans specification. For example:
class PseudoProperties {
// a pseudo property "name"
void setName(String name) {}
String getName() {}
// a pseudo read-only property "age"
int getAge() { 42 }
// a pseudo write-only property "groovy"
void setGroovy(boolean groovy) { }
}
def p = new PseudoProperties()
p.name = 'Foo' (1)
assert p.age == 42 (2)
p.groovy = true (3)
(1) writing p.name is allowed because there is a pseudo-property name
(2) reading p.age is allowed because there is a pseudo-readonly property age
(3) writing p.groovy is allowed because there is a pseudo-write-only property groovy
But then having a versionCode
property, a getter for that property, and also a getVersionCode
property causes an error because Kotlin implicitly names the getter getVersionCode
. So I'm renaming the generated getter name here, because it doesn't actually matter what it is (all that matters is that we have an equivalent for the syntactic sugar that Groovy was generating, i.e. referencing it as flutter.versionCode
).
packages/flutter_tools/gradle/src/test/kotlin/FlutterExtensionTest.kt
Outdated
Show resolved
Hide resolved
packages/flutter_tools/gradle/src/test/kotlin/FlutterExtensionTest.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post merge approval.
…#8922) Manual roll Flutter from b16430b2fd57 to 1d954f4e96bd (114 revisions) Manual roll requested by [email protected] flutter/flutter@b16430b...1d954f4 2025-03-17 [email protected] Revert "[skwasm] Dynamic Threading (#164748)" (flutter/flutter#165350) 2025-03-17 [email protected] Roll Skia from fa669e2e6d12 to 52130e5c3b34 (4 revisions) (flutter/flutter#165348) 2025-03-17 [email protected] `OverlayPortal.childLayoutBuilder` should rebuild when `OverlayPortal` rebuilds. (flutter/flutter#165331) 2025-03-17 [email protected] [web][a11y]Delete _childContainerElement (flutter/flutter#163662) 2025-03-17 [email protected] Roll Skia from e45207898e60 to fa669e2e6d12 (8 revisions) (flutter/flutter#165342) 2025-03-17 [email protected] Add documentation for Java test filtering to plugins test document (flutter/flutter#165314) 2025-03-17 [email protected] Roll Fuchsia Linux SDK from SDNQgVXxHbbd0qsVw... to mPniqXmPpXqMMpM8z... (flutter/flutter#165313) 2025-03-17 [email protected] Roll Dart SDK from 9283d47199b7 to 725172afbc42 (1 revision) (flutter/flutter#165310) 2025-03-17 [email protected] feat(Tooltip): replace the height parameter with constraints (flutter/flutter#163314) 2025-03-17 [email protected] Fix arrowHeadColor breaks differentiation between states (flutter/flutter#165178) 2025-03-17 [email protected] Removes assumption that basis scalar and rounded_scalar match (flutter/flutter#165166) 2025-03-17 [email protected] Roll Skia from 69cf4c2c5db8 to e45207898e60 (1 revision) (flutter/flutter#165300) 2025-03-17 [email protected] Refactor: Move sliders value indicator shape to seperate file (flutter/flutter#162858) 2025-03-17 [email protected] Roll Skia from 3931c31032c7 to 69cf4c2c5db8 (1 revision) (flutter/flutter#165288) 2025-03-17 [email protected] Delete `docs/infra/Infra-Ticket-Queue.md` (flutter/flutter#165258) 2025-03-16 [email protected] Roll Skia from 3413a02d6fc8 to 3931c31032c7 (1 revision) (flutter/flutter#165277) 2025-03-16 [email protected] Roll Fuchsia Linux SDK from LPz5j18JDsms41r3T... to SDNQgVXxHbbd0qsVw... (flutter/flutter#165275) 2025-03-16 [email protected] Roll Dart SDK from 067560bcd521 to 9283d47199b7 (1 revision) (flutter/flutter#165269) 2025-03-16 [email protected] Roll Skia from f124daeb564d to 3413a02d6fc8 (1 revision) (flutter/flutter#165263) 2025-03-15 [email protected] Roll Dart SDK from 40bb66a945e4 to 067560bcd521 (1 revision) (flutter/flutter#165262) 2025-03-15 [email protected] Roll Fuchsia Linux SDK from efdpJgW4DIV6j1mO1... to LPz5j18JDsms41r3T... (flutter/flutter#165252) 2025-03-15 [email protected] Roll Dart SDK from f23d496f0585 to 40bb66a945e4 (1 revision) (flutter/flutter#165250) 2025-03-15 [email protected] Roll Dart SDK from 8814749ec6a4 to f23d496f0585 (1 revision) (flutter/flutter#165246) 2025-03-15 [email protected] Roll Skia from 4568e766ed0a to f124daeb564d (1 revision) (flutter/flutter#165245) 2025-03-15 [email protected] Revert "Prevent explicit roles from merging (#164732)" (flutter/flutter#165222) 2025-03-15 [email protected] Roll Skia from bac6e76abfc7 to 4568e766ed0a (5 revisions) (flutter/flutter#165241) 2025-03-14 [email protected] Roll Dart SDK from a51f1bfa0f6a to 8814749ec6a4 (2 revisions) (flutter/flutter#165227) 2025-03-14 [email protected] Roll Skia from 98b6922deecf to bac6e76abfc7 (5 revisions) (flutter/flutter#165225) 2025-03-14 [email protected] Point ktlint AS docs to the `.editorconfig` that is actually used by ci, instead of making a copy in the README (flutter/flutter#165213) 2025-03-14 [email protected] Add remaining dart fixes for Color deprecations when importing painting.dart (flutter/flutter#162609) 2025-03-14 [email protected] [Accessibility] Add required semantics flags (flutter/flutter#164585) 2025-03-14 [email protected] Roll Skia from f4467ff38f1f to 98b6922deecf (5 revisions) (flutter/flutter#165215) 2025-03-14 [email protected] Convert `BaseFlutterTask` From Groovy to Kotlin (flutter/flutter#163148) 2025-03-14 [email protected] `OverlayPortal.overlayChildLayoutBuilder` (flutter/flutter#164034) 2025-03-14 [email protected] Remove redundant `useMaterial3: true` (flutter/flutter#163376) 2025-03-14 [email protected] Roll Packages from 9cc6f37 to ff7724c (1 revision) (flutter/flutter#165197) 2025-03-14 [email protected] Changelog updates from 3.29.2 (flutter/flutter#165194) 2025-03-14 [email protected] Roll Dart SDK from 576514b2bfce to a51f1bfa0f6a (1 revision) (flutter/flutter#165191) 2025-03-14 [email protected] Roll Dart SDK from ceb58442306e to 576514b2bfce (2 revisions) (flutter/flutter#165180) 2025-03-14 [email protected] Roll Fuchsia Linux SDK from qXOLczyRJadxMW0PK... to efdpJgW4DIV6j1mO1... (flutter/flutter#165175) 2025-03-14 [email protected] [Impeller] Enable mediatek on API 34+. (flutter/flutter#165156) 2025-03-14 [email protected] Roll Dart SDK from cd06d4ba4fec to ceb58442306e (5 revisions) (flutter/flutter#165159) 2025-03-13 [email protected] [FGP conversion] Port `FlutterExtension` from Groovy to Kotlin (flutter/flutter#165143) 2025-03-13 [email protected] Prevent explicit roles from merging (flutter/flutter#164732) ...
…8922) Manual roll Flutter from b16430b to 1d954f4 (114 revisions) Manual roll requested by [email protected] flutter/flutter@b16430b...1d954f4 2025-03-17 [email protected] Revert "[skwasm] Dynamic Threading (#164748)" (flutter/flutter#165350) 2025-03-17 [email protected] Roll Skia from fa669e2e6d12 to 52130e5c3b34 (4 revisions) (flutter/flutter#165348) 2025-03-17 [email protected] `OverlayPortal.childLayoutBuilder` should rebuild when `OverlayPortal` rebuilds. (flutter/flutter#165331) 2025-03-17 [email protected] [web][a11y]Delete _childContainerElement (flutter/flutter#163662) 2025-03-17 [email protected] Roll Skia from e45207898e60 to fa669e2e6d12 (8 revisions) (flutter/flutter#165342) 2025-03-17 [email protected] Add documentation for Java test filtering to plugins test document (flutter/flutter#165314) 2025-03-17 [email protected] Roll Fuchsia Linux SDK from SDNQgVXxHbbd0qsVw... to mPniqXmPpXqMMpM8z... (flutter/flutter#165313) 2025-03-17 [email protected] Roll Dart SDK from 9283d47199b7 to 725172afbc42 (1 revision) (flutter/flutter#165310) 2025-03-17 [email protected] feat(Tooltip): replace the height parameter with constraints (flutter/flutter#163314) 2025-03-17 [email protected] Fix arrowHeadColor breaks differentiation between states (flutter/flutter#165178) 2025-03-17 [email protected] Removes assumption that basis scalar and rounded_scalar match (flutter/flutter#165166) 2025-03-17 [email protected] Roll Skia from 69cf4c2c5db8 to e45207898e60 (1 revision) (flutter/flutter#165300) 2025-03-17 [email protected] Refactor: Move sliders value indicator shape to seperate file (flutter/flutter#162858) 2025-03-17 [email protected] Roll Skia from 3931c31032c7 to 69cf4c2c5db8 (1 revision) (flutter/flutter#165288) 2025-03-17 [email protected] Delete `docs/infra/Infra-Ticket-Queue.md` (flutter/flutter#165258) 2025-03-16 [email protected] Roll Skia from 3413a02d6fc8 to 3931c31032c7 (1 revision) (flutter/flutter#165277) 2025-03-16 [email protected] Roll Fuchsia Linux SDK from LPz5j18JDsms41r3T... to SDNQgVXxHbbd0qsVw... (flutter/flutter#165275) 2025-03-16 [email protected] Roll Dart SDK from 067560bcd521 to 9283d47199b7 (1 revision) (flutter/flutter#165269) 2025-03-16 [email protected] Roll Skia from f124daeb564d to 3413a02d6fc8 (1 revision) (flutter/flutter#165263) 2025-03-15 [email protected] Roll Dart SDK from 40bb66a945e4 to 067560bcd521 (1 revision) (flutter/flutter#165262) 2025-03-15 [email protected] Roll Fuchsia Linux SDK from efdpJgW4DIV6j1mO1... to LPz5j18JDsms41r3T... (flutter/flutter#165252) 2025-03-15 [email protected] Roll Dart SDK from f23d496f0585 to 40bb66a945e4 (1 revision) (flutter/flutter#165250) 2025-03-15 [email protected] Roll Dart SDK from 8814749ec6a4 to f23d496f0585 (1 revision) (flutter/flutter#165246) 2025-03-15 [email protected] Roll Skia from 4568e766ed0a to f124daeb564d (1 revision) (flutter/flutter#165245) 2025-03-15 [email protected] Revert "Prevent explicit roles from merging (#164732)" (flutter/flutter#165222) 2025-03-15 [email protected] Roll Skia from bac6e76abfc7 to 4568e766ed0a (5 revisions) (flutter/flutter#165241) 2025-03-14 [email protected] Roll Dart SDK from a51f1bfa0f6a to 8814749ec6a4 (2 revisions) (flutter/flutter#165227) 2025-03-14 [email protected] Roll Skia from 98b6922deecf to bac6e76abfc7 (5 revisions) (flutter/flutter#165225) 2025-03-14 [email protected] Point ktlint AS docs to the `.editorconfig` that is actually used by ci, instead of making a copy in the README (flutter/flutter#165213) 2025-03-14 [email protected] Add remaining dart fixes for Color deprecations when importing painting.dart (flutter/flutter#162609) 2025-03-14 [email protected] [Accessibility] Add required semantics flags (flutter/flutter#164585) 2025-03-14 [email protected] Roll Skia from f4467ff38f1f to 98b6922deecf (5 revisions) (flutter/flutter#165215) 2025-03-14 [email protected] Convert `BaseFlutterTask` From Groovy to Kotlin (flutter/flutter#163148) 2025-03-14 [email protected] `OverlayPortal.overlayChildLayoutBuilder` (flutter/flutter#164034) 2025-03-14 [email protected] Remove redundant `useMaterial3: true` (flutter/flutter#163376) 2025-03-14 [email protected] Roll Packages from 9cc6f37 to ff7724c (1 revision) (flutter/flutter#165197) 2025-03-14 [email protected] Changelog updates from 3.29.2 (flutter/flutter#165194) 2025-03-14 [email protected] Roll Dart SDK from 576514b2bfce to a51f1bfa0f6a (1 revision) (flutter/flutter#165191) 2025-03-14 [email protected] Roll Dart SDK from ceb58442306e to 576514b2bfce (2 revisions) (flutter/flutter#165180) 2025-03-14 [email protected] Roll Fuchsia Linux SDK from qXOLczyRJadxMW0PK... to efdpJgW4DIV6j1mO1... (flutter/flutter#165175) 2025-03-14 [email protected] [Impeller] Enable mediatek on API 34+. (flutter/flutter#165156) 2025-03-14 [email protected] Roll Dart SDK from cd06d4ba4fec to ceb58442306e (5 revisions) (flutter/flutter#165159) 2025-03-13 [email protected] [FGP conversion] Port `FlutterExtension` from Groovy to Kotlin (flutter/flutter#165143) 2025-03-13 [email protected] Prevent explicit roles from merging (flutter/flutter#164732) ...
… (#8922) Manual roll Flutter from b16430b2fd57 to 1d954f4e96bd (114 revisions) Manual roll requested by [email protected] flutter/flutter@b16430b...1d954f4 2025-03-17 [email protected] Revert "[skwasm] Dynamic Threading (#164748)" (flutter/flutter#165350) 2025-03-17 [email protected] Roll Skia from fa669e2e6d12 to 52130e5c3b34 (4 revisions) (flutter/flutter#165348) 2025-03-17 [email protected] `OverlayPortal.childLayoutBuilder` should rebuild when `OverlayPortal` rebuilds. (flutter/flutter#165331) 2025-03-17 [email protected] [web][a11y]Delete _childContainerElement (flutter/flutter#163662) 2025-03-17 [email protected] Roll Skia from e45207898e60 to fa669e2e6d12 (8 revisions) (flutter/flutter#165342) 2025-03-17 [email protected] Add documentation for Java test filtering to plugins test document (flutter/flutter#165314) 2025-03-17 [email protected] Roll Fuchsia Linux SDK from SDNQgVXxHbbd0qsVw... to mPniqXmPpXqMMpM8z... (flutter/flutter#165313) 2025-03-17 [email protected] Roll Dart SDK from 9283d47199b7 to 725172afbc42 (1 revision) (flutter/flutter#165310) 2025-03-17 [email protected] feat(Tooltip): replace the height parameter with constraints (flutter/flutter#163314) 2025-03-17 [email protected] Fix arrowHeadColor breaks differentiation between states (flutter/flutter#165178) 2025-03-17 [email protected] Removes assumption that basis scalar and rounded_scalar match (flutter/flutter#165166) 2025-03-17 [email protected] Roll Skia from 69cf4c2c5db8 to e45207898e60 (1 revision) (flutter/flutter#165300) 2025-03-17 [email protected] Refactor: Move sliders value indicator shape to seperate file (flutter/flutter#162858) 2025-03-17 [email protected] Roll Skia from 3931c31032c7 to 69cf4c2c5db8 (1 revision) (flutter/flutter#165288) 2025-03-17 [email protected] Delete `docs/infra/Infra-Ticket-Queue.md` (flutter/flutter#165258) 2025-03-16 [email protected] Roll Skia from 3413a02d6fc8 to 3931c31032c7 (1 revision) (flutter/flutter#165277) 2025-03-16 [email protected] Roll Fuchsia Linux SDK from LPz5j18JDsms41r3T... to SDNQgVXxHbbd0qsVw... (flutter/flutter#165275) 2025-03-16 [email protected] Roll Dart SDK from 067560bcd521 to 9283d47199b7 (1 revision) (flutter/flutter#165269) 2025-03-16 [email protected] Roll Skia from f124daeb564d to 3413a02d6fc8 (1 revision) (flutter/flutter#165263) 2025-03-15 [email protected] Roll Dart SDK from 40bb66a945e4 to 067560bcd521 (1 revision) (flutter/flutter#165262) 2025-03-15 [email protected] Roll Fuchsia Linux SDK from efdpJgW4DIV6j1mO1... to LPz5j18JDsms41r3T... (flutter/flutter#165252) 2025-03-15 [email protected] Roll Dart SDK from f23d496f0585 to 40bb66a945e4 (1 revision) (flutter/flutter#165250) 2025-03-15 [email protected] Roll Dart SDK from 8814749ec6a4 to f23d496f0585 (1 revision) (flutter/flutter#165246) 2025-03-15 [email protected] Roll Skia from 4568e766ed0a to f124daeb564d (1 revision) (flutter/flutter#165245) 2025-03-15 [email protected] Revert "Prevent explicit roles from merging (#164732)" (flutter/flutter#165222) 2025-03-15 [email protected] Roll Skia from bac6e76abfc7 to 4568e766ed0a (5 revisions) (flutter/flutter#165241) 2025-03-14 [email protected] Roll Dart SDK from a51f1bfa0f6a to 8814749ec6a4 (2 revisions) (flutter/flutter#165227) 2025-03-14 [email protected] Roll Skia from 98b6922deecf to bac6e76abfc7 (5 revisions) (flutter/flutter#165225) 2025-03-14 [email protected] Point ktlint AS docs to the `.editorconfig` that is actually used by ci, instead of making a copy in the README (flutter/flutter#165213) 2025-03-14 [email protected] Add remaining dart fixes for Color deprecations when importing painting.dart (flutter/flutter#162609) 2025-03-14 [email protected] [Accessibility] Add required semantics flags (flutter/flutter#164585) 2025-03-14 [email protected] Roll Skia from f4467ff38f1f to 98b6922deecf (5 revisions) (flutter/flutter#165215) 2025-03-14 [email protected] Convert `BaseFlutterTask` From Groovy to Kotlin (flutter/flutter#163148) 2025-03-14 [email protected] `OverlayPortal.overlayChildLayoutBuilder` (flutter/flutter#164034) 2025-03-14 [email protected] Remove redundant `useMaterial3: true` (flutter/flutter#163376) 2025-03-14 [email protected] Roll Packages from bdb9c96 to d632936 (1 revision) (flutter/flutter#165197) 2025-03-14 [email protected] Changelog updates from 3.29.2 (flutter/flutter#165194) 2025-03-14 [email protected] Roll Dart SDK from 576514b2bfce to a51f1bfa0f6a (1 revision) (flutter/flutter#165191) 2025-03-14 [email protected] Roll Dart SDK from ceb58442306e to 576514b2bfce (2 revisions) (flutter/flutter#165180) 2025-03-14 [email protected] Roll Fuchsia Linux SDK from qXOLczyRJadxMW0PK... to efdpJgW4DIV6j1mO1... (flutter/flutter#165175) 2025-03-14 [email protected] [Impeller] Enable mediatek on API 34+. (flutter/flutter#165156) 2025-03-14 [email protected] Roll Dart SDK from cd06d4ba4fec to ceb58442306e (5 revisions) (flutter/flutter#165159) 2025-03-13 [email protected] [FGP conversion] Port `FlutterExtension` from Groovy to Kotlin (flutter/flutter#165143) 2025-03-13 [email protected] Prevent explicit roles from merging (flutter/flutter#164732) ...
Ports
FlutterExtension
from groovy to kotlin.Fixes #162105
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.