diff options
| author | 2019-12-05 11:56:08 +0000 | |
|---|---|---|
| committer | 2019-12-05 16:28:32 +0000 | |
| commit | 1911d7c1a27771dde909deeed5cc99e6a744e8ce (patch) | |
| tree | 42a39e937d1d11159d28ea9ddf748265ae924654 | |
| parent | a82f161d33e13619eabd573a2fcd0ab464945f68 (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.bp | 30 | ||||
| -rw-r--r-- | apex/sdkext/gen_sdkinfo.py | 19 |
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()) |