<!--
 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/master" 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="026e7856a21378005ea6932a76f81039b4c60d6a" />
  <project path="chromite/third_party/pyelftools"
           name="mirrors/cros/chromiumos/third_party/pyelftools"
           revision="6fec9f599bef566fe8f6f6ca6c2102508b664792" />
  <project path="src/platform/crostestutils"
           name="mirrors/cros/chromiumos/platform/crostestutils"
           revision="25ad1e69d8af0959b71504eca5f3450b8b122bd3" />
  <project path="src/third_party/autotest/files"
           name="mirrors/cros/chromiumos/third_party/autotest"
           revision="60ac81314efc8b9afa57bfed98402b9250a51128" />
  <project path="src/platform/dev"
           name="mirrors/cros/chromiumos/platform/dev-util"
           revision="b7463922626c7b358bcbea62cb229d571bc76201" />
  <project path="src/third_party/toolchain-utils"
           name="mirrors/cros/chromiumos/third_party/toolchain-utils"
           revision="79644ecd692df1a59cc50e9d31514948edb74852" />
  <project path="src/third_party/portage_tool"
           name="mirrors/cros/chromiumos/third_party/portage_tool"
           revision="dd1033474678f08f981e53afb24221654c1f8ff3" />
  <project path="src/chromium/depot_tools"
           name="mirrors/cros/chromium/tools/depot_tools"
           revision="c49a7334d30256abc1fc1e56d79615a220028998" />
  <project path="src/third_party/coreboot"
           name="mirrors/cros/chromiumos/third_party/coreboot"
           revision="801687b38b1c72e7b8dab2f9ccf5ea0c5e9d5922" />
  <project path="src/third_party/modp_b64"
           name="mirrors/cros/aosp/platform/external/modp_b64"
           revision="269b6fb8401617b85e2dff7ae8a7b0f97613e2cd" />
  <project path="src/platform2"
           name="mirrors/cros/chromiumos/platform2"
           revision="da9f7231d7dd7f2f80b01f90fa1b62df4bac374b" />
  <project path="infra_virtualenv"
           name="mirrors/cros/chromiumos/infra_virtualenv"
           revision="cab8a95f2961561eb56a95d6f2bfc685686db75a" />
  <project path="src/third_party/u-boot/files"
           name="mirrors/cros/chromiumos/third_party/u-boot"
           revision="39ce6d27ad29fd324793a8d0c7db8ae712cc027c" />
  <project path="src/third_party/flashmap"
           name="mirrors/cros/chromiumos/third_party/flashmap"
           revision="9c71c8331ad52a11d29496ffb10cbdb1a51e2ccb" />

  <!-- COS sources -->
  <project path="src/overlays"
           name="cos/overlays/board-overlays" />
  <project path="src/third_party/portage-stable"
           name="third_party/overlays/portage-stable" />
  <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" />
  <project path="src/scripts"
           name="third_party/platform/crosutils"
           revision="refs/heads/main" />
  <project path="chromite"
           name="third_party/chromite"
           revision="refs/heads/main" />
  <project path="src/platform/vboot_reference"
           name="third_party/platform/vboot_reference"
           revision="refs/heads/main" />
  <project path="src/compliance"
           name="cos/compliance"
           revision="refs/heads/main" />
  <project path="src/repohooks"
           name="cos/repohooks" />
  <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/policymanager"
           name="cos/policymanager"
           revision="refs/heads/main" />
  <project path="src/third_party/toolbox"
           name="third_party/toolbox"
           revision="refs/heads/main" />
  <project path="src/third_party/kernel/v5.4"
           name="third_party/kernel"
           revision="refs/heads/cos-5.4" />
  <project path="src/third_party/kernel/v5.10"
           name="third_party/kernel"
           revision="refs/heads/cos-5.10" />
  <project path="src/third_party/kernel/v5.15"
           name="third_party/kernel"
           revision="refs/heads/cos-5.15" />

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

</manifest>
