summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Anton Hansson <hansson@google.com> 2019-12-05 11:56:08 +0000
committer Anton Hansson <hansson@google.com> 2019-12-05 16:28:32 +0000
commit1911d7c1a27771dde909deeed5cc99e6a744e8ce (patch)
tree42a39e937d1d11159d28ea9ddf748265ae924654
parenta82f161d33e13619eabd573a2fcd0ab464945f68 (diff)
Add genrule for the current sdk proto
This is intended to be added to all apexes exposing SDK apis. The version can then be bumped by changing the value in a single place. The current version is 0. Also build this into the sdkext module. Bug: 137191822 Test: m com.android.sdkext Change-Id: Ic2cd92ad1d184c8a01f0bc3d4fc21deb588cb7e8
-rw-r--r--apex/sdkext/Android.bp30
-rw-r--r--apex/sdkext/gen_sdkinfo.py19
2 files changed, 48 insertions, 1 deletions
diff --git a/apex/sdkext/Android.bp b/apex/sdkext/Android.bp
index 12d6b8687eb1..b132f7e3ff4c 100644
--- a/apex/sdkext/Android.bp
+++ b/apex/sdkext/Android.bp
@@ -17,7 +17,10 @@ apex {
manifest: "manifest.json",
binaries: [ "derive_sdk" ],
java_libs: [ "framework-sdkext" ],
- prebuilts: [ "com.android.sdkext.ldconfig" ],
+ prebuilts: [
+ "com.android.sdkext.ldconfig",
+ "cur_sdkinfo",
+ ],
key: "com.android.sdkext.key",
certificate: ":com.android.sdkext.certificate",
}
@@ -39,3 +42,28 @@ prebuilt_etc {
filename: "ld.config.txt",
installable: false,
}
+
+python_binary_host {
+ name: "gen_sdkinfo",
+ srcs: [
+ "derive_sdk/sdk.proto",
+ "gen_sdkinfo.py",
+ ],
+ proto: {
+ canonical_path_from_root: false,
+ },
+}
+
+gensrcs {
+ name: "cur_sdkinfo_src",
+ srcs: [""],
+ tools: [ "gen_sdkinfo" ],
+ cmd: "$(location) -v 0 -o $(out)",
+}
+
+prebuilt_etc {
+ name: "cur_sdkinfo",
+ src: ":cur_sdkinfo_src",
+ filename: "sdkinfo.binarypb",
+ installable: false,
+}
diff --git a/apex/sdkext/gen_sdkinfo.py b/apex/sdkext/gen_sdkinfo.py
new file mode 100644
index 000000000000..5af478ba7fe6
--- /dev/null
+++ b/apex/sdkext/gen_sdkinfo.py
@@ -0,0 +1,19 @@
+import sdk_pb2
+import sys
+
+if __name__ == '__main__':
+ argv = sys.argv[1:]
+ if not len(argv) == 4 or sorted([argv[0], argv[2]]) != ['-o', '-v']:
+ print('usage: gen_sdkinfo -v <version> -o <output-file>')
+ sys.exit(1)
+
+ for i in range(len(argv)):
+ if sys.argv[i] == '-o':
+ filename = sys.argv[i+1]
+ if sys.argv[i] == '-v':
+ version = int(sys.argv[i+1])
+
+ proto = sdk_pb2.SdkVersion()
+ proto.version = version
+ with open(filename, 'wb') as f:
+ f.write(proto.SerializeToString())