diff --git a/android/apex.go b/android/apex.go index 4618fe97e..5b2e92c4a 100644 --- a/android/apex.go +++ b/android/apex.go @@ -87,6 +87,16 @@ type ApexInfo struct { var ApexInfoProvider = blueprint.NewMutatorProvider(ApexInfo{}, "apex") +func (i ApexInfo) AddJSONData(d *map[string]interface{}) { + (*d)["Apex"] = map[string]interface{}{ + "ApexVariationName": i.ApexVariationName, + "MinSdkVersion": i.MinSdkVersion, + "InApexModules": i.InApexModules, + "InApexVariants": i.InApexVariants, + "ForPrebuiltApex": i.ForPrebuiltApex, + } +} + // mergedName gives the name of the alias variation that will be used when multiple apex variations // of a module can be deduped into one variation. For example, if libfoo is included in both apex.a // and apex.b, and if the two APEXes have the same min_sdk_version (say 29), then libfoo doesn't diff --git a/android/module.go b/android/module.go index f745a4ab4..07d82f1a6 100644 --- a/android/module.go +++ b/android/module.go @@ -1190,6 +1190,10 @@ type ModuleBase struct { vintfFragmentsPaths Paths } +func (m *ModuleBase) AddJSONData(d *map[string]interface{}) { + (*d)["Android"] = map[string]interface{}{} +} + func (m *ModuleBase) ComponentDepsMutator(BottomUpMutatorContext) {} func (m *ModuleBase) DepsMutator(BottomUpMutatorContext) {} diff --git a/cc/cc.go b/cc/cc.go index 0c9f94567..5fcc61dc7 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -831,6 +831,46 @@ type Module struct { hideApexVariantFromMake bool } +func (c *Module) AddJSONData(d *map[string]interface{}) { + c.AndroidModuleBase().AddJSONData(d) + (*d)["Cc"] = map[string]interface{}{ + "SdkVersion": c.SdkVersion(), + "MinSdkVersion": c.MinSdkVersion(), + "VndkVersion": c.VndkVersion(), + "ProductSpecific": c.ProductSpecific(), + "SocSpecific": c.SocSpecific(), + "DeviceSpecific": c.DeviceSpecific(), + "InProduct": c.InProduct(), + "InVendor": c.InVendor(), + "InRamdisk": c.InRamdisk(), + "InVendorRamdisk": c.InVendorRamdisk(), + "InRecovery": c.InRecovery(), + "VendorAvailable": c.VendorAvailable(), + "ProductAvailable": c.ProductAvailable(), + "RamdiskAvailable": c.RamdiskAvailable(), + "VendorRamdiskAvailable": c.VendorRamdiskAvailable(), + "RecoveryAvailable": c.RecoveryAvailable(), + "OdmAvailable": c.OdmAvailable(), + "InstallInData": c.InstallInData(), + "InstallInRamdisk": c.InstallInRamdisk(), + "InstallInSanitizerDir": c.InstallInSanitizerDir(), + "InstallInVendorRamdisk": c.InstallInVendorRamdisk(), + "InstallInRecovery": c.InstallInRecovery(), + "InstallInRoot": c.InstallInRoot(), + "IsVndk": c.IsVndk(), + "IsVndkExt": c.IsVndkExt(), + "IsVndkPrivate": c.IsVndkPrivate(), + "IsVndkSp": c.IsVndkSp(), + "IsLlndk": c.IsLlndk(), + "IsLlndkPublic": c.IsLlndkPublic(), + "IsSnapshotLibrary": c.IsSnapshotLibrary(), + "IsSnapshotPrebuilt": c.IsSnapshotPrebuilt(), + "IsVendorPublicLibrary": c.IsVendorPublicLibrary(), + "ApexSdkVersion": c.apexSdkVersion, + "TestFor": c.TestFor(), + } +} + func (c *Module) SetPreventInstall() { c.Properties.PreventInstall = true }