// 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.static_checks;

message InputProperties {
  // Jiri manifest to use.
  string manifest = 1;

  // Remote manifest repository.
  string remote = 2;

  // Config file paths to pass to check-licenses, relative to checkout root.
  repeated string check_licenses_configs = 3;

  // Spec path to pass to fint.
  string fint_params_path = 4;

  // Target binary name to use for doc-checker.
  // TODO(fxbug.dev/114749): delete this after soft transition.
  string doc_checker_binary = 5;
}
