43ac21f53d
Currently, python protobuf sources are generated as if pkg_path didn't exist, but then are moved into the pkg_path directory after being generated. This means they're generated with import statements in them that don't include the pkg_path. These import statements won't work at all when pkg_path is at least 2 levels deep, but currently erroneously work with a 1 level deep pkg_path because we mistakenly add the top-level modules in a soong-built python zip to the PYTHONPATH. We want to remove those modules from the PYTHONPATH, so the generated protobuf source files have to use the correct imports. Since there are existing cases of code that needs to be updated, guard this new behavior behind a flag, protos_respect_pkg_path. We will set this to true on modules individually as we update them, and then eventually change the default to true and remove this flag. Bug: 247578564 Test: m py_proto_pkg_path_test && out/host/linux-x86/nativetest64/py_proto_pkg_path_test/py_proto_pkg_path_test Change-Id: I3695cf5521837da087592f2ad5350201035b7b0e
13 lines
268 B
Text
13 lines
268 B
Text
python_test_host {
|
|
name: "py_proto_pkg_path_test",
|
|
main: "main.py",
|
|
srcs: [
|
|
"main.py",
|
|
"proto/*.proto",
|
|
],
|
|
pkg_path: "mylib/subpackage",
|
|
proto: {
|
|
canonical_path_from_root: false,
|
|
respect_pkg_path: true,
|
|
},
|
|
}
|