Export provenance metadata for prebuilt APKs and APEXes.

Bug: 217434690
Test: atest --host gen_provenance_metadata_test
Test: m provenance_metadata

Change-Id: I91c184b6e6fe5ccfc3fc65b55b09e7a3da9502a0
This commit is contained in:
Wei Li
2022-03-18 17:33:24 -07:00
parent 85b935eff2
commit 340ee8e699
15 changed files with 672 additions and 41 deletions

View File

@@ -0,0 +1,34 @@
/*
* 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.
*/
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
python_library_host {
name: "provenance_metadata_proto",
version: {
py3: {
enabled: true,
},
},
srcs: [
"provenance_metadata.proto",
],
proto: {
canonical_path_from_root: false,
},
}

View File

@@ -0,0 +1,47 @@
/*
* 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";
package provenance_metadata_proto;
option go_package = "android/soong/provenance/provenance_metadata_proto";
// Provenance metadata of artifacts.
message ProvenanceMetadata {
// Name of the module/target that creates the artifact.
// It is either a Soong module name or Bazel target label.
string module_name = 1;
// The path to the prebuilt artifacts, which is relative to the source tree
// directory. For example, “prebuilts/runtime/mainline/i18n/apex/com.android.i18n-arm.apex”.
string artifact_path = 2;
// The SHA256 hash of the artifact.
string artifact_sha256 = 3;
// The install path of the artifact in filesystem images.
// This is the absolute path of the artifact on the device.
string artifact_install_path = 4;
// Path of the attestation file of a prebuilt artifact, which is relative to
// the source tree directory. This is for prebuilt artifacts which have
// corresponding attestation files checked in the source tree.
string attestation_path = 5;
}
message ProvenanceMetaDataList {
repeated ProvenanceMetadata metadata = 1;
}