# Copyright 2021 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 sys

import config_util  # pylint: disable=import-error


# This class doesn't need an __init__ method, so we disable the warning
# pylint: disable=no-init
class Flutter(config_util.Config):
  """Basic Config class for the Flutter repository."""

  @staticmethod
  def fetch_spec(_props):
    solution = {
      'custom_deps': {},
      'deps_file': 'DEPS',
      'managed'  : False,
      'name'     : 'src/flutter',
      'safesync_url': '',
      'url'      : 'https://github.com/flutter/engine.git',
    }
    spec = {
      'solutions': [solution]
    }
    return {
        'type': 'gclient_git',
        'gclient_git_spec': spec,
    }

  @staticmethod
  def expected_root(_props):
    return 'src'


def main(argv=None):
  return Flutter().handle_args(argv)


if __name__ == '__main__':
  sys.exit(main(sys.argv))

Add fetch recipe for the Flutter Engine repository.
Add fetch recipe for the Flutter Engine repository.

Tested with the following

$ mkdir flutter_engine
$ cd flutter_engine
$ fetch flutter
$ cd src

 # Confirm the source tree and dependencies are as expected.

BUG=None
TEST=see above

Change-Id: Ie1a6653c3b76354e282688e0db50acc112794426
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3026128
Reviewed-by: Dirk Pranke <6693ee08b084bb2ffa767f664c99b689395e0e4b@google.com>
Commit-Queue: Chinmay Garde <2c5f961126c80cfe4f9b4f17931784885f34f766@google.com>
