<!--
 Copyright 2020 Google LLC

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<!--
 The following repositories have caused build failures due to intermittent
 fetch issues.  Since "repo sync" can handle flaky repositories, we add
 them here so that they will be in the source tree.
-->
<manifest>

  <remote  name="chromium"
           fetch="https://chromium.googlesource.com"
           review="https://chromium-review.googlesource.com" />

  <!--
   These repositories do not need to be pinned to a specific commit SHA
   because their ebuilds already pin to a specific commit SHA. We just need
   to make sure that the commit SHA needed by the ebuild is reachable by the
   revision written here.

   However, we still pin to a commit SHA to avoid generating a ton of erroneous
   build numbers.
  -->
  <project path="src/third_party/autotest/files/server/cros/faft/fw-testing-configs"
           name="chromiumos/platform/fw-testing-configs"
           revision="b54d9f238f5afd6053ce9c558319f1d6dcf3e26c"
           remote="chromium" />
  <project path="src/platform/tast"
           name="chromiumos/platform/tast"
           revision="c71e75256bab5d8fd0688cb32fa35d228344cc5a"
           remote="chromium" />
  <project path="src/platform/tast-tests"
           name="chromiumos/platform/tast-tests"
           revision="11c6d6ad902fe467e48e25143d321ce04af826aa"
           remote="chromium" />
  <project path="src/platform/tast-tests/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
           name="chromiumos/platform/fw-testing-configs"
           revision="b54d9f238f5afd6053ce9c558319f1d6dcf3e26c"
           remote="chromium" />
  <project path="src/platform/microbenchmarks"
           name="chromiumos/platform/microbenchmarks"
           revision="3b6eb7fbda4b4c3187239caa78f773b22f93b5a9"
           remote="chromium" />
  <project path="src/third_party/hdctools"
           name="chromiumos/third_party/hdctools"
           revision="b027d20dc97a00013c2b9d8c9ab932ddaa0c7008"
           remote="chromium" />
  <project path="src/third_party/rootdev"
           name="chromiumos/third_party/rootdev"
           revision="7082cbf0ae51eb1044fe1a0749245e97e4fcfc89"
           remote="chromium" />

  <!--
   breakpad and lss are special; they need to be pinned to specific commit
   SHAs, similar to our mirrored repositories.
  -->
  <project path="src/third_party/breakpad"
           name="breakpad/breakpad"
           revision="1f9903c161229c55670ae0f92fcbcca9c5fa6b68"
           remote="chromium" />
  <project path="src/third_party/breakpad/src/third_party/lss"
           name="linux-syscall-support.git"
           revision="e1e7b0ad8ee99a875b272c8e33e308472e897660"
           remote="chromium" />

</manifest>

