assemble_vintf: add assembleFrameworkCompatibilityMatrixKernels
Refactor code to execute the procedure of processing
android-base.cfg files in a separate function.
Test: m system_compatibility_matrix.xml -j
Bug: 64124223
Change-Id: Ic6159fe3b6e69687a9a062f34e95e05733e7308a
Merged-In: Ic6159fe3b6e69687a9a062f34e95e05733e7308a
diff --git a/assemble_vintf.cpp b/assemble_vintf.cpp
index d75e889..febb2d9 100644
--- a/assemble_vintf.cpp
+++ b/assemble_vintf.cpp
@@ -154,6 +154,28 @@
return true;
}
+ bool assembleFrameworkCompatibilityMatrixKernels(CompatibilityMatrix* matrix) {
+ for (const auto& pair : mKernels) {
+ std::vector<KernelConfig> configs;
+ if (!parseFilesForKernelConfigs(pair.second, &configs)) {
+ return false;
+ }
+ bool added = false;
+ for (auto& e : matrix->framework.mKernels) {
+ if (e.minLts() == pair.first) {
+ e.mConfigs.insert(e.mConfigs.end(), configs.begin(), configs.end());
+ added = true;
+ break;
+ }
+ }
+ if (!added) {
+ matrix->framework.mKernels.push_back(
+ MatrixKernel{KernelVersion{pair.first}, std::move(configs)});
+ }
+ }
+ return true;
+ }
+
bool assembleCompatibilityMatrix(CompatibilityMatrix* matrix) {
std::string error;
@@ -166,24 +188,11 @@
if (!getFlag("POLICYVERS", &kernelSepolicyVers)) {
return false;
}
- for (const auto& pair : mKernels) {
- std::vector<KernelConfig> configs;
- if (!parseFilesForKernelConfigs(pair.second, &configs)) {
- return false;
- }
- bool added = false;
- for (auto& e : matrix->framework.mKernels) {
- if (e.minLts() == pair.first) {
- e.mConfigs.insert(e.mConfigs.end(), configs.begin(), configs.end());
- added = true;
- break;
- }
- }
- if (!added) {
- matrix->framework.mKernels.push_back(
- MatrixKernel{KernelVersion{pair.first}, std::move(configs)});
- }
+
+ if (!assembleFrameworkCompatibilityMatrixKernels(matrix)) {
+ return false;
}
+
matrix->framework.mSepolicy =
Sepolicy(kernelSepolicyVers, {{sepolicyVers.majorVer, sepolicyVers.minorVer}});