// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter_tools/src/runner/flutter_command.dart'; typedef CommandFunction = Future<FlutterCommandResult> Function(); class DummyFlutterCommand extends FlutterCommand { DummyFlutterCommand({ this.shouldUpdateCache = false, this.noUsagePath = false, this.name = 'dummy', this.commandFunction, this.packagesPath, this.fileSystemScheme, this.fileSystemRoots = const <String>[], }); final bool noUsagePath; final CommandFunction? commandFunction; @override final bool shouldUpdateCache; @override String get description => 'does nothing'; @override Future<String?> get usagePath async => noUsagePath ? null : super.usagePath; @override final String name; @override Future<FlutterCommandResult> runCommand() async { return commandFunction == null ? FlutterCommandResult.fail() : await commandFunction!(); } @override final String? packagesPath; @override final String? fileSystemScheme; @override final List<String> fileSystemRoots; }