493 Commits

Author SHA1 Message Date
68ccd8c152 [various] Unpin some dev dependencies (#7762)
Several dev dependencies, most notably mockito, were only allow as exactly pinned versions, in order to avoid out-of-band breakage due to deprecations in minor version updates. Now that the policy for Flutter repos has changed to not include deprecation warnings in analysis, this is no longer an issue, so we can relax these dependencies to follow the more normal pattern of using ranges.
2024-10-02 19:06:20 +00:00
21d99dcc16 [various] Adds macOS privacy manifests (#7687)
macOS privacy manifest enforcement is rolling out soon, so this brings all macOS plugins into alignment with our iOS policy of always having a manifest, including updating the repo tooling to enforce that.

Very few plugins are affected because most share the implementation package with iOS, and we didn't do any target platform switching when adding the manifests for iOS, automatically covering macOS as well.

Fixes https://github.com/flutter/flutter/issues/155564
2024-09-24 01:16:06 +00:00
c9c0004301 [pigeon] Kotlin implementation for ProxyApis (#6371)
Kotlin portion of https://github.com/flutter/flutter/issues/134777
2024-08-30 03:44:34 +00:00
06f38ba878 Increase deprecation check minimum to iOS 14 and macOS 13 (#7431)
Bump Xcode analyze minimum check version iOS 13 -> iOS 14 and macOS 12.3 -> macOS 13.

- Hit StoreKit2 deprecations. Exclude `in_app_purchase_storekit` to work around StoreKit 1 deprecation warnings.  Added a TODO to remove the exclusion when StoreKit2 is adopted (this should happen in the next few weeks) https://github.com/flutter/flutter/issues/116383.
- Hit https://github.com/flutter/flutter/issues/153587, fixed in https://github.com/flutter/packages/pull/7513
- Hit https://github.com/flutter/flutter/issues/125901 which was `#pragma`'d out in https://github.com/flutter/packages/pull/6221

See related https://github.com/flutter/plugins/pull/5778 and https://github.com/flutter/flutter/issues/102835
2024-08-29 18:01:02 +00:00
b39fc07f44 [script] Remove unnecessary breaks in default clauses of switch statements (#7469)
See
https://dart.googlesource.com/sdk.git/+/045d26bc74209f5acc6466669f89686344e83de2
2024-08-21 13:49:10 -04:00
9cc09f13d0 [Many] Bump AGP to 8.5.1 and gradle to 8.7 (#7432)
Upgrades all AGP versions less than 8 to latest. The primary motivation is to prepare for https://github.com/flutter/flutter/issues/136879#issuecomment-2292073921, which requires that plugins use a non-7.3 version. We believe it only affects version 7.3 - I'm going to test this, but am not sure the exact range yet and updating is independently valuable, so I just updated all pre 8 versions (it doesn't affect 8+).

Also:
- Upgrades Gradle versions as required
- Marks the use of `Camera2Interop` with `@OptIn`, as it is required by the newer AGP version.
- Changes the Camerax example java directory path to align with the package xml attribute/AGP namespace attribute.
- Sets `android.buildFeatures.buildConfig` to true for compatibility with AGP 8.0+ in some places.
- Sets `exported=true` in a manifest, requires for AGP bump.
- Updates espresso in some examples, required by the AGP bump (0.2.0 isn't compatible with AGP 8.0+).

Also related to https://github.com/flutter/flutter/issues/146660
2024-08-20 19:02:09 +00:00
5cc0a01601 [ci] Update repository for the release of Flutter 3.24 (#7331)
Updates the repo for 3.24 per https://github.com/flutter/flutter/blob/master/docs/ecosystem/release/Updating-Packages-repo-for-a-stable-release.md

Also fixes some packages to list 3.22 as their minimum version, which hadn't already been done only because we were not previously doing the N-1 test for 3.19 as intended, so didn't notice cases where a package claimed 3.19 support but required a 3.22+ dependency.
2024-08-07 17:36:03 +00:00
cfbcc94f3c [camera_web] Migrate to package:web (#7012)
Fixes https://github.com/flutter/flutter/issues/139748

Notes:
- Some fields are no longer nullable in `package:web`. We need to decide if we want to make them nullable again.
2024-08-06 04:43:50 +00:00
1520ffb564 [go_router_builder] Fixes readme typos and uses code excerpts. (#7280)
as title

should clear go_router_builder from the list, since only readme has code example https://github.com/flutter/flutter/issues/102679
2024-08-06 01:54:52 +00:00
cc9ff47058 [tool] Add note about clang version used in CI to tool readme (#7273)
This repo uses clang 15 to format files. Newer versions of clang format code differently. This PR adds a note to the tool README about this and adds sample instructions for how to install clang 15 on macOS. We might want to add instructions for other platforms.

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

Additional context
- https://github.com/flutter/packages/pull/7267
- https://github.com/flutter/packages/pull/7271
2024-08-02 13:05:24 +00:00
3ad6fb81f3 [ci] Re-enable google_maps_flutter_web integration tests. (#7269)
Attempt to re-enable integration tests on the `google_maps_flutter_web` package, post-package:web migration, see what happens.

Part of: https://github.com/flutter/packages/pull/7087
2024-08-02 01:24:07 +00:00
f8fbcdbe95 [ci] version_check_command now checks markdown of first CHANGELOG line. (#7266)
This PR:

* Modifies the `version_check_command` test so it checks the leading markdown of the first line of a CHANGELOG file, to ensure it's `'##'`.
* Fixes the CHANGELOG in two packages that were allowed by the tool before this fix:
  * google_maps_flutter_web
  * interactive_media_ads

## Issues

Fixes https://github.com/flutter/flutter/issues/152638
2024-08-01 01:33:18 +00:00
b0b4469c97 [google_maps_flutter_web] Migrate to google_maps: 8.0.0 (#7077)
Migrates `google_maps_flutter_web` to `google_maps: ^8.0.0`

Blocked on the following:
- https://github.com/a14n/dart-google-maps/pull/132
- https://github.com/flutter/flutter/issues/151426
- https://github.com/flutter/flutter/issues/145149
- https://github.com/a14n/dart-google-maps/issues/133
- https://github.com/flutter/flutter/issues/151561

Fixes https://github.com/flutter/flutter/issues/148624
2024-07-31 16:14:32 +00:00
5513396a72 [tool] Run pre_publish.dart before publish --dry-run (#7258)
When running publish-check, any pre-publish hook must be run before the `publish --dry-run` step as the latter succeeding may depend on the former.

Part of https://github.com/flutter/flutter/issues/150210
2024-07-31 16:03:04 +00:00
3d358d921a [many] Ignore NewerVersionAvailable in android lint (#7218)
- **Updates android lint to ignore NewerVersionAvailable**
- **Update changelog**

Fixes https://github.com/flutter/flutter/issues/152316
2024-07-26 14:22:18 +00:00
0489bdac9f [tool] Adds --wasm flag to the drive-examples command (#7162)
I was unsure if we wanted to add a new platform option for this or add a `--wasm` flag to the command. Adding a `--wasm` flag seems more complicated since we would probably want to add extra handling around proper use of the flag, whereas adding a `web-wasm` platform should require no additional checks.

This is in preparation for https://github.com/flutter/flutter/issues/151664
2024-07-25 23:30:57 +00:00
50238e7dd3 [tool] Add a package-level pre-publish hook (#7156)
Adds the ability for a package to specify a script that should be run before publishing. To minimize the chance of such a script breaking things only in the post-submit `release` step, if the script is present it will also be run during `publish-check`.

These should be used with caution since they can cause the published artifacts to be different from that is checked in, but in the intended use case of extension builds this risk is far preferable to the risks associated with checking in binaries that were built on local, ad-hoc basis. (Longer term, we may need an alternate solution however, as generating artifacts in CI can have its own supply chain validation issues.)

Also does some minor refactoring to custom test script code to make it follow the same pattern as this new code.

Fixes https://github.com/flutter/flutter/issues/150210
2024-07-25 20:06:18 +00:00
c7f052697a [flutter_plugin_tools] Allow disabling Swift Package Manager when building examples (#7145)
You can use the Flutter plugin tool to [build the plugins' examples apps](https://github.com/flutter/packages/tree/main/script/tool#run-dart-integration-tests). Currently, the tool can enable the Swift Package Manager feature.

This change allows the tool to disable the Swift Package Manager feature. This will be useful for when SPM is enabled by default on a release channel.

Preparation for: https://github.com/flutter/flutter/issues/151567
2024-07-18 16:39:07 +00:00
8cf4d96f47 [ci] Drive tests with html renderer if CHANNEL is stable. (#7146)
Introduces a small fork in the `drive_examples_command` to run integration tests with `--web-renderer=html` in the `stable` channel (and `--web-renderer=canvaskit` in `master`).

This is supposed to be removed, once the current `master` rolls into `stable` (see clean-up issue referenced below).

## Issues

* Part of: https://github.com/flutter/flutter/issues/143543
* Prevents flakes: https://github.com/flutter/packages/pull/7115#issuecomment-2226661488
* Clean-up issue: https://github.com/flutter/flutter/issues/151869
2024-07-17 21:52:24 +00:00
da04812172 [ci][web] Run tests in canvaskit mode. (#6879)
Configures the flutter/packages CI to run web tests using the `canvaskit` renderer, which is the new default for web apps.

It also does some minor changes:

* Skips tests on the web for `package:palette_generator` (cleanup issue created below)
  * Makes the `palette_generator` example run on the web. This was used to manually verify that the package still works as expected with canvaskit.
* Tweaks the README of the `pointer_interceptor` example apps, so they match what's happening in there.

## Issues

* Fixes https://github.com/flutter/flutter/issues/143543

Co-authored-by: David Iglesias <ditman@gmail.com>
2024-07-11 21:04:54 +00:00
c47614c6d9 [webview_flutter_web] Migrate to package:web. (#6792)
* Migrates to `package:web` https://github.com/flutter/flutter/issues/139749
* Updates `HttpRequestFactory.request` to use `package:http` `BrowserClient`
* Updates `ìndex.html` in the example to use `flutter_bootstrap.js`
* Updates minimum dart sdk requirement to `^3.3.0`

Would appreciate help with completing the mock tests if in case it does not work.
(I am somehow stuck with 'loading...' when attempting to test with mockito with --platform chrome)

Integration tests from what i was able to test passes.

Migrated to using BrowserClient for web due to issues creating mock tests with `XMLHttpRequest` which is returned from `package:web`'s `HttpRequest.request` following error:

`Bad state: Interface type 'XMLHttpRequest' which is nether an enum, nor a class, nor a mixin. This case is unknown, please report a bug.`

Co-authored-by: David Iglesias <ditman@gmail.com>
Co-authored-by: Navaron Bracke <brackenavaron@gmail.com>
2024-07-10 16:56:07 +00:00
47a92dbdea [path_provider] Remove win32 (#7073)
Per https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#dependencies, we generally do not want third-party dependencies. `path_provider` in particular is a key part of the ecosystem (well over 1,000 packages depend directly on it, and transitively it's probably several times that at least), and thus the maintenance and security considerations are particularly acute.

This eliminates the dependency on `win32`, a large third-party dependency, in favor of direct FFI code written from scratch using the official Win32 reference documentation from Microsoft as the source. The only behavioral change that should result here is that the exceptions thrown in failure cases have changed, but they were never documented, and were entirely platform-specific, so it's relatively unlikely that people will be broken by that. (As noted in a TODO, the longer term solution is to provide real exceptions for this package, and use those across platforms.)

Fixes https://github.com/flutter/flutter/issues/130940
2024-07-09 10:03:23 +00:00
a9240e6558 [ci] Add Wasm compilation to all_packages web app. (#6981)
Adds a "--wasm" mode to create and build "all_packages" app to verify all our plugins compile with Wasm.

Except not all do for now, so this also adds a "exclude_all_packages_app_wasm.yaml" file that allows us to remove the packages that aren't fully compatible yet.

## Issues

* Fixes: https://github.com/flutter/flutter/issues/150748
* Related: https://github.com/flutter/flutter/issues/117022
* Related: https://github.com/flutter/flutter/issues/148624
2024-06-27 19:34:15 +00:00
69e7fc1590 [tools] Fix vm test requirement (#6995)
The logic for handling Dart unit test `test_on` directives was incorrect, causing it to skip packages that required vm testing, even when run in vm mode. This PR:
- Adds the missing tests for false negatives.
- Reworks the logic to explicitly fail for anything that isn't one of the exact patterns we are expecting, to make it much harder to re-introduce a bug like this in the future.
2024-06-27 14:32:38 +00:00
71b2f6829c [various] Update flutter.dev links to more reliable destinations (#6963)
Contributes to https://github.com/flutter/website/issues/10363 by updating to the latest links and updating some links to use new `/to/` links that can be updated as needed.
2024-06-25 18:05:07 +00:00
260102b64c [tool] Provide better CI feedback for combo PRs (#6865)
Currently if a PR follows the recommended combo PR process for a federated plugin, the main PR will have CI errors that say the PR isn't allowed to do what it is doing, which is confusing, especially to new contributors or reviewers.

This updates the tooling to detect the temporary overrides created by the tooling, and uses that to trigger a different error message that explains that the error is expected, and exists only to prevent accidental landing.

Fixes https://github.com/flutter/flutter/issues/129303
2024-06-11 18:57:06 +00:00
80f0e16861 [ci] Allow platform references (#6903)
Now that `platform` is no longer in-repo, it needs a dependency allowance.

Fixes tree breakage.
2024-06-10 20:39:53 +00:00
3282c23d24 Disable sandboxing for macOS tests in CI (#6866)
macOS 14 added new requirements that un-codesigned sandbox apps must be granted access when changed. Waiting for this UI caused macOS tests to fail on macOS 14. Additionally, adding codesigning is not sufficient, since it must still be approved before codesigning is enough to pass the check. As a workaround, this PR disables sandboxing for macOS tests in CI.

![Screenshot 2024-05-30 at 2 41 33 PM](https://github.com/flutter/flutter/assets/682784/1bc32620-5edb-420a-866c-5cc529b2ac55)

https://developer.apple.com/documentation/updates/security#June-2023)
> App Sandbox now associates your macOS app with its sandbox container using its code signature. The operating system asks the person using your app to grant permission if it tries to access a sandbox container associated with a different app. For more information, see [Accessing files from the macOS App Sandbox](https://developer.apple.com/documentation/security/app_sandbox/accessing_files_from_the_macos_app_sandbox).

And that link explains why this is happening on a macOS 14 update:

> In macOS 14 and later, the operating system uses your app’s code signature to associate it with its sandbox container. If your app tries to access the sandbox container owned by another app, the system asks the person using your app whether to grant access. If the person denies access and your app is already running, then it can’t read or write the files in the other app’s sandbox container. If the person denies access while your app is launching and trying to enter the other app’s sandbox container, your app fails to launch.
> 
> The operating system also tracks the association between an app’s code signing identity and its sandbox container for helper tools, including launch agents. If a person denies permission for a launch agent to enter its sandbox container and the app fails to start, launchd starts the launch agent again and the operating system re-requests access.

Fixes packages part of https://github.com/flutter/flutter/issues/149264.

Verified tests pass:
https://ci.chromium.org/ui/p/flutter/builders/staging.shadow/Mac_arm64%20macos_platform_tests%20master%20-%20packages/6/overview
2024-06-06 15:31:23 +00:00
c472e4007c Correcting the typo of Flutter in projects (#6850)
In part of the documentation, Flutter is spelled out with a typo. I fixed it using a repository search.

- [] The title of the PR starts with the name of the package surrounded by square brackets, e.g. `[shared_preferences]`
2024-06-04 21:10:01 +00:00
5e88f948b8 Clean Xcode project before analyzing and testing (#6842)
On macOS 14, caching seems to be more aggressive with swiftmodules and can cause conflicts between tests. To mitigate this, use `xcodebuild clean` (cleans Derived Data for the project) as part of `xcodebuild analyze` and `xcodebuild test`.

Fixes https://github.com/flutter/flutter/issues/149270. Fixes https://github.com/flutter/flutter/issues/149266.
2024-06-04 15:32:05 +00:00
5cc71d00ac Update Flutter wiki links (#6789)
Updates all links to the Flutter wiki to point to their new location in the flutter/flutter repository. (The sole exception is a link to a doc that doesn't have a final home yet, and is linked from legacy code anyway so doesn't really need to be updated.)

While touching the PR template, makes a few minor improvements:
- Removes the breaking change discussion that doesn't apply to this repository, as breaking changes are handled totally differently for packages (and is covered by the link to docs about Dart versioning).
- Adds text and a link to reflect the fact that some PRs can be changelog-exempt.
2024-05-26 12:47:23 +00:00
65254411e6 [local_auth] Convert native unit tests to Swift (#6779)
Converts native unit tests from Objective-C to Swift, as a first step toward an eventual plugin conversion. Since OCMock usage was removed in a previous PR, the tests are converted essentially directly (the rewrites were largely mechanical syntax replacement), without any changes needed to production code.

There are a few places where interacting with the Pigeon-generated Obj-C is somewhat awkward because the NSError signature isn't auto-converting to `throw` in cases where we use `NSNumber` wrapping, but all that will get cleaned up when we switch the plugin over to Swift Pigeon generation and have idiomatic Swift APIs that the tests will be calling instead.

Fixes a couple of false positives in the repo tooling surfaced by this PR:
- `darwin/Tests/` wasn't recognized as a test directory.
- Swift tests weren't recognized as exempt from requiring Swift entries in the podspec.

Part of https://github.com/flutter/flutter/issues/119104
2024-05-22 14:07:09 +00:00
788b666693 Update the repo for the 3.22 stable release (#6730)
Does all of the steps of https://github.com/flutter/flutter/wiki/Updating-Packages-repo-for-a-stable-release other than the first (which is https://github.com/flutter/packages/pull/6727).
2024-05-15 13:57:06 +00:00
a489d4931b [Android][webview_flutter] Run integration tests on emulators running Android 34 (#6499)
Changes webview_flutter , webview_flutter_android tests to run on emulators running SDK 34 for Android. I also

1. Changed all `unawaited` calls in non-legacy tests to `await`. I believe several of the setup steps need to be completed before running checks based on testing, so this should leave the tests safer overall.
2. Changing the integration test directory structures look like what is described in [the integration_test packages instructions](https://github.com/flutter/flutter/blob/master/packages/integration_test/README.md#package-structure). Without changing the package to this structure, CI seemed to run the tests in parallel. I am still trying to figure out why this is but no longer want to block this PR.

Also removes shards for testing packages against Android 33 since no packages are running on emulators running Android 33 anymore.

Fixes https://github.com/flutter/flutter/issues/140001. Fixes https://github.com/flutter/flutter/issues/137083.
2024-05-10 21:02:58 +00:00
62c08f4471 Skip podspec Swift Search Path validation if only swift file is Package.swift for darwin plugins (#6635)
Fix for iOS was added in https://github.com/flutter/packages/pull/6627, but neglected to handle when plugin uses darwin directory.

Supplemental fix for https://github.com/flutter/flutter/issues/147548.
2024-05-02 19:05:00 +00:00
aea93d2a51 Skip podspec Swift Search Path validation if only swift file is Package.swift (#6627)
Usually when an iOS plugin uses Swift files, it requires a workaround in the podspec to add Swift to the search paths. Part of the `podspec-check` command is validating this workaround is found. However, when the only Swift file is the `Package.swift` (Swift Package Manager manifest), skip this validation since having this file does not indicate the plugin uses Swift files.

Fixes https://github.com/flutter/flutter/issues/147548.
2024-04-30 23:43:18 +00:00
1292dc30d8 Add CI steps to test iOS and macOS plugins with both CocoaPods and Swift Package Manager (#6557)
Tests new Swift Package Manager feature added in https://github.com/flutter/flutter/pull/146256.

Fixes https://github.com/flutter/flutter/issues/146901.
2024-04-24 21:29:04 +00:00
bb82cb79b9 [ci] Add more dev dependency checks, and fix errors (#6563)
- Adds `build_runner`, `mockito`, and `pigeon` to the list of dependencies that we expect to only be in dev_dependencies.
- Fixes the error message for violations; I had missed in initial review that the errorr message was the same as the one for non-repo-local depndencies, making it misleading about what the problem was and how to fix it. (Also fixed the indentation, which had always been wrong.)
- Fixes `camera_avfoundation`, which had a violation introduced in my recent PR to start the Pigeon conversion.

See https://github.com/flutter/flutter/issues/117905
2024-04-18 21:43:04 +00:00
663b4754e2 [google_sign_in_ios] Upgrade GoogleSignIn iOS SDK to 7.1 (#6404)
1. Update GoogleSignIn iOS SDK dependency to [7.1](https://github.com/google/GoogleSignIn-iOS/releases/tag/7.1.0), which supports privacy manifests.
1. Update "fetch deps step" to run `pod repo update` every time to avoid missing spec failure. Also added a fetch deps step to the all_packages builds, since those could also use a `pod repo update` but I didn't want to add more logic to those bash scripts.
```
     [!] CocoaPods could not find compatible versions for pod "GoogleSignIn":
       In Podfile:
         google_sign_in_ios (from `Flutter/ephemeral/.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
           GoogleSignIn (~> 7.1)
     None of your spec sources contain a spec satisfying the dependency: `GoogleSignIn (~> 7.1)`.
```
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8752192509749702705/+/u/Run_package_tests/download_Dart_and_iOS_deps/stdout

3. Looks like the new versions of [`GTMSessionFetcher`](https://github.com/CocoaPods/Specs/blob/master/Specs/c/e/3/GTMSessionFetcher/3.3.2/GTMSessionFetcher.podspec.json) and [`AppAuth`](https://github.com/CocoaPods/Specs/blob/master/Specs/b/b/9/AppAuth/1.7.3/AppAuth.podspec.json) don't define modules, so there's an error building it statically:
```
     [!] The following Swift pods cannot yet be integrated as static libraries:
     The Swift pod `GTMAppAuth` depends upon `GTMSessionFetcher` and `AppAuth`, which do not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
```
I filed https://github.com/google/gtm-session-fetcher/issues/384 and https://github.com/openid/AppAuth-iOS/issues/844.

In the meantime, I updated the example apps to `use_frameworks!`, which would be on for Flutter Swift apps, but not Objective-C ones.  We could add something to the tool to detect this case, and suggest `use_frameworks!` be added?  

4.  Even though google_sign_in_ios does not contain Swift files, for some reason, there is a "pod lib lint" warning complaining `swift_version` isn't set. This seems related to `GTMAppAuth` dependency constraint that went from an Objective-C-only to Swift pod.  So I set `swift_version` since it's harmless.

```
- WARN  | swift: The validator used Swift `4.0` by default because no Swift version was specified. To specify a Swift version during validation, add the `swift_versions` attribute in your podspec. Note that usage of a `.swift-version` file is now deprecated.
```
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8752100979634945505/+/u/Run_package_tests/validate_iOS_and_macOS_podspecs/stdout

## Issues

* Fixes https://github.com/flutter/flutter/issues/145777
* Fixes https://github.com/flutter/flutter/issues/145866
* See also https://github.com/flutter/flutter/issues/137140
2024-04-17 18:03:48 +00:00
18c4ca4bcc [google_maps_flutter] update ios privacy manifest (#6511)
The installation instructions for Google Maps Platform SDKs for iOS now have download links and instructions for **manually** adding Privacy Manifest files for use with the latest versions of the SDKs. You can read more about this [here](https://github.com/googlemaps/google-maps-ios-utils/issues/463#issuecomment-2035734010).

This PR synchronizes the iOS privacy manifest with the file provided by Google for the Maps SDK for iOS. 
The privacy manifest was downloaded from: [https://developers.google.com/maps/documentation/ios-sdk/config#add-apple-privacy-manifest-file](https://developers.google.com/maps/documentation/ios-sdk/config#add-apple-privacy-manifest-file).

As you can see in the new **[PrivacyInfo.xcprivacy](packages/google_maps_flutter/google_maps_flutter_ios/ios/Resources/PrivacyInfo.xcprivacy)** file Google Maps SDK is using the following **NSPrivacyAccessedAPITypes**:

- **NSPrivacyAccessedAPICategoryDiskSpace**
- **NSPrivacyAccessedAPICategorySystemBootTime**
- **NSPrivacyAccessedAPICategoryFileTimestamp**
- **NSPrivacyAccessedAPICategoryUserDefaults**

*Related issues:*
- [flutter/flutter/issues/145269](https://github.com/flutter/flutter/issues/145269)
- [flutter/flutter/issues/143232](https://github.com/flutter/flutter/issues/143232)
- [flutter/flutter/issues/131940](https://github.com/flutter/flutter/issues/131940#issuecomment-2006965339)

Fixes https://github.com/flutter/flutter/issues/94491
2024-04-16 18:55:59 +00:00
9a24904192 [image_picker] Adopt code excerpts in README (#5523)
Improves image_picker_for_web README example and updates it to use code excerpts.

Part of [flutter/flutter#102679](https://github.com/flutter/flutter/issues/102679)
2024-04-15 19:53:22 +00:00
e98839a9b8 [tool] Check for test and flutter_test in non-dev dependencies (#6472)
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

Additional checks as a followup to https://github.com/flutter/packages/pull/6446

*List which issues are fixed by this PR. You must list at least one issue.*

Related to https://github.com/flutter/flutter/issues/145992

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2024-04-10 18:09:17 +00:00
3ff376b7b7 [Tool] Add ability to check dependencies independently of dev-dependencies, exclude integration_test from dependencies (#6446)
Create a linter that ensures that `integration_test` is not used in dependencies. 

Will be paired with a change to documentation 
```
If you are considering adding an external dependency:

Consider other options, and discuss with #hackers-ecosystem in Discord.
* If you add a dev_dependency on an external package, pin it to a specific version if at all possible.
* If you add a dependency on an external package in an example/, pin it to a specific version if at all possible.
* Some dependencies should only be linked as dev dependencies like integration_test 
```

Related to flutter/flutter/issues/145992
2024-04-03 19:44:11 +00:00
924c7e6e89 Reverts "[ci] Temporarily allow-warnings in podspec_check_command.dart (#6416)" (#6419)
Reverts: flutter/packages#6416
Initiated by: ditman
Reason for reverting: Failures happen (later) in other plugins (more updates in the related issue)

https://github.com/flutter/flutter/issues/145866
Original PR Author: ditman

Reviewed By: {jmagman}

This change reverts the following previous change:
Adds `--allow-warnings` to podspec_check_command.dart so stuff can keep rolling.

**To be removed soon!**
2024-03-28 02:55:25 +00:00
e23442506e [ci] Temporarily allow-warnings in podspec_check_command.dart (#6416)
Adds `--allow-warnings` to podspec_check_command.dart so stuff can keep rolling.

**To be removed soon!**
2024-03-28 02:18:23 +00:00
da16269981 [pigeon] Adds Dart implementation of ProxyApi (#6043)
Part of https://github.com/flutter/flutter/issues/134777
2024-03-19 17:58:13 +00:00
6db47f400a [camera_web][google_maps_flutter] Fix tests throwing errors after test completion with manual roll (#6318)
It looks like 77651bc496 made errors thrown after a test to cause the test as failed. 

This PR tries to update the tests to not cause an error after the test completes. See https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8753561699724872161/+/u/Run_package_tests/drive_examples/stdout?format=raw for original tests failures.

See https://github.com/flutter/flutter/issues/145149
2024-03-15 03:24:05 +00:00
6a4e2ffbc4 [tool] Add features to support GCB auto-publish flow (#6218)
Adds the flowing to the tool:
- A new `--exact-match-only` flag to be used with `--packages` to prevent group matching (i.e., a selection like `--packages=path_provider --exact-match-only` would only run on `packages/path_provider/path_provider`, not `packages/path_provider/*`).
- Two new `publish` command flags:
  - `--tag-for-auto-publish`, to do all the steps that `publish` currently does except for the real `pub publish`, so it would dry-run the publish and then create and push the tag if successful.
  - `--already-tagged`, to skip the step of adding and pushing a tag, and replace it with a check that `HEAD` already has the expected tag.

This set of additions supports a workflow where the current `release` step is changed to use `--tag-for-auto-publish`, and then the separate auto-publish system would publish each package with `... publish --already-tagged --packages=<some package> --exact-match-only`.

See https://github.com/flutter/packages/pull/5005#discussion_r1344542422 for previous discussion/context.

Part of https://github.com/flutter/flutter/issues/126827
2024-03-05 22:34:58 +00:00
0aff69f746 [tool] Ignore GeneratedPluginRegistrant.swift for format (#6195)
This file fails `swift-format lint`, so including it in `format` causes lots of warnings when run locally.
2024-02-26 18:05:23 +00:00
cd5d7d88d2 [local_auth] Switch iOS endorsement to local_auth_darwin (#6107)
Updates to use `local_auth_darwin` instead of the discontinued `local_auth_ios`.
2024-02-21 15:39:20 +00:00