1// Copyright 2022 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package app
16
17// Report request structure
18type ReportRequest struct {
19	Targets []string `json:"targets"` // Targets
20}
21
22// Report response data
23type Report struct {
24	Targets map[string]*BuildTarget `json:"targets"` // Build target data
25}
26
27// Host tool report response data
28type HostReport struct {
29	Path     string   `json:"path"`      // Path to find host tools
30	SymLinks int      `json:"sym_links"` // Number of symlinks found
31	Targets  []string `json:"targets"`   // Target for tools found
32}
33
34// Project level commit
35type ProjectCommit struct {
36	Project  string `json:"project"`  // Project
37	Revision string `json:"revision"` // Revision
38}
39
40// Query request
41type QueryRequest struct {
42	Files []string `json:"files"` // Files to resolve
43}
44
45// Output response
46type QueryResponse struct {
47	InputFiles   []string `json:"input_files"`             // Input files found
48	OutputFiles  []string `json:"output_files"`            // Output files found
49	UnknownFiles []string `json:"unknown_files,omitempty"` // Unknown files
50}
51