Loading java/platform_compat_config.go +49 −0 Original line number Diff line number Diff line Loading @@ -19,9 +19,14 @@ import ( ) func init() { android.RegisterSingletonType("platform_compat_config_singleton", platformCompatConfigSingletonFactory) android.RegisterModuleType("platform_compat_config", platformCompatConfigFactory) } type platformCompatConfigSingleton struct { metadata android.Path } type platformCompatConfigProperties struct { Src *string `android:"path"` } Loading @@ -35,6 +40,46 @@ type platformCompatConfig struct { metadataFile android.OutputPath } func (p *platformCompatConfig) compatConfigMetadata() android.OutputPath { return p.metadataFile } type platformCompatConfigIntf interface { compatConfigMetadata() android.OutputPath } var _ platformCompatConfigIntf = (*platformCompatConfig)(nil) // compat singleton rules func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.SingletonContext) { var compatConfigMetadata android.Paths ctx.VisitAllModules(func(module android.Module) { if c, ok := module.(platformCompatConfigIntf); ok { metadata := c.compatConfigMetadata() compatConfigMetadata = append(compatConfigMetadata, metadata) } }) if compatConfigMetadata == nil { // nothing to do. return } rule := android.NewRuleBuilder() outputPath := android.PathForOutput(ctx, "compat_config", "merged_compat_config.xml") rule.Command(). BuiltTool(ctx, "process-compat-config"). FlagForEachInput("--xml ", compatConfigMetadata). FlagWithOutput("--merged-config ", outputPath) rule.Build(pctx, ctx, "merged-compat-config", "Merge compat config") p.metadata = outputPath } func (p *platformCompatConfig) GenerateAndroidBuildActions(ctx android.ModuleContext) { rule := android.NewRuleBuilder() Loading Loading @@ -69,6 +114,10 @@ func (p *platformCompatConfig) AndroidMkEntries() []android.AndroidMkEntries { }} } func platformCompatConfigSingletonFactory() android.Singleton { return &platformCompatConfigSingleton{} } func platformCompatConfigFactory() android.Module { module := &platformCompatConfig{} module.AddProperties(&module.properties) Loading Loading
java/platform_compat_config.go +49 −0 Original line number Diff line number Diff line Loading @@ -19,9 +19,14 @@ import ( ) func init() { android.RegisterSingletonType("platform_compat_config_singleton", platformCompatConfigSingletonFactory) android.RegisterModuleType("platform_compat_config", platformCompatConfigFactory) } type platformCompatConfigSingleton struct { metadata android.Path } type platformCompatConfigProperties struct { Src *string `android:"path"` } Loading @@ -35,6 +40,46 @@ type platformCompatConfig struct { metadataFile android.OutputPath } func (p *platformCompatConfig) compatConfigMetadata() android.OutputPath { return p.metadataFile } type platformCompatConfigIntf interface { compatConfigMetadata() android.OutputPath } var _ platformCompatConfigIntf = (*platformCompatConfig)(nil) // compat singleton rules func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.SingletonContext) { var compatConfigMetadata android.Paths ctx.VisitAllModules(func(module android.Module) { if c, ok := module.(platformCompatConfigIntf); ok { metadata := c.compatConfigMetadata() compatConfigMetadata = append(compatConfigMetadata, metadata) } }) if compatConfigMetadata == nil { // nothing to do. return } rule := android.NewRuleBuilder() outputPath := android.PathForOutput(ctx, "compat_config", "merged_compat_config.xml") rule.Command(). BuiltTool(ctx, "process-compat-config"). FlagForEachInput("--xml ", compatConfigMetadata). FlagWithOutput("--merged-config ", outputPath) rule.Build(pctx, ctx, "merged-compat-config", "Merge compat config") p.metadata = outputPath } func (p *platformCompatConfig) GenerateAndroidBuildActions(ctx android.ModuleContext) { rule := android.NewRuleBuilder() Loading Loading @@ -69,6 +114,10 @@ func (p *platformCompatConfig) AndroidMkEntries() []android.AndroidMkEntries { }} } func platformCompatConfigSingletonFactory() android.Singleton { return &platformCompatConfigSingleton{} } func platformCompatConfigFactory() android.Module { module := &platformCompatConfig{} module.AddProperties(&module.properties) Loading