Mark Vndk / VndkVersionRange as deprecated.
<vndk> tag becomes deprecated and should not be used.
<vendor-ndk> is used to replace it instead.
Test: builds
Bug: 36400653
Change-Id: Ibeaa6c366fd78f3d4b0f06c13d8a33b71f4be1cf
diff --git a/parse_xml.cpp b/parse_xml.cpp
index 1723bd0..3e16b80 100644
--- a/parse_xml.cpp
+++ b/parse_xml.cpp
@@ -696,10 +696,11 @@
};
const SepolicyConverter sepolicyConverter{};
+[[deprecated]]
const XmlTextConverter<VndkVersionRange> vndkVersionRangeConverter{"version"};
const XmlTextConverter<std::string> vndkLibraryConverter{"library"};
-struct VndkConverter : public XmlNodeConverter<Vndk> {
+struct [[deprecated]] VndkConverter : public XmlNodeConverter<Vndk> {
std::string elementName() const override { return "vndk"; }
void mutateNode(const Vndk &object, NodeType *root, DocType *d) const override {
appendChild(root, vndkVersionRangeConverter(object.mVersionRange, d));
@@ -714,6 +715,7 @@
}
};
+[[deprecated]]
const VndkConverter vndkConverter{};
struct HalManifestSepolicyConverter : public XmlNodeConverter<Version> {
@@ -769,7 +771,10 @@
}
} else if (m.mType == SchemaType::FRAMEWORK) {
if (!(flags & SerializeFlag::NO_VNDK)) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
appendChildren(root, vndkConverter, m.framework.mVndks, d);
+#pragma clang diagnostic pop
}
}
@@ -799,6 +804,8 @@
return false;
}
} else if (object->mType == SchemaType::FRAMEWORK) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if (!parseChildren(root, vndkConverter, &object->framework.mVndks)) {
return false;
}
@@ -809,6 +816,7 @@
return false;
}
}
+#pragma clang diagnostic pop
}
for (auto &&hal : hals) {
std::string description{hal.name};
@@ -901,9 +909,12 @@
}
} else if (m.mType == SchemaType::DEVICE) {
if (!(flags & SerializeFlag::NO_VNDK)) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if (!(m.device.mVndk == Vndk{})) {
appendChild(root, vndkConverter(m.device.mVndk, d));
}
+#pragma clang diagnostic pop
}
}
@@ -946,9 +957,12 @@
} else if (object->mType == SchemaType::DEVICE) {
// <vndk> can be missing because it can be determined at build time, not hard-coded
// in the XML file.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if (!parseOptionalChild(root, vndkConverter, {}, &object->device.mVndk)) {
return false;
}
+#pragma clang diagnostic pop
}
if (!kMetaVersion.minorAtLeast(version)) {