Unverified Commit 51d3daad authored by Stanislav Baranov's avatar Stanislav Baranov Committed by GitHub

Change 'flutter ide-config' to optionally create root Intellij module (#19920)

parent 4509ad59
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
{{#withRootModule}}
<module fileurl="file://$PROJECT_DIR$/flutter_root.iml" filepath="$PROJECT_DIR$/flutter_root.iml" />
{{/withRootModule}}
<module fileurl="file://$PROJECT_DIR$/examples/platform_view/android.iml" filepath="$PROJECT_DIR$/examples/platform_view/android.iml" /> <module fileurl="file://$PROJECT_DIR$/examples/platform_view/android.iml" filepath="$PROJECT_DIR$/examples/platform_view/android.iml" />
<module fileurl="file://$PROJECT_DIR$/dev/bots/bots.iml" filepath="$PROJECT_DIR$/dev/bots/bots.iml" /> <module fileurl="file://$PROJECT_DIR$/dev/bots/bots.iml" filepath="$PROJECT_DIR$/dev/bots/bots.iml" />
<module fileurl="file://$PROJECT_DIR$/examples/catalog/catalog.iml" filepath="$PROJECT_DIR$/examples/catalog/catalog.iml" /> <module fileurl="file://$PROJECT_DIR$/examples/catalog/catalog.iml" filepath="$PROJECT_DIR$/examples/catalog/catalog.iml" />
......
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
...@@ -29,6 +29,14 @@ class IdeConfigCommand extends FlutterCommand { ...@@ -29,6 +29,14 @@ class IdeConfigCommand extends FlutterCommand {
'update any out-of-date files, and remove any deleted files from the ' 'update any out-of-date files, and remove any deleted files from the '
'template directory.', 'template directory.',
); );
argParser.addFlag(
'with-root-module',
negatable: true,
defaultsTo: true,
help: 'Also create module that corresponds to the root of Flutter tree. '
'This makes the entire Flutter tree browsable and searchable in IDE. '
'Without this flag, only the child modules will be visible in IDE.',
);
} }
@override @override
...@@ -238,7 +246,9 @@ class IdeConfigCommand extends FlutterCommand { ...@@ -238,7 +246,9 @@ class IdeConfigCommand extends FlutterCommand {
printStatus('Updating IDE configuration for Flutter tree at $dirPath...'); printStatus('Updating IDE configuration for Flutter tree at $dirPath...');
int generatedCount = 0; int generatedCount = 0;
generatedCount += _renderTemplate(_ideName, dirPath, <String, dynamic>{}); generatedCount += _renderTemplate(_ideName, dirPath, <String, dynamic>{
'withRootModule': argResults['with-root-module'],
});
printStatus('Wrote $generatedCount files.'); printStatus('Wrote $generatedCount files.');
printStatus(''); printStatus('');
......
...@@ -107,6 +107,10 @@ class Template { ...@@ -107,6 +107,10 @@ class Template {
} }
_templateFilePaths.forEach((String relativeDestinationPath, String absoluteSourcePath) { _templateFilePaths.forEach((String relativeDestinationPath, String absoluteSourcePath) {
final bool withRootModule = context['withRootModule'] ?? false;
if (!withRootModule && absoluteSourcePath.contains('flutter_root'))
return;
final String finalDestinationPath = renderPath(relativeDestinationPath); final String finalDestinationPath = renderPath(relativeDestinationPath);
if (finalDestinationPath == null) if (finalDestinationPath == null)
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment