diff --git a/java/com/android/modules/targetprep/proto/Android.bp b/java/com/android/modules/targetprep/proto/Android.bp new file mode 100644 index 0000000..2cbe441 --- /dev/null +++ b/java/com/android/modules/targetprep/proto/Android.bp @@ -0,0 +1,27 @@ +// Copyright (C) 2022 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. + +java_library_host { + name: "classpath_classes_proto_java", + srcs: [ + "classpath_classes.proto", + ], + static_libs: [ + "libprotobuf-java-full", + ], + proto: { + type: "full", + canonical_path_from_root: false, + }, +} diff --git a/java/com/android/modules/targetprep/proto/classpath_classes.proto b/java/com/android/modules/targetprep/proto/classpath_classes.proto new file mode 100644 index 0000000..47de384 --- /dev/null +++ b/java/com/android/modules/targetprep/proto/classpath_classes.proto @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2022 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"; + +option java_package = "com.android.modules.proto"; + +enum Classpath { + UNKNOWN = 0; + BOOTCLASSPATH = 1; + SYSTEMSERVERCLASSPATH = 2; + STANDALONE_SYSTEMSERVER_JARS = 4; +} + +message SharedLibrary { + string name = 1; + string type = 2; + string version = 3; + repeated string paths = 4; +} + +message Apk { + string path = 1; +} + +message Jar { + string path = 1; + Classpath classpath = 2; +} + +message ClasspathEntry { + oneof entry_type { + Jar jar = 1; + SharedLibrary library = 2; + Apk apk = 3; + } + + repeated string classes = 4; +} + +message ClasspathClassesDump { + repeated ClasspathEntry entries = 1; +}