Files
android_packages_modules_co…/proto/classpaths.proto
satayev 075d07c591 Move SdkExtensions/proto to packages/modules/common.
The proto definitions may be needed at build time to generate appropriate
configs for the modules. Unbundled ART branches do not include
packages/modules/SdkExtenstion in their manifest; so put the proto in a
project that should be visible to all unbundled modules.

Move any relevant tools to packages/modules/common/tools as well.

Bug: 180105615
Test: m nothing
Change-Id: I4efa4300553af6b321f46adb29b8cc90e4556955
2021-05-10 18:27:54 +01:00

63 lines
2.2 KiB
Protocol Buffer

/*
* Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
enum Classpath {
UNKNOWN = 0;
BOOTCLASSPATH = 1;
SYSTEMSERVERCLASSPATH = 2;
DEX2OATBOOTCLASSPATH = 3;
}
// Individual entry in a classpath variable.
message Jar {
// Path on the filesystem for the jar, relative to the partition.
// For example, for APEX "com.android.myapex", relative_path of
// `javalib/myjar.jar` would correspond to an absolute path of
// `/apex/com.android.myapex/javalib/myjar.jar` at runtime.
string relative_path = 1;
// Environ classpath variable this jar belongs to.
// Must be set to a known classpath.
Classpath classpath = 2;
// Minimum API level required for the jar to be included on the classpath.
// If the system's API level is lower than the value specified in this
// attribute, the jar will not be included in the classpath.
// Not setting this attribute, defaults the value to zero and implies the jar
// can be used on all API levels.
int32 min_sdk_version = 3;
// Maximum API level that the jar file supports.
// Not setting this attribute implies unbound maximum; otherwise set value
// must be greater or equal to min_sdk value.
// If the system's API level is higher that the value specified in this
// attribute, the jar will not be included in the classpath.
int32 max_sdk_version = 4;
}
// Jars exported by a single partition.
message ExportedClasspathsJars {
// All jars that are exported as part of any classpath environ variable
// (according to API level restrictions).
// The relative order of the jars is preserved upon final merging.
repeated Jar jars = 1;
}