<!--
 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="72df0f2b89ecca6d2f823038c6422fe5b898a0fb"
           remote="chromium" />
  <project path="src/platform/tast"
           name="chromiumos/platform/tast"
           revision="b1fb85673bd75c54dae214fc3d7764672916819d"
           remote="chromium" />
  <project path="src/platform/tast-tests"
           name="chromiumos/platform/tast-tests"
           revision="fd2ca8e5fb9fdb7f8b4d473974386a822428dc21"
           remote="chromium" />
  <project path="src/platform/tast-tests/src/chromiumos/tast/remote/firmware/data/fw-testing-configs"
           name="chromiumos/platform/fw-testing-configs"
           revision="72df0f2b89ecca6d2f823038c6422fe5b898a0fb"
           remote="chromium" />
  <project path="src/platform/microbenchmarks"
           name="chromiumos/platform/microbenchmarks"
           revision="beefcc767427751cf1343c1a944c5dbce7aabfa2"
           remote="chromium" />
  <project path="src/third_party/hdctools"
           name="chromiumos/third_party/hdctools"
           revision="cc32f0209b995c1334b3e5f310cccc47905680af"
           remote="chromium" />
  <project path="src/third_party/rootdev"
           name="chromiumos/third_party/rootdev"
           revision="b2f37be7c25bc83b76f1b7063a4ef38b824dc4ef"
           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="bc7ddae23425cee8999e4e8ed61f77a62f058cbf"
           remote="chromium" />
  <project path="src/third_party/breakpad/src/third_party/lss"
           name="linux-syscall-support.git"
           revision="e1e7b0ad8ee99a875b272c8e33e308472e897660"
           remote="chromium" />

</manifest>


