flutter/packages/flutter_tools/templates
Chris Bracken e5fc6f65b9
[macOS] Remigrate principal class to NSApplication (#124173)
In #122336 we migrated the principal class from NSApplication to
FlutterApplication in the app Info.plist. We removed the need for
FlutterApplication in https://github.com/flutter/engine/pull/40929. This
reverses the migration for anyone who previously upgraded on the Flutter
master branch.

Issue: https://github.com/flutter/flutter/issues/30735

## 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] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-04-05 09:05:37 -07:00
..
app Update the counter app to enable Material 3 (#118835) 2023-02-02 00:08:11 +00:00
app_integration_test/integration_test Add an integration test to plugin template example (#117062) 2022-12-15 19:49:14 +00:00
app_shared [macOS] Remigrate principal class to NSApplication (#124173) 2023-04-05 09:05:37 -07:00
app_test_widget/test [flutter_tools] Use proper project name in templates (#96373) 2022-02-02 06:50:14 -08:00
cocoapods Add native unit tests to iOS and macOS templates (#117147) 2022-12-21 19:10:22 +00:00
module Add Info.plist from build directory as input path to Thin Binary build phase (#118209) 2023-01-13 13:41:08 -06:00
package Remove .pub directories from iml templates (#109622) 2022-09-09 22:20:12 +00:00
plugin Set plugin template minimum iOS version to 11.0 (#122625) 2023-03-21 16:40:50 +00:00
plugin_ffi Set plugin template minimum iOS version to 11.0 (#122625) 2023-03-21 16:40:50 +00:00
plugin_shared Set plugin template minimum iOS version to 11.0 (#122625) 2023-03-21 16:40:50 +00:00
skeleton Use super parameters in templates (#101157) 2022-04-14 13:26:38 -07:00
README.md FFI plugins (#96225) 2022-01-26 23:44:45 +01:00
template_manifest.json Add Linux unit tests to plugin template (#120814) 2023-02-15 19:13:11 +00:00

This directory contains templates for flutter create.

The *_shared subdirectories provide files for multiple templates.

  • app_shared for app and skeleton.
  • plugin_shared for (method channel) plugin and plugin_ffi.

For example, there are two app templates: app (the counter app) and skeleton (the more advanced list view/detail view app).

  ┌────────────┐
  │ app_shared │
  └──┬──────┬──┘
     │      │
     │      │
     ▼      ▼
┌─────┐    ┌──────────┐
│ app │    │ skeleton │
└─────┘    └──────────┘

Thanks to app_shared, the templates for app and skeleton can contain only the files that are specific to them alone, and the rest is automatically kept in sync.