Generate NetworkStackNext manifest from xml
Instead of a genrule, use an actual manifest merge with a separate
AndroidManifest_Next.xml for NetworkStackNext.
This is necessary as the tooling does not support injecting the train
version number to a genrule, it needs an actual manifest file.
Bug: 148907674
Test: m NetworkStackNext, diff aapt dump xmltree from parent build
Change-Id: I84d97e9108616cac1bd737dc0e4f250cc96a73da
diff --git a/Android.bp b/Android.bp
index 13eec44..91ed0ed 100644
--- a/Android.bp
+++ b/Android.bp
@@ -165,13 +165,21 @@
required: ["PlatformNetworkPermissionConfig", "PlatformCaptivePortalLogin"],
}
+// Pre-merge the AndroidManifest for NetworkStackNext, so that its manifest can be merged on top
+android_library {
+ name: "NetworkStackNextManifestBase",
+ defaults: ["NetworkStackAppDefaults", "NetworkStackDevApiLevel"],
+ static_libs: ["NetworkStackApiCurrentLib"],
+ manifest: "AndroidManifest.xml"
+}
+
// NetworkStack build targeting the current API release, for testing on in-development SDK
android_app {
name: "NetworkStackNext",
defaults: ["NetworkStackAppDefaults", "NetworkStackDevApiLevel"],
- static_libs: ["NetworkStackApiCurrentLib"],
+ static_libs: ["NetworkStackNextManifestBase"],
certificate: "networkstack",
- manifest: ":NetworkStackNextAndroidManifest",
+ manifest: "AndroidManifest_Next.xml",
// The permission configuration *must* be included to ensure security of the device
required: ["NetworkPermissionConfig"],
}
@@ -256,21 +264,6 @@
visibility: ["//visibility:private"],
}
-// genrule to modify the NetworkStack manifest for NetworkStackNext, which is the "next" version
-// that builds against the "next", non-stable APIs.
-// A genrule seems simpler than having yet another manifest to merge. The only elements that would
-// change in the manifest are the version code, and the min/target SDK which are populated
-// automatically on build with the current SDK.
-genrule {
- name: "NetworkStackNextAndroidManifest",
- srcs: ["AndroidManifest.xml"],
- out: ["NetworkStackNextAndroidManifest.xml"],
- cmd: "sed -E 's/versionCode=\"[0-9]+\"/versionCode=\""
- + version_code_networkstack_next
- + "\"/' $(in) > $(out)",
- visibility: ["//visibility:private"],
-}
-
android_app {
name: "TestNetworkStack",
defaults: ["NetworkStackAppDefaults", "NetworkStackDevApiLevel"],