Soong system image may update the $PRODUCT_OUT
A target must define "USE_SOONG_DEFINED_SYSTEM_IMAGE := true" and "PRODUCT_SOONG_DEFINED_SYSTEM_IMAGE := <name of soong system image>" to use the soong defined system image. The system image must install the files to $PRODUCT_OUT for adb sync and build verification. Instead of using 'update_product_out' property in Android.bp, copy the files only if the name of the image matches with PRODUCT_SOONG_DEFINED_SYSTEM_IMAGE. Bug: 350599535 Bug: 365700376 Test: lunch aosp_x86_64-trunk_staging-userdebug && m && m aosp_cf_system_x86_64 Test: lunch aosp_cf_x86_64_phone_soong_system-trunk_staging-userdebug && m and adb sync on the cf device Change-Id: If8673ba2855a753a5559a588bd83068d950fd7e4
This commit is contained in:
@@ -1663,6 +1663,17 @@ func (c *config) ApexTrimEnabled() bool {
|
|||||||
return Bool(c.productVariables.TrimmedApex)
|
return Bool(c.productVariables.TrimmedApex)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *config) UseSoongSystemImage() bool {
|
||||||
|
return Bool(c.productVariables.UseSoongSystemImage)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *config) SoongDefinedSystemImage() string {
|
||||||
|
if c.UseSoongSystemImage() {
|
||||||
|
return String(c.productVariables.ProductSoongDefinedSystemImage)
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (c *config) EnforceSystemCertificate() bool {
|
func (c *config) EnforceSystemCertificate() bool {
|
||||||
return Bool(c.productVariables.EnforceSystemCertificate)
|
return Bool(c.productVariables.EnforceSystemCertificate)
|
||||||
}
|
}
|
||||||
|
@@ -423,6 +423,9 @@ type ProductVariables struct {
|
|||||||
|
|
||||||
TargetFSConfigGen []string `json:",omitempty"`
|
TargetFSConfigGen []string `json:",omitempty"`
|
||||||
|
|
||||||
|
UseSoongSystemImage *bool `json:",omitempty"`
|
||||||
|
ProductSoongDefinedSystemImage *string `json:",omitempty"`
|
||||||
|
|
||||||
EnforceProductPartitionInterface *bool `json:",omitempty"`
|
EnforceProductPartitionInterface *bool `json:",omitempty"`
|
||||||
|
|
||||||
EnforceInterPartitionJavaSdkLibrary *bool `json:",omitempty"`
|
EnforceInterPartitionJavaSdkLibrary *bool `json:",omitempty"`
|
||||||
|
@@ -136,9 +136,6 @@ type filesystemProperties struct {
|
|||||||
// Install aconfig_flags.pb file for the modules installed in this partition.
|
// Install aconfig_flags.pb file for the modules installed in this partition.
|
||||||
Gen_aconfig_flags_pb *bool
|
Gen_aconfig_flags_pb *bool
|
||||||
|
|
||||||
// Update the Base_dir of the $PRODUCT_OUT directory with the packaging files.
|
|
||||||
Update_product_out *bool
|
|
||||||
|
|
||||||
Fsverity fsverityProperties
|
Fsverity fsverityProperties
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -335,7 +332,7 @@ func (f *filesystem) copyPackagingSpecs(ctx android.ModuleContext, builder *andr
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (f *filesystem) copyFilesToProductOut(ctx android.ModuleContext, builder *android.RuleBuilder, rebasedDir android.OutputPath) {
|
func (f *filesystem) copyFilesToProductOut(ctx android.ModuleContext, builder *android.RuleBuilder, rebasedDir android.OutputPath) {
|
||||||
if !proptools.Bool(f.properties.Update_product_out) {
|
if f.Name() != ctx.Config().SoongDefinedSystemImage() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
installPath := android.PathForModuleInPartitionInstall(ctx, f.partitionName())
|
installPath := android.PathForModuleInPartitionInstall(ctx, f.partitionName())
|
||||||
|
Reference in New Issue
Block a user