xref: /aosp_15_r20/tools/external_updater/metadata.proto (revision 3c875a214f382db1236d28570d1304ce57138f32)
1*3c875a21SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
2*3c875a21SAndroid Build Coastguard Worker//
3*3c875a21SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*3c875a21SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*3c875a21SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*3c875a21SAndroid Build Coastguard Worker//
7*3c875a21SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*3c875a21SAndroid Build Coastguard Worker//
9*3c875a21SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*3c875a21SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*3c875a21SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*3c875a21SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*3c875a21SAndroid Build Coastguard Worker// limitations under the License.
14*3c875a21SAndroid Build Coastguard Worker
15*3c875a21SAndroid Build Coastguard Worker// A proto definition used to parse METADATA file in third party projects.
16*3c875a21SAndroid Build Coastguard Worker
17*3c875a21SAndroid Build Coastguard Worker// This proto will only contain fields and values the updater cares about.
18*3c875a21SAndroid Build Coastguard Worker// It is not intended to be the formal definition of METADATA file.
19*3c875a21SAndroid Build Coastguard Worker
20*3c875a21SAndroid Build Coastguard Worker// See google3/third_party/metadata.proto if you need to add more stuff to match
21*3c875a21SAndroid Build Coastguard Worker// upstream.
22*3c875a21SAndroid Build Coastguard Worker
23*3c875a21SAndroid Build Coastguard Workersyntax = "proto2"; // As long as upstream is proto2...
24*3c875a21SAndroid Build Coastguard Worker
25*3c875a21SAndroid Build Coastguard Workerpackage external_updater;
26*3c875a21SAndroid Build Coastguard Worker
27*3c875a21SAndroid Build Coastguard Workermessage MetaData {
28*3c875a21SAndroid Build Coastguard Worker  optional string name = 1;
29*3c875a21SAndroid Build Coastguard Worker  optional string description = 3;
30*3c875a21SAndroid Build Coastguard Worker  optional ThirdPartyMetaData third_party = 13;
31*3c875a21SAndroid Build Coastguard Worker}
32*3c875a21SAndroid Build Coastguard Worker
33*3c875a21SAndroid Build Coastguard Workerenum LicenseType {
34*3c875a21SAndroid Build Coastguard Worker  UNKNOWN = 0;
35*3c875a21SAndroid Build Coastguard Worker  BY_EXCEPTION_ONLY = 1;
36*3c875a21SAndroid Build Coastguard Worker  NOTICE = 2;
37*3c875a21SAndroid Build Coastguard Worker  PERMISSIVE = 3;
38*3c875a21SAndroid Build Coastguard Worker  RECIPROCAL = 4;
39*3c875a21SAndroid Build Coastguard Worker  RESTRICTED_IF_STATICALLY_LINKED = 5;
40*3c875a21SAndroid Build Coastguard Worker  RESTRICTED = 6;
41*3c875a21SAndroid Build Coastguard Worker  UNENCUMBERED = 7;
42*3c875a21SAndroid Build Coastguard Worker}
43*3c875a21SAndroid Build Coastguard Worker
44*3c875a21SAndroid Build Coastguard Workerenum DirectoryType {
45*3c875a21SAndroid Build Coastguard Worker  PACKAGE = 1;
46*3c875a21SAndroid Build Coastguard Worker  GROUP = 2;
47*3c875a21SAndroid Build Coastguard Worker  GOOGLE_INTERNAL = 4;
48*3c875a21SAndroid Build Coastguard Worker}
49*3c875a21SAndroid Build Coastguard Worker
50*3c875a21SAndroid Build Coastguard Workermessage ThirdPartyMetaData {
51*3c875a21SAndroid Build Coastguard Worker  repeated URL url = 1;
52*3c875a21SAndroid Build Coastguard Worker  optional string version = 2;
53*3c875a21SAndroid Build Coastguard Worker  optional LicenseType license_type = 4;
54*3c875a21SAndroid Build Coastguard Worker  optional string license_note = 5;
55*3c875a21SAndroid Build Coastguard Worker  optional string local_modifications = 6;
56*3c875a21SAndroid Build Coastguard Worker  optional Security security = 7;
57*3c875a21SAndroid Build Coastguard Worker  optional Date last_upgrade_date = 10;
58*3c875a21SAndroid Build Coastguard Worker  optional DirectoryType type = 11 [default = PACKAGE];
59*3c875a21SAndroid Build Coastguard Worker  optional string homepage = 14;
60*3c875a21SAndroid Build Coastguard Worker  repeated Identifier identifier = 15;
61*3c875a21SAndroid Build Coastguard Worker}
62*3c875a21SAndroid Build Coastguard Worker
63*3c875a21SAndroid Build Coastguard Workermessage URL {
64*3c875a21SAndroid Build Coastguard Worker  enum Type {
65*3c875a21SAndroid Build Coastguard Worker    UNKNOWN = 0;
66*3c875a21SAndroid Build Coastguard Worker    HOMEPAGE = 1;
67*3c875a21SAndroid Build Coastguard Worker    ARCHIVE = 2;
68*3c875a21SAndroid Build Coastguard Worker    GIT = 3;
69*3c875a21SAndroid Build Coastguard Worker    PIPER = 4;
70*3c875a21SAndroid Build Coastguard Worker    SVN = 7;
71*3c875a21SAndroid Build Coastguard Worker    HG = 8;
72*3c875a21SAndroid Build Coastguard Worker    DARCS = 9;
73*3c875a21SAndroid Build Coastguard Worker    OTHER = 11;
74*3c875a21SAndroid Build Coastguard Worker  }
75*3c875a21SAndroid Build Coastguard Worker
76*3c875a21SAndroid Build Coastguard Worker  optional Type type = 1;
77*3c875a21SAndroid Build Coastguard Worker
78*3c875a21SAndroid Build Coastguard Worker  optional string value = 2;
79*3c875a21SAndroid Build Coastguard Worker}
80*3c875a21SAndroid Build Coastguard Worker
81*3c875a21SAndroid Build Coastguard Workermessage Identifier {
82*3c875a21SAndroid Build Coastguard Worker  optional string type = 1;
83*3c875a21SAndroid Build Coastguard Worker  optional string omission_reason = 2;
84*3c875a21SAndroid Build Coastguard Worker  optional string value = 3;
85*3c875a21SAndroid Build Coastguard Worker  optional string version = 4;
86*3c875a21SAndroid Build Coastguard Worker  optional bool primary_source = 6;
87*3c875a21SAndroid Build Coastguard Worker}
88*3c875a21SAndroid Build Coastguard Worker
89*3c875a21SAndroid Build Coastguard Workermessage Date {
90*3c875a21SAndroid Build Coastguard Worker  optional int32 year = 1;
91*3c875a21SAndroid Build Coastguard Worker  optional int32 month = 2;
92*3c875a21SAndroid Build Coastguard Worker  optional int32 day = 3;
93*3c875a21SAndroid Build Coastguard Worker}
94*3c875a21SAndroid Build Coastguard Worker
95*3c875a21SAndroid Build Coastguard Workermessage Security {
96*3c875a21SAndroid Build Coastguard Worker  enum Category {
97*3c875a21SAndroid Build Coastguard Worker    SANDBOXED_ONLY = 1;
98*3c875a21SAndroid Build Coastguard Worker    TRUSTED_DATA_ONLY = 2;
99*3c875a21SAndroid Build Coastguard Worker    REVIEWED_AND_SECURE = 3;
100*3c875a21SAndroid Build Coastguard Worker  }
101*3c875a21SAndroid Build Coastguard Worker
102*3c875a21SAndroid Build Coastguard Worker  optional Category category = 1;
103*3c875a21SAndroid Build Coastguard Worker  optional string note = 2;
104*3c875a21SAndroid Build Coastguard Worker  repeated string tag = 3;
105*3c875a21SAndroid Build Coastguard Worker  repeated string mitigated_security_patch = 5;
106*3c875a21SAndroid Build Coastguard Worker}
107