Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit f466ccc

Browse files
[flutter_plugin_tools] Add --packages, and deprecated --plugins (#4134)
Most of the tool operates on packages in general, and the targetting done currently by the `--plugins` flag is not actually restricted to plugins, so this makes the name less confusing. Part of flutter/flutter#83413
1 parent 2745bad commit f466ccc

File tree

5 files changed

+79
-25
lines changed

5 files changed

+79
-25
lines changed

script/tool/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
new output format.
88
- Fixed some cases where a failure in a command for a single package would
99
immediately abort the test.
10+
- Deprecated `--plugins` in favor of new `--packages`. `--plugins` continues to
11+
work for now, but will be removed in the future.
1012

1113
## 0.3.0
1214

script/tool/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,31 +58,31 @@ Note that the `plugins` argument, despite the name, applies to any package.
5858

5959
```sh
6060
cd <repository root>
61-
dart run ./script/tool/bin/flutter_plugin_tools.dart format --plugins plugin_name
61+
dart run ./script/tool/bin/flutter_plugin_tools.dart format --packages plugin_name
6262
```
6363

6464
### Run the Dart Static Analyzer
6565

6666
```sh
6767
cd <repository root>
68-
dart run ./script/tool/bin/flutter_plugin_tools.dart analyze --plugins plugin_name
68+
dart run ./script/tool/bin/flutter_plugin_tools.dart analyze --packages plugin_name
6969
```
7070

7171
### Run Dart Unit Tests
7272

7373
```sh
7474
cd <repository root>
75-
dart run ./script/tool/bin/flutter_plugin_tools.dart test --plugins plugin_name
75+
dart run ./script/tool/bin/flutter_plugin_tools.dart test --packages plugin_name
7676
```
7777

7878
### Run XCTests
7979

8080
```sh
8181
cd <repository root>
8282
# For iOS:
83-
dart run ./script/tool/bin/flutter_plugin_tools.dart xctest --ios --plugins plugin_name
83+
dart run ./script/tool/bin/flutter_plugin_tools.dart xctest --ios --packages plugin_name
8484
# For macOS:
85-
dart run ./script/tool/bin/flutter_plugin_tools.dart xctest --macos --plugins plugin_name
85+
dart run ./script/tool/bin/flutter_plugin_tools.dart xctest --macos --packages plugin_name
8686
```
8787

8888
### Publish a Release

script/tool/lib/src/common/plugin_command.dart

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ abstract class PluginCommand extends Command<void> {
2424
GitDir? gitDir,
2525
}) : _gitDir = gitDir {
2626
argParser.addMultiOption(
27-
_pluginsArg,
27+
_packagesArg,
2828
splitCommas: true,
2929
help:
30-
'Specifies which plugins the command should run on (before sharding).',
31-
valueHelp: 'plugin1,plugin2,...',
30+
'Specifies which packages the command should run on (before sharding).\n',
31+
valueHelp: 'package1,package2,...',
32+
aliases: <String>[_pluginsArg],
3233
);
3334
argParser.addOption(
3435
_shardIndexArg,
@@ -51,7 +52,7 @@ abstract class PluginCommand extends Command<void> {
5152
);
5253
argParser.addFlag(_runOnChangedPackagesArg,
5354
help: 'Run the command on changed packages/plugins.\n'
54-
'If the $_pluginsArg is specified, this flag is ignored.\n'
55+
'If the $_packagesArg is specified, this flag is ignored.\n'
5556
'If no packages have changed, or if there have been changes that may\n'
5657
'affect all packages, the command runs on all packages.\n'
5758
'The packages excluded with $_excludeArg is also excluded even if changed.\n'
@@ -63,6 +64,7 @@ abstract class PluginCommand extends Command<void> {
6364
}
6465

6566
static const String _pluginsArg = 'plugins';
67+
static const String _packagesArg = 'packages';
6668
static const String _shardIndexArg = 'shardIndex';
6769
static const String _shardCountArg = 'shardCount';
6870
static const String _excludeArg = 'exclude';
@@ -203,7 +205,7 @@ abstract class PluginCommand extends Command<void> {
203205
/// is a sibling of the packages directory. This is used for a small number
204206
/// of packages in the flutter/packages repository.
205207
Stream<Directory> _getAllPlugins() async* {
206-
Set<String> plugins = Set<String>.from(getStringListArg(_pluginsArg));
208+
Set<String> plugins = Set<String>.from(getStringListArg(_packagesArg));
207209
final Set<String> excludedPlugins =
208210
Set<String>.from(getStringListArg(_excludeArg));
209211
final bool runOnChangedPackages = getBoolArg(_runOnChangedPackagesArg);

script/tool/test/common/plugin_command_test.dart

Lines changed: 60 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,22 @@ void main() {
6969
expect(plugins, unorderedEquals(<String>[plugin1.path, plugin2.path]));
7070
});
7171

72+
test('includes both plugins and packages', () async {
73+
final Directory plugin1 = createFakePlugin('plugin1', packagesDir);
74+
final Directory plugin2 = createFakePlugin('plugin2', packagesDir);
75+
final Directory package3 = createFakePackage('package3', packagesDir);
76+
final Directory package4 = createFakePackage('package4', packagesDir);
77+
await runCapturingPrint(runner, <String>['sample']);
78+
expect(
79+
plugins,
80+
unorderedEquals(<String>[
81+
plugin1.path,
82+
plugin2.path,
83+
package3.path,
84+
package4.path,
85+
]));
86+
});
87+
7288
test('all plugins includes third_party/packages', () async {
7389
final Directory plugin1 = createFakePlugin('plugin1', packagesDir);
7490
final Directory plugin2 = createFakePlugin('plugin2', packagesDir);
@@ -79,40 +95,73 @@ void main() {
7995
unorderedEquals(<String>[plugin1.path, plugin2.path, plugin3.path]));
8096
});
8197

82-
test('exclude plugins when plugins flag is specified', () async {
98+
test('--packages limits packages', () async {
99+
final Directory plugin1 = createFakePlugin('plugin1', packagesDir);
100+
createFakePlugin('plugin2', packagesDir);
101+
createFakePackage('package3', packagesDir);
102+
final Directory package4 = createFakePackage('package4', packagesDir);
103+
await runCapturingPrint(
104+
runner, <String>['sample', '--packages=plugin1,package4']);
105+
expect(
106+
plugins,
107+
unorderedEquals(<String>[
108+
plugin1.path,
109+
package4.path,
110+
]));
111+
});
112+
113+
test('--plugins acts as an alias to --packages', () async {
114+
final Directory plugin1 = createFakePlugin('plugin1', packagesDir);
115+
createFakePlugin('plugin2', packagesDir);
116+
createFakePackage('package3', packagesDir);
117+
final Directory package4 = createFakePackage('package4', packagesDir);
118+
await runCapturingPrint(
119+
runner, <String>['sample', '--plugins=plugin1,package4']);
120+
expect(
121+
plugins,
122+
unorderedEquals(<String>[
123+
plugin1.path,
124+
package4.path,
125+
]));
126+
});
127+
128+
test('exclude packages when packages flag is specified', () async {
83129
createFakePlugin('plugin1', packagesDir);
84130
final Directory plugin2 = createFakePlugin('plugin2', packagesDir);
85-
await runCapturingPrint(runner,
86-
<String>['sample', '--plugins=plugin1,plugin2', '--exclude=plugin1']);
131+
await runCapturingPrint(runner, <String>[
132+
'sample',
133+
'--packages=plugin1,plugin2',
134+
'--exclude=plugin1'
135+
]);
87136
expect(plugins, unorderedEquals(<String>[plugin2.path]));
88137
});
89138

90-
test('exclude plugins when plugins flag isn\'t specified', () async {
139+
test('exclude packages when packages flag isn\'t specified', () async {
91140
createFakePlugin('plugin1', packagesDir);
92141
createFakePlugin('plugin2', packagesDir);
93142
await runCapturingPrint(
94143
runner, <String>['sample', '--exclude=plugin1,plugin2']);
95144
expect(plugins, unorderedEquals(<String>[]));
96145
});
97146

98-
test('exclude federated plugins when plugins flag is specified', () async {
147+
test('exclude federated plugins when packages flag is specified', () async {
99148
createFakePlugin('plugin1', packagesDir.childDirectory('federated'));
100149
final Directory plugin2 = createFakePlugin('plugin2', packagesDir);
101150
await runCapturingPrint(runner, <String>[
102151
'sample',
103-
'--plugins=federated/plugin1,plugin2',
152+
'--packages=federated/plugin1,plugin2',
104153
'--exclude=federated/plugin1'
105154
]);
106155
expect(plugins, unorderedEquals(<String>[plugin2.path]));
107156
});
108157

109-
test('exclude entire federated plugins when plugins flag is specified',
158+
test('exclude entire federated plugins when packages flag is specified',
110159
() async {
111160
createFakePlugin('plugin1', packagesDir.childDirectory('federated'));
112161
final Directory plugin2 = createFakePlugin('plugin2', packagesDir);
113162
await runCapturingPrint(runner, <String>[
114163
'sample',
115-
'--plugins=federated/plugin1,plugin2',
164+
'--packages=federated/plugin1,plugin2',
116165
'--exclude=federated'
117166
]);
118167
expect(plugins, unorderedEquals(<String>[plugin2.path]));
@@ -315,7 +364,8 @@ packages/plugin1/plugin1_web/plugin1_web.dart
315364
expect(plugins, unorderedEquals(<String>[plugin1.path]));
316365
});
317366

318-
test('--plugins flag overrides the behavior of --run-on-changed-packages',
367+
test(
368+
'--packages flag overrides the behavior of --run-on-changed-packages',
319369
() async {
320370
gitDiffResponse = '''
321371
packages/plugin1/plugin1.dart
@@ -328,7 +378,7 @@ packages/plugin3/plugin3.dart
328378
createFakePlugin('plugin3', packagesDir);
329379
await runCapturingPrint(runner, <String>[
330380
'sample',
331-
'--plugins=plugin1,plugin2',
381+
'--packages=plugin1,plugin2',
332382
'--base-sha=master',
333383
'--run-on-changed-packages'
334384
]);

script/tool/test/list_command_test.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ void main() {
139139
);
140140
});
141141

142-
test('can filter plugins with the --plugins argument', () async {
142+
test('can filter plugins with the --packages argument', () async {
143143
createFakePlugin('plugin1', packagesDir);
144144

145145
// Create a federated plugin by creating a directory under the packages
@@ -157,7 +157,7 @@ void main() {
157157
createFakePubspec(macLibrary);
158158

159159
List<String> plugins = await runCapturingPrint(
160-
runner, <String>['list', '--plugins=plugin1']);
160+
runner, <String>['list', '--packages=plugin1']);
161161
expect(
162162
plugins,
163163
unorderedEquals(<String>[
@@ -166,7 +166,7 @@ void main() {
166166
);
167167

168168
plugins = await runCapturingPrint(
169-
runner, <String>['list', '--plugins=my_plugin']);
169+
runner, <String>['list', '--packages=my_plugin']);
170170
expect(
171171
plugins,
172172
unorderedEquals(<String>[
@@ -177,7 +177,7 @@ void main() {
177177
);
178178

179179
plugins = await runCapturingPrint(
180-
runner, <String>['list', '--plugins=my_plugin/my_plugin_web']);
180+
runner, <String>['list', '--packages=my_plugin/my_plugin_web']);
181181
expect(
182182
plugins,
183183
unorderedEquals(<String>[
@@ -186,7 +186,7 @@ void main() {
186186
);
187187

188188
plugins = await runCapturingPrint(runner,
189-
<String>['list', '--plugins=my_plugin/my_plugin_web,plugin1']);
189+
<String>['list', '--packages=my_plugin/my_plugin_web,plugin1']);
190190
expect(
191191
plugins,
192192
unorderedEquals(<String>[

0 commit comments

Comments
 (0)