1// copyright (C) 2018 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
15// A proto definition used to parse METADATA file in third party projects.
16
17// This proto will only contain fields and values the updater cares about.
18// It is not intended to be the formal definition of METADATA file.
19
20syntax = "proto3";
21
22package external_updater;
23
24message MetaData {
25  string name = 1;
26  string description = 3;
27  ThirdPartyMetaData third_party = 13;
28}
29
30enum LicenseType {
31  UNKNOWN = 0;
32  BY_EXCEPTION_ONLY = 1;
33  NOTICE = 2;
34  PERMISSIVE = 3;
35  RECIPROCAL = 4;
36  RESTRICTED_IF_STATICALLY_LINKED = 5;
37  RESTRICTED = 6;
38  UNENCUMBERED = 7;
39}
40
41message ThirdPartyMetaData {
42  repeated URL url = 1;
43  string version = 2;
44  LicenseType license_type = 4;
45  Date last_upgrade_date = 10;
46}
47
48message URL {
49  enum Type {
50    UNKNOWN = 0;
51    HOMEPAGE = 1;
52    ARCHIVE = 2;
53    GIT = 3;
54    SVN = 7;
55    HG = 8;
56    DARCS = 9;
57    OTHER = 11;
58  }
59
60  Type type = 1;
61
62  string value = 2;
63}
64
65message Date {
66  int32 year = 1;
67  int32 month = 2;
68  int32 day = 3;
69}
70