tree 33955223f612da27a22d3865993a5cd22de1d2a9
parent 249f25a74ed94266db57b2efaf47b9ba729ae91d
author Victoria Ashworth <15619084+vashworth@users.noreply.github.com> 1775158905 -0500
committer GitHub <noreply@github.com> 1775158905 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpzs6mCRC1aQ7uu5UhlAAADEQQAFHojPoV3ksgrn1Ku5OzsgJG
 OaGIqFTDQCreDZhixk/zDSpfRtsqt7Bh3viWyGykogNt4Ww1ZAMhqmlPldf/sDOP
 rcmO0ikxXMQ3oSo9IDuW8RIsPkktdxUgzGlPAky6V4l6zFQMoyshTXf12P44nusj
 14tS9H0l4C52wwey/Oo7XJr/m3PYkcJfBMiYYk5MvfmYMlIR8OxXTbHsKV5bGooV
 JeMVkfH70nC7pV1HM0Hh8bY1ps+gf3s8TEqZZIo2RVwpuxz0Kcrh0LVptbVGVGZn
 ml2UUSOhHLl1oHPWM3rFH8joPsaPMiwJzj4vB/Moo+qGQZuMBtPDI3YbwUBQW/hw
 3Fr/Scs3OgsCFogBtTirEcXVfqcBaNqqwBBSTI3bpu7477MNmucSxawjlXjLBLRY
 3EC+0x+2/uXkhlSXZTTobIeJ/Xa9+KnJEtzL+7BIWELTcZq0sQwTzmJgqbYZ8deZ
 Jt+6Vs/VLGHZSW32EqZ3FRHi+TsC8anXfIYq9SYO2ierK82Bwp6RPvpq2CALKQdp
 cKz387ABhwuH3kX7J8jaeFHrW08VHihQx8NZrl0yYSH18taKaPijc8CKokBIVsJf
 IKDX7j4qWdr/7NvI0exadUuxcD5L3+XT6P5Lt9lPy3+fIjp2pVv+Euw+7djmOAUg
 f2yyDB575R8oymsPEqGK
 =XoWt
 -----END PGP SIGNATURE-----
 

Add plugin version to SwiftPM package symlink directory (#183668)

SwiftPM caches package's Package.swift manifest in
`$HOME/Library/Caches/org.swift.swiftpm/manifests`. Due to this caching,
when pub changes versions, SwiftPM doesn't always detect the
Package.manifest has changed.

This PR changes the symlink directory to use the plugin's directory
basename, which has the version in it:

```diff
- .packages/plugin_a -> /$HOME/.pub-cache/hosted/pub.dev/plugin_a-1.0.0/ios/plugin_a
+ .packages/plugin_a-1.0.0 -> /$HOME/.pub-cache/hosted/pub.dev/plugin_a-1.0.0/ios/plugin_a
```

This forces Xcode to re-cache the manifest.

This also refactors a few places we fetch plugins by saving them to the
project rather than re-finding them each time. This is currently limited
to the `XcodeBasedProject`.

Fixes https://github.com/flutter/flutter/issues/182099
Fixes https://github.com/flutter/flutter/issues/183226

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [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.

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](https://developers.google.com/gemini-code-assist/docs/review-github-code).
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.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[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