# Copyright 2020 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.

"""Frequently used git repository URLs."""

repos = struct(
    FLUTTER_INFRA = "https://flutter.googlesource.com/infra",
    FLUTTER_RECIPES = "https://flutter.googlesource.com/recipes",
    IDEVICEINSTALLER =
        "https://flutter-mirrors.googlesource.com/ideviceinstaller",
    LIBIMOBILEDEVICE =
        "https://flutter-mirrors.googlesource.com/libimobiledevice",
    LIBPLIST = "https://flutter-mirrors.googlesource.com/libplist",
    USBMUXD = "https://flutter-mirrors.googlesource.com/libusbmuxd",
    OPENSSL = "https://flutter-mirrors.googlesource.com/openssl",
    IOS_DEPLOY = "https://flutter-mirrors.googlesource.com/ios-deploy",
    LIBZIP = "https://flutter-mirrors.googlesource.com/libzip",
    # Map makes it easy to look up source from .ci.yaml targets.
    # TODO(chillers): Migrate all repos to map. https://github.com/flutter/flutter/issues/84998
    GIT_REMOTE = {
        "cocoon": "https://flutter.googlesource.com/mirrors/cocoon",
        "engine": "https://flutter.googlesource.com/mirrors/engine",
        "flutter": "https://flutter.googlesource.com/mirrors/flutter",
        "packages": "https://flutter.googlesource.com/mirrors/packages",
        "plugins": "https://flutter.googlesource.com/mirrors/plugins",
    },
)
