1/* 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; 24} 25 26// Individual entry in a classpath variable. 27message Jar { 28 29 // Path on the filesystem for the jar. 30 string path = 1; 31 32 // Environ classpath variable this jar belongs to. 33 // Must be set to a known classpath. 34 Classpath classpath = 2; 35 36 // Minimum API level required for the jar to be included on the classpath. 37 // If the system's API level is lower than the value specified in this 38 // attribute, the jar will not be included in the classpath. 39 // Not setting this attribute, defaults the value to zero and implies the jar 40 // can be used on all API levels. 41 int32 min_sdk_version = 3; 42 43 // Maximum API level that the jar file supports. 44 // Not setting this attribute implies unbound maximum; otherwise set value 45 // must be greater or equal to min_sdk value. 46 // If the system's API level is higher than the value specified in this 47 // attribute, the jar will not be included in the classpath. 48 int32 max_sdk_version = 4; 49} 50 51// Jars exported by a single partition. 52message ExportedClasspathsJars { 53 54 // All jars that are exported as part of any classpath environ variable 55 // (according to API level restrictions). 56 // The relative order of the jars is preserved upon final merging. 57 repeated Jar jars = 1; 58 59} 60