blob: 97f288e9b47f5b5c624e47281f37ca322ae8c2ac [file] [log] [blame]
satayev075d07c2021-05-10 12:31:50 +01001/*
2 * Copyright (C) 2021 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto3";
18
19enum Classpath {
20 UNKNOWN = 0;
21 BOOTCLASSPATH = 1;
22 SYSTEMSERVERCLASSPATH = 2;
23 DEX2OATBOOTCLASSPATH = 3;
Jiakai Zhang89b88df2021-10-29 19:57:53 +000024 STANDALONE_SYSTEMSERVER_JARS = 4;
satayev075d07c2021-05-10 12:31:50 +010025}
26
27// Individual entry in a classpath variable.
28message Jar {
29
satayev4239d7b2021-05-18 19:32:02 +010030 // Path on the filesystem for the jar.
31 string path = 1;
satayev075d07c2021-05-10 12:31:50 +010032
33 // Environ classpath variable this jar belongs to.
34 // Must be set to a known classpath.
35 Classpath classpath = 2;
36
37 // Minimum API level required for the jar to be included on the classpath.
38 // If the system's API level is lower than the value specified in this
39 // attribute, the jar will not be included in the classpath.
satayev94b14302021-11-09 14:41:18 +000040 // Not setting this attribute implies the jar can be used on all API levels.
41 string min_sdk_version = 3;
satayev075d07c2021-05-10 12:31:50 +010042
43 // Maximum API level that the jar file supports.
satayev4239d7b2021-05-18 19:32:02 +010044 // If the system's API level is higher than the value specified in this
satayev075d07c2021-05-10 12:31:50 +010045 // attribute, the jar will not be included in the classpath.
satayev94b14302021-11-09 14:41:18 +000046 // Not setting this attribute implies unbound maximum.
47 string max_sdk_version = 4;
satayev075d07c2021-05-10 12:31:50 +010048}
49
50// Jars exported by a single partition.
51message ExportedClasspathsJars {
52
53 // All jars that are exported as part of any classpath environ variable
54 // (according to API level restrictions).
55 // The relative order of the jars is preserved upon final merging.
56 repeated Jar jars = 1;
57
58}