executable.dart 3.04 KB
Newer Older
1 2 3 4
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5 6
import 'dart:async';

7
import 'runner.dart' as runner;
Hixie's avatar
Hixie committed
8
import 'src/commands/analyze.dart';
9
import 'src/commands/attach.dart';
10
import 'src/commands/build.dart';
11
import 'src/commands/channel.dart';
12
import 'src/commands/clean.dart';
13
import 'src/commands/config.dart';
14
import 'src/commands/create.dart';
Devon Carew's avatar
Devon Carew committed
15
import 'src/commands/daemon.dart';
16
import 'src/commands/devices.dart';
17
import 'src/commands/doctor.dart';
yjbanov's avatar
yjbanov committed
18
import 'src/commands/drive.dart';
19
import 'src/commands/emulators.dart';
20
import 'src/commands/format.dart';
21
import 'src/commands/fuchsia_reload.dart';
22
import 'src/commands/ide_config.dart';
23
import 'src/commands/inject_plugins.dart';
24 25
import 'src/commands/install.dart';
import 'src/commands/logs.dart';
26
import 'src/commands/materialize.dart';
27
import 'src/commands/packages.dart';
28
import 'src/commands/precache.dart';
29
import 'src/commands/run.dart';
Devon Carew's avatar
Devon Carew committed
30
import 'src/commands/screenshot.dart';
31
import 'src/commands/shell_completion.dart';
32
import 'src/commands/stop.dart';
33
import 'src/commands/test.dart';
34
import 'src/commands/trace.dart';
35
import 'src/commands/update_packages.dart';
36
import 'src/commands/upgrade.dart';
37
import 'src/runner/flutter_command.dart';
38

39 40
/// Main entry point for commands.
///
41
/// This function is intended to be used from the `flutter` command line tool.
42
Future<Null> main(List<String> args) async {
43
  final bool verbose = args.contains('-v') || args.contains('--verbose');
44 45 46

  final bool doctor = (args.isNotEmpty && args.first == 'doctor') ||
      (args.length == 2 && verbose && args.last == 'doctor');
47
  final bool help = args.contains('-h') || args.contains('--help') ||
48
      (args.isNotEmpty && args.first == 'help') || (args.length == 1 && verbose);
49
  final bool muteCommandLogging = help || doctor;
50
  final bool verboseHelp = help && verbose;
Devon Carew's avatar
Devon Carew committed
51

52
  await runner.run(args, <FlutterCommand>[
53
    new AnalyzeCommand(verboseHelp: verboseHelp),
54
    new AttachCommand(verboseHelp: verboseHelp),
55
    new BuildCommand(verboseHelp: verboseHelp),
56
    new ChannelCommand(verboseHelp: verboseHelp),
57
    new CleanCommand(),
58
    new ConfigCommand(verboseHelp: verboseHelp),
59 60 61
    new CreateCommand(),
    new DaemonCommand(hidden: !verboseHelp),
    new DevicesCommand(),
62
    new DoctorCommand(verbose: verbose),
63
    new DriveCommand(),
64
    new EmulatorsCommand(),
65
    new FormatCommand(),
66
    new FuchsiaReloadCommand(),
67
    new IdeConfigCommand(hidden: !verboseHelp),
68
    new InjectPluginsCommand(hidden: !verboseHelp),
69 70
    new InstallCommand(),
    new LogsCommand(),
71
    new MaterializeCommand(),
72 73 74 75
    new PackagesCommand(),
    new PrecacheCommand(),
    new RunCommand(verboseHelp: verboseHelp),
    new ScreenshotCommand(),
76
    new ShellCompletionCommand(),
77
    new StopCommand(),
78
    new TestCommand(verboseHelp: verboseHelp),
79 80 81
    new TraceCommand(),
    new UpdatePackagesCommand(hidden: !verboseHelp),
    new UpgradeCommand(),
82 83 84
  ], verbose: verbose,
     muteCommandLogging: muteCommandLogging,
     verboseHelp: verboseHelp);
85
}