// Copyright 2016 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.

import 'dart:async';

import '../globals.dart';
import '../runner/flutter_command.dart';

class PrecacheCommand extends FlutterCommand {
  @override
  final String name = 'precache';

  @override
  final String description = 'Populates the Flutter tool\'s cache of binary artifacts.';

  @override
  bool get requiresProjectRoot => false;

  @override
  Future<int> runInProject() async {
    if (cache.isUpToDate())
      printStatus('Already up-to-date.');
    else
      await cache.updateAll();

    return 0;
  }
}