<!--
 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.
-->

<manifest>

  <include name="flaky_repos.xml" />

  <remote  name="cos"
           fetch="https://cos.googlesource.com"
           review="https://cos-review.googlesource.com"  />
  <default remote="cos" revision="refs/heads/release-R89" sync-j="8" />
  <notice>
Your sources have been sync'd successfully.
  </notice>

  <!-- mirrored cros_sdk dependencies -->
  <project path="chromite/infra/proto"
           name="mirrors/cros/chromiumos/infra/proto"
           revision="2c4401bf41f01370acea4535deeaabbcd8ade02c" />
  <project path="chromite/third_party/pyelftools"
           name="mirrors/cros/chromiumos/third_party/pyelftools"
           revision="0890b98431a9b2e637c18f719232d06a4e5c3cd8" />
  <project path="src/platform/crostestutils"
           name="mirrors/cros/chromiumos/platform/crostestutils"
           revision="7666ad6d68f381a9de17d682c01803ca2f1c985d" />
  <project path="src/third_party/autotest/files"
           name="mirrors/cros/chromiumos/third_party/autotest"
           revision="db48601acf9d646e8f4b4c223e67da2d40cf02e6" />
  <project path="src/platform/dev"
           name="mirrors/cros/chromiumos/platform/dev-util"
           revision="99635d40593425e35f2154cb8b8b77ecab277896" />
  <project path="src/third_party/toolchain-utils"
           name="mirrors/cros/chromiumos/third_party/toolchain-utils"
           revision="6f559ce22c83d2ebe12c7858c107f2151e769879" />
  <project path="src/third_party/portage_tool"
           name="mirrors/cros/chromiumos/third_party/portage_tool"
           revision="608edc2b3da1b31929109f9f6f64cf0b6a112c0a" />
  <project path="src/chromium/depot_tools"
           name="mirrors/cros/chromium/tools/depot_tools"
           revision="9b5dd7ab8a98140a1b73b9dea29245605137cd09" />
  <project path="src/third_party/coreboot"
           name="mirrors/cros/chromiumos/third_party/coreboot"
           revision="1cf1d1ceda64e0b81170f8454fd5ecca311667d5" />
  <project path="src/third_party/modp_b64"
           name="mirrors/cros/aosp/platform/external/modp_b64"
           revision="467734f4870d3ab23968f5ebdd461f6112e4103b" />
  <project path="src/platform2"
           name="mirrors/cros/chromiumos/platform2"
           revision="2aa07c152c3b705c402c44697d269c06f637d603" />
  <project path="infra_virtualenv"
           name="mirrors/cros/chromiumos/infra_virtualenv"
           revision="bfae4bfc108dd981bf3887b45cee10395253fe1d" />
  <project path="src/third_party/u-boot/files"
           name="mirrors/cros/chromiumos/third_party/u-boot"
           revision="bc1199918e73f3f810b2eeb5dc38e71a5914772a" />
  <project path="src/third_party/flashmap"
           name="mirrors/cros/chromiumos/third_party/flashmap"
           revision="2f7b2e16f588dde75a0c9c28175f16b8cb9e11dc" />

  <!-- COS sources -->
  <project path="src/overlays"
           name="cos/overlays/board-overlays"
           revision="refs/heads/main-R89" />
  <project path="src/third_party/portage-stable"
           name="third_party/overlays/portage-stable"
           revision="refs/heads/main-R89" />
  <project path="src/third_party/eclass-overlay"
           name="third_party/overlays/eclass-overlay" />
  <project path="src/third_party/chromiumos-overlay"
           sync-c="true"
           name="third_party/overlays/chromiumos-overlay"
           revision="refs/heads/main-R89" />
  <project path="src/scripts"
           name="third_party/platform/crosutils"
           revision="refs/heads/release-R89" />
  <project path="chromite"
           name="third_party/chromite"
           revision="refs/heads/release-R89" />
  <project path="src/platform/vboot_reference"
           name="third_party/platform/vboot_reference"
           revision="refs/heads/release-R89" />
  <project path="src/repohooks"
           name="cos/repohooks"
           revision="refs/heads/master" />
  <project path="src/platform/cobble"
           name="cos/cobble" />
  <project path="manifest" name="cos/manifest" >
      <copyfile src="LICENSE" dest="LICENSE" />
  </project>
  <project path="src/third_party/kernel/v4.19"
           name="third_party/kernel"
           revision="refs/heads/main-R89-cos-4.19" />
  <project path="src/third_party/kernel/v5.4"
           name="third_party/kernel"
           revision="refs/heads/main-R89-cos-5.4" />

  <repo-hooks enabled-list="pre-upload"
           in-project="cos/repohooks" />

</manifest>

