Home | History | Annotate | Download | only in proto
      1 // Copyright 2016 Google Inc. All Rights Reserved.
      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 
     15 // Definitions for dependency reports.
     16 
     17 syntax = "proto2";
     18 
     19 option java_package = "com.google.turbine.proto";
     20 option java_outer_classname = "DepsProto";
     21 
     22 message Dependency {
     23 
     24   enum Kind {
     25     // Dependency used explicitly in the source.
     26     EXPLICIT = 0;
     27     // Dependency that is implicitly loaded and used by the compiler.
     28     IMPLICIT = 1;
     29     // Unused dependency.
     30     UNUSED = 2;
     31     // Implicit dependency considered by the compiler but not completed.
     32     INCOMPLETE = 3;
     33   }
     34 
     35   // Path to the artifact representing this dependency.
     36   required string path = 1;
     37 
     38   // Dependency kind
     39   required Kind kind = 2;
     40 }
     41 
     42 // Top-level message found in .deps artifacts
     43 message Dependencies {
     44   repeated Dependency dependency = 1;
     45 
     46   // Name of the rule being analyzed.
     47   optional string rule_label = 2;
     48 
     49   // Whether the action was successful; even when compilation fails, partial
     50   // dependency information can be useful.
     51   optional bool success = 3;
     52 }
     53