Elijah Okoroh
0b191ba123
Add shared Darwin implementation for plugins ( #176495 )
...
This PR introduces support for creating Flutter plugins with a single,
shared implementation for iOS and macOS. This is enabled by a new darwin
platform option in the flutter create command, which simplifies code
maintenance and reduces duplication for plugin authors.
*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*
Fixes #161019
*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*
## 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.
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
[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
2025-11-26 23:00:42 +00:00
Elijah Okoroh
1eab8e1d13
Deprecate Objective-C plugin template ( #174003 )
...
This PR marks the `--ios-language objc` flag as deprecated for plugin
creation. It introduces a warning message in the `flutter create` tool
when the flag is used, but **does not** remove the functionality at this
time. This is the first step towards its eventual removal.
## Context
As discussed in the issue, usage metrics show that Objective-C is used
in less than 4% of newly created plugins. To streamline the tool and
align with modern iOS development practices (i.e., Swift), we are
beginning the process of phasing out this option
**Changes:**
- Adds a deprecation warning to the CLI when the `objc` flag is used.
- Updates the `--help` text to reflect the deprecation.
- Removes obsolete tests for Objective-C plugin creation and usage
tracking.
## Testing
I have validated these changes by:
1. Manually running `flutter-dev create` with the `objc` flag to confirm
the new deprecation warning appears.
2. Verifying that creating a plugin without the --ios-language flag does
**not** trigger the warning.
3. Running the tests in the `test/commands.shard` to ensure no
regressions were introduced.
4. CI will validate the changes to the devicelab tests.
Fixes #169683
## 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.
- [] I updated/added relevant documentation (doc comments with `///`).
- [] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [] 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
[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
2025-09-15 22:13:52 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework ( #160545 )
...
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.
**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.
---------
Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Spt
3d112429cc
Solve the problem that <Flutter/Flutter.h> cannot be imported when a pod transitive depends on Flutter ( #125610 )
...


If a pod transitive depends on a pod containing a framework, cocoapods will add the path of the framework to its FRAMEWORK_SEARCH_PATHS.
So I modified the relevant logic in podhelper, hoping to be consistent with the behavior of cocoapods.
Fixes https://github.com/flutter/flutter/issues/126251 .
2024-01-16 15:36:38 +00:00
Jenn Magder
eaaacdcba9
Allow iOS and macOS plugins to share darwin directory ( #115337 )
2023-01-09 10:33:03 -08:00
Michael Goderbauer
fdd2d7d64a
Sync analysis_options.yaml & cleanups ( #117327 )
2022-12-20 14:15:39 -08:00
Daco Harkes
0e2f51dfd0
FFI plugins ( #96225 )
2022-01-26 23:44:45 +01:00
stuartmorgan
2df7dca858
Fully support Dart-only mobile and macOS plugins ( #96183 )
2022-01-13 08:30:22 -08:00
Darren Austin
0c81077582
Migrate devicelab tasks i-z to null safety. ( #85998 )
2021-07-13 16:41:06 -07:00
Jenn Magder
94a41cde83
Mixed null safety in dev/devicelab ( #84017 )
2021-06-05 02:29:03 -07:00
Phil Quitslund
61c30c41b2
fix sort_directives violations ( #80817 )
2021-04-21 13:49:03 -07:00
Jenn Magder
66145fe652
Force plugins to inherit minimum macOS version from Flutter app ( #72764 )
2021-01-11 11:16:12 -08:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. ( #65568 )
2020-09-16 14:14:06 -07:00
Chris Yang
2e63b7d4f8
Add --platforms to flutter create -t plugin command ( #59507 )
2020-06-23 17:38:03 -07:00
Ian Hickson
449f4a6673
License update ( #45373 )
...
* Update project.pbxproj files to say Flutter rather than Chromium
Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
* Update the copyright notice checker to require a standard notice on all files
* Update copyrights on Dart files. (This was a mechanical commit.)
* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).
* Clean up the copyrights in non-Dart files. (Manual edits.)
Also, make sure templates don't have copyrights.
* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Ian Hickson
1ce4a4f36f
Make sure all our .dart files have license headers ( #44467 )
2019-11-08 16:53:21 -08:00
Alexandre Ardhuin
d340e2f229
apply lint prefer_void_to_null in dev/ ( #22661 )
2018-10-04 18:44:23 +02:00
Alexandre Ardhuin
d927c93310
Unnecessary new ( #20138 )
...
* enable lint unnecessary_new
* fix tests
* fix tests
* fix tests
2018-09-12 08:29:29 +02:00
Mikkel Nygaard Ravn
658f9e6c83
Make plugins work in Swift projects ( #15437 )
2018-03-12 17:33:10 +01:00
Mikkel Nygaard Ravn
2000435728
Move plugin injection to just after pub get ( #14743 )
2018-02-16 10:17:28 +01:00
Mikkel Nygaard Ravn
c2e1bc0322
Revert "Move plugin injection to just after pub get ( #14560 )" ( #14734 )
...
This reverts commit b3e4976ca20dc878bd8a484b877b66351bed86e4.
2018-02-15 22:55:36 +01:00
Mikkel Nygaard Ravn
b3e4976ca2
Move plugin injection to just after pub get ( #14560 )
2018-02-15 22:17:12 +01:00