# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Clang
fuchsia/clang/${platform} goma
fuchsia/sysroot/linux-amd64 git_revision:a4aaacde9d37ccf91a0f8dc8267cb7ad5d9be283

# Rust
fuchsia/rust/${platform} git_revision:be493fe8cc40c3d3f6030a1313c1ff747fce770d

# Ninja
@Subdir bin
infra/ninja/${platform} version:1.9.0

# GN
gn/gn/${platform} git_revision:239533d2d91a04b3317ca9101cf7189f4e651e4d
fuchsia/tools/buildidtool/${platform} git_revision:5c546d2e55ae0a2afe565333c6118a48780f8017

# Goma
@Subdir goma
fuchsia/third_party/goma/client/${platform} git_revision:9c15a8cecf525a4fbc7d4a11685e7dbd61cdc830

# Go
@Subdir golang
fuchsia/go/${platform} git_revision:22f77b87c4a1741ab862fc2239921a855352fc37

# Godepfile
@Subdir golang/bin
fuchsia/tools/godepfile/${platform} git_revision:6922d7833617841e853a0be52a285f6cd07a0a10

# gcloud
@Subdir gcloud/google-cloud-sdk
infra/gcloud/${platform} version:206.0.0.chromium0
