Enable Soong's tradefed_binary to support multi-arch
The original `tradefed_binary_host` in Soong always used the host OS architecture when writing the `arch` in `test-suite-info.properties`. This change introduces the `Suite_arch` attribute in `tradefed_binary_host`, allowing users to specify the architecture for `test-suite-info.properties`. Bug: 313535357 Test: 1. Add property of `suite_arch` in the Android.bp 2. m cts-tradefed 3. check `test-suite-info.properties` in cts-tradefed.jar Change-Id: Ib95db4e0e8d238c9bb8a2a3fffea606fa6a764ce
This commit is contained in:
parent
550a0dab0d
commit
8efd580eb1
1 changed files with 10 additions and 1 deletions
|
@ -35,6 +35,7 @@ type TradefedBinaryProperties struct {
|
|||
Short_name string
|
||||
Full_name string
|
||||
Version string
|
||||
Suite_arch string
|
||||
Prepend_platform_version_name bool
|
||||
}
|
||||
|
||||
|
@ -67,6 +68,7 @@ func tradefedBinaryLoadHook(tfb *TradefedBinaryProperties) func(ctx android.Load
|
|||
Name: &genName,
|
||||
Short_name: tfb.Short_name,
|
||||
Full_name: tfb.Full_name,
|
||||
Suite_arch: tfb.Suite_arch,
|
||||
Version: version,
|
||||
})
|
||||
|
||||
|
@ -95,6 +97,7 @@ type TradefedBinaryGenProperties struct {
|
|||
Short_name string
|
||||
Full_name string
|
||||
Version string
|
||||
Suite_arch string
|
||||
}
|
||||
|
||||
type tradefedBinaryGen struct {
|
||||
|
@ -127,13 +130,19 @@ var tradefedBinaryGenRule = pctx.StaticRule("tradefedBinaryGenRule", blueprint.R
|
|||
func (tfg *tradefedBinaryGen) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
buildNumberFile := ctx.Config().BuildNumberFile(ctx)
|
||||
outputFile := android.PathForModuleOut(ctx, "test-suite-info.properties")
|
||||
|
||||
arch := strings.ReplaceAll(tfg.properties.Suite_arch, " ", "")
|
||||
if arch == "" {
|
||||
arch = ctx.Config().DevicePrimaryArchType().String()
|
||||
}
|
||||
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
Rule: tradefedBinaryGenRule,
|
||||
Output: outputFile,
|
||||
OrderOnly: android.Paths{buildNumberFile},
|
||||
Args: map[string]string{
|
||||
"buildNumberFile": buildNumberFile.String(),
|
||||
"arch": ctx.Config().DevicePrimaryArchType().String(),
|
||||
"arch": arch,
|
||||
"name": tfg.properties.Short_name,
|
||||
"fullname": tfg.properties.Full_name,
|
||||
"version": tfg.properties.Version,
|
||||
|
|
Loading…
Reference in a new issue