# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Instructions for building packages can be found in the "doc/" subdirectory
# under that package name.

# Proto3 Protocol Buffers generator (protoc).
infra/3pp/tools/protoc/${platform} version:2@3.17.3

# Node.js deployment.
infra/nodejs/nodejs/linux-amd64   node_version:12.13.0

# ADB binary.
infra/adb/linux-amd64             adb_version:1.0.36

# Fastboot binary.
infra/fastboot/linux-amd64        fastboot_version:5943271ace17

# LogDog tool.
infra/tools/luci/logdog/logdog/linux-amd64  git_revision:5cf65fdf804a9b3f3023f79d5b3cab2a88ccd09e

# cloud_sql_proxy tool (https://cloud.google.com/sql/docs/mysql/sql-proxy)
infra/tools/cloud_sql_proxy/linux-amd64  downloaded:2017_07_25

# Crimson tool.
infra/machine-db/crimson/linux-amd64 stable

# Helper for building Docker images and GAE tarballs.
infra/tools/cloudbuildhelper/linux-amd64 git_revision:fcb46317aea38f528dc26ebc4053846195766e53

# Result adapter can wrap some test frameworks for `rdb stream` compatibility.
@Subdir result_adapter
infra/tools/result_adapter/linux-amd64 git_revision:18eac35dc014899a0836db0570740f3706d8621d
