Eliminate build_all_plugins_app.sh (#4232)

Removes the `build_all_plugins_app.sh` bash script, in support of the goal of eliminating all use of bash from the repository (for maintainability, and for better Windows compatibility).

- The exclusion list moves to a config file, match other recent repo changes
- The exclusion logging moves into the tool itself, consistent with the tool doing more logging of skipped and excluded plugins
- The bulk of the logic moves to a Cirrus task template. This was done instead of rewriting the script in Dart, even though it will mean more work for alternate CI support (e.g., bringing this up on a Windows LUCI bot), because breaking it into components makes it easier to pinpoint failures from the CI UI rather than having all the steps smashed together.
This commit is contained in:
stuartmorgan
2021-08-13 16:22:24 -07:00
committed by GitHub
parent 1ee7bef513
commit 9b590484f6
3 changed files with 58 additions and 16 deletions

View File

@ -191,7 +191,7 @@ abstract class PluginCommand extends Command<void> {
}
/// Returns the set of plugins to exclude based on the `--exclude` argument.
Set<String> _getExcludedPackageName() {
Set<String> getExcludedPackageNames() {
final Set<String> excludedPackages = _excludedPackages ??
getStringListArg(_excludeArg).expand<String>((String item) {
if (item.endsWith('.yaml')) {
@ -265,7 +265,7 @@ abstract class PluginCommand extends Command<void> {
Stream<PackageEnumerationEntry> _getAllPackages() async* {
Set<String> plugins = Set<String>.from(getStringListArg(_packagesArg));
final Set<String> excludedPluginNames = _getExcludedPackageName();
final Set<String> excludedPluginNames = getExcludedPackageNames();
final bool runOnChangedPackages = getBoolArg(_runOnChangedPackagesArg);
if (plugins.isEmpty &&