exec method

  1. @override
Future<void> exec(
  1. ExecContext context
)
override

Run command.

The contents of katana.yaml and the arguments of the command are passed to context.

コマンドを実行します。

contextkatana.yamlの内容やコマンドの引数が渡されます。

Implementation

@override
Future<void> exec(ExecContext context) async {
  final bin = context.yaml.getAsMap("bin");
  final flutter = bin.get("flutter", "flutter");
  final melos = bin.get("melos", "melos");
  if (File("melos.yaml").existsSync()) {
    await command(
      "Watch build_runner for all packages to generate code.",
      [
        melos,
        "exec",
        "--",
        "$flutter packages pub run build_runner watch --delete-conflicting-outputs",
      ],
    );
  } else {
    await command(
      "Watch the project's build_runner to generate code.",
      [
        flutter,
        "packages",
        "pub",
        "run",
        "build_runner",
        "watch",
        "--delete-conflicting-outputs",
      ],
    );
  }
}