Change Python in Soong to support device side build.
Add python_test to generate executables for both host and device side. And change python_library_host to python_library. installation for python device test will be under target/product/generic_arm[64]/data/nativetest[64]. Bug: b/69114465 Test: m clean && m -j Device Test: adb root; adb push nan_devicetest /data; adb shell; ./nan_devicetest print(sys.path) ['/data/nan_devicetest/runfiles', '/data/nan_devicetest', '/data/nan_devicetest/internal', '/data/nan_devicetest/internal/stdlib'] Change-Id: If8317070a3aa1b6dab2e84b8df2d037f495d7247
This commit is contained in:
@@ -22,6 +22,7 @@ import (
|
||||
|
||||
func init() {
|
||||
android.RegisterModuleType("python_test_host", PythonTestHostFactory)
|
||||
android.RegisterModuleType("python_test", PythonTestFactory)
|
||||
}
|
||||
|
||||
type testDecorator struct {
|
||||
@@ -29,13 +30,18 @@ type testDecorator struct {
|
||||
}
|
||||
|
||||
func (test *testDecorator) install(ctx android.ModuleContext, file android.Path) {
|
||||
test.binaryDecorator.baseInstaller.install(ctx, file)
|
||||
test.binaryDecorator.pythonInstaller.dir = "nativetest"
|
||||
test.binaryDecorator.pythonInstaller.dir64 = "nativetest64"
|
||||
|
||||
test.binaryDecorator.pythonInstaller.relative = ctx.ModuleName()
|
||||
|
||||
test.binaryDecorator.pythonInstaller.install(ctx, file)
|
||||
}
|
||||
|
||||
func NewTest(hod android.HostOrDeviceSupported) *Module {
|
||||
module, binary := NewBinary(hod)
|
||||
|
||||
binary.baseInstaller = NewPythonInstaller("nativetest")
|
||||
binary.pythonInstaller = NewPythonInstaller("nativetest", "nativetest64")
|
||||
|
||||
test := &testDecorator{binaryDecorator: binary}
|
||||
|
||||
@@ -50,3 +56,10 @@ func PythonTestHostFactory() android.Module {
|
||||
|
||||
return module.Init()
|
||||
}
|
||||
|
||||
func PythonTestFactory() android.Module {
|
||||
module := NewTest(android.HostAndDeviceSupported)
|
||||
module.multilib = android.MultilibBoth
|
||||
|
||||
return module.Init()
|
||||
}
|
||||
|
Reference in New Issue
Block a user