flutter/packages/flutter_tools/templates
Gray Mackall 2afaa619cb
Migrate module templates to declarative application of the Flutter Gradle Plugin (#159770)
Fixes https://github.com/flutter/flutter/issues/159729

Cases to consider:
1. Building the module as a standalone app (`flutter run`)
2. Building the module as an aar (`flutter build aar`) 
3. Doing (2) and then building an android host app that depends on the
aar.
4. Building the host app with it depending on the module as source.

Manually tested all 4 and they all are working.

Modified `build_android_host_app_with_module_aar.dart` and
`build_android_host_app_with_module_source.dart` to add checks on
`stderr` to ensure we don't hit the log.


## 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.
- [ ] 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/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

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2024-12-05 21:32:58 +00:00
..
app Manual roll Flutter Engine from 371c86fb6b49 to bcb281cde579 (#158346) 2024-11-07 22:39:19 +00:00
app_integration_test/integration_test Switch to more reliable flutter.dev link destinations in the tool (#150587) 2024-06-26 23:30:39 +00:00
app_shared fix failing lint in MainActivity.kt.tmpl (#159441) 2024-12-05 16:44:05 +00:00
app_test_widget/test
cocoapods Remove use_modular_headers! from Swift Podfiles (#156257) 2024-11-04 20:32:34 +00:00
module Migrate module templates to declarative application of the Flutter Gradle Plugin (#159770) 2024-12-05 21:32:58 +00:00
package update flutter create generated projects to use package:flutter_lints 5.0.0 (#156011) 2024-10-02 08:36:40 -07:00
package_ffi Make flutter_tools use newest package:{native_assets_builder,native_assets_cli,native_toolchain_c} (#158214) 2024-11-06 14:12:34 +01:00
plugin Remove unused import from kt plugin template (#157220) 2024-10-29 15:42:20 +00:00
plugin_cocoapods Add PrivacyInfo.xcprivacy to macOS plugin template (#155570) 2024-09-25 05:30:53 +00:00
plugin_ffi Update Android plugin templates for newer AGP (#156533) 2024-10-10 17:18:50 +00:00
plugin_shared feat: Include web 1.x.x in plugin template (#156947) 2024-11-14 21:48:12 +00:00
plugin_swift_package_manager Add PrivacyInfo.xcprivacy to macOS plugin template (#155570) 2024-09-25 05:30:53 +00:00
skeleton update flutter create generated projects to use package:flutter_lints 5.0.0 (#156011) 2024-10-02 08:36:40 -07:00
widget_preview_scaffold Add flutter widget-preview {start, clean} commands (#159510) 2024-12-04 21:51:08 +00:00
xcode/ios/custom_application_bundle [flutter_tools] opt iOS/macOS apps out of Metal API validation via migrator, update templates in repo. (#159228) 2024-11-21 01:36:55 +00:00
README.md
template_manifest.json Add flutter widget-preview {start, clean} commands (#159510) 2024-12-04 21:51:08 +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.