mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
![]() This PR aims to resolve #121552. Resources used: - [Developing Plugins](https://docs.gradle.org/current/userguide/custom_plugins.html) - [Using Gradle Plugins](https://docs.gradle.org/current/userguide/plugins.html#sec:plugins_block) - [Composite Builds Plugin Development Sample](https://docs.gradle.org/current/samples/sample_composite_builds_plugin_development.html) This PR also paves way for #121541, because apps will no longer have: ```groovy apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" ``` hardcoded. Instead, they'll use: ```groovy plugins { // ... id "dev.flutter.flutter-gradle-plugin" // the exact name is tentative } ``` |
||
---|---|---|
.. | ||
app | ||
app_integration_test/integration_test | ||
app_shared | ||
app_test_widget/test | ||
cocoapods | ||
module | ||
package | ||
plugin | ||
plugin_ffi | ||
plugin_shared | ||
skeleton | ||
README.md | ||
template_manifest.json |
This directory contains templates for flutter create
.
The *_shared
subdirectories provide files for multiple templates.
app_shared
forapp
andskeleton
.plugin_shared
for (method channel)plugin
andplugin_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.