// Copyright 2021 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.

syntax = "proto3";

package recipes.fuchsia.contrib.cargo_build;

message InputProperties {
  // URL of the git remote to clone and build.
  string remote = 1;

  // The name of the binary produced by `cargo build --release`.
  string bin_name = 2;

  // The name of the CIPD package to upload the binary to.
  string cipd_package = 3;

  // Whether this is being executed for a dry run or a real build.
  bool dry_run = 4;

  // List of cargo features to enable for the build.
  repeated string features = 5;
}
