tree 14d799b727f6a3848bddeee6aa1dd37aeef2bbe6
parent d203008741231b2841c119013198e8f371c19da3
author Reid Baker <1063596+reidbaker@users.noreply.github.com> 1744993928 +0000
committer GitHub <noreply@github.com> 1744993928 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoAn6YCRC1aQ7uu5UhlAAAeQgQAKmhKdzM7i/l5FPAsWugHEwY
 3WkgrgGiDP5MXcD9NurhkvP/X2mq117/4+IZ0YsDg4+pR3I5oQP2hQa1s1BhoNSS
 V9IeTCE+4Z5izEOKKe1SzXno6GR8QjAGpf++O5UukpfWu3qFXG3cnT2o307gZ2XJ
 BACO1HLX+V36Ots7Z+v18krpAscrs0xiABsSu7mFFhm5QY4RPrc+xbu7H7GeTT6K
 9+SvbTFZICvHwvpUBbJCkBUNtQLM2ww/63M8XyiFjhz4QOau9+RFm2mSdDPJ9ft9
 XzloJvVd0W/0CLq368f74SRegE7KDtcWC1ID6pgJSekN0+wSg3x70TALOraKVbsr
 +azfGmn7mNJPzDvEZYjOEvlHATQ1Wy3Fy7WGO2H7eG4n5uAl/czYFSkWMiyZA3ej
 7Pve8aMo2fJbKxIrHlB9zsndqWWMbJeY0B9u6sSX5ABWzsl98GmvOyKxSoz45ZKj
 UKF/MTNnXkcG4Qm5Fpm1g/C+q9WAxUk5tzrbQWmuJuQVVijcsRdFEBWxSimektoA
 Uo36TEDNSYohunkcwPsZpOMNeclGogT8IzyQDARYZ2CYSC2Q7eTcWfUnev7ev2jO
 tegqNeToy699in/ry2PlhzvON3dXLpTAM64qpFj5BFlbGMAYtyKLZJwn1ASmjzvQ
 L7ULC7/YpsPK+OK57LnH
 =OESz
 -----END PGP SIGNATURE-----
 

Add kotlin compatability to build file validation (#167143)

Fixes https://github.com/flutter/flutter/issues/161443 

* adds a new gradle task like `javaVersion` named `kgpVersion` that
prints the version of kgp.
* adds gradle_utils.dart method for getting kgp version
* * kgp method is moved to utilities and we attempt to use a plugin
method before reflection.
* adds methods or  evaluating KGP + gradle and KGP + AGP compatibility. 
* * It turns out that we have been using incompatible versions that
happen to work with the subset of kotlin we are using.
* Uses new kgp methods in flutter analyze --suggestions as part of the
existing agp/java/gradle compatibility matrix.
* adds new tests for all new functionality
* Adds comments to sections of the code I found could use them. 
* Modifies flutter gallery to use a compatible version of kotlin and
update its lockfiles.


## 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.