Loading java/hiddenapi.go +0 −7 Original line number Diff line number Diff line Loading @@ -121,13 +121,6 @@ type hiddenAPIIntf interface { var _ hiddenAPIIntf = (*hiddenAPI)(nil) // hiddenAPISupportingModule is the interface that is implemented by any module that supports // contributing to the hidden API processing. type hiddenAPISupportingModule interface { android.Module hiddenAPIIntf } // Initialize the hiddenapi structure func (h *hiddenAPI) initHiddenAPI(ctx android.BaseModuleContext, configurationName string) { // If hiddenapi processing is disabled treat this as inactive. Loading java/platform_bootclasspath.go +56 −17 Original line number Diff line number Diff line Loading @@ -239,6 +239,17 @@ func (b *platformBootclasspathModule) getImageConfig(ctx android.EarlyModuleCont return defaultBootImageConfig(ctx) } // hiddenAPISupportingModule encapsulates the information provided by any module that contributes to // the hidden API processing. type hiddenAPISupportingModule struct { module android.Module bootDexJar android.Path flagsCSV android.Path indexCSV android.Path metadataCSV android.Path } // generateHiddenAPIBuildActions generates all the hidden API related build rules. func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android.ModuleContext, modules []android.Module, fragments []android.Module) { Loading @@ -261,27 +272,55 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android. return } hiddenAPISupportingModules := []hiddenAPISupportingModule{} for _, module := range modules { if h, ok := module.(hiddenAPISupportingModule); ok { if h.bootDexJar() == nil { ctx.ModuleErrorf("module %s does not provide a bootDexJar file", module) // nilPathHandler will check the supplied path and if it is nil then it will either immediately // report an error, or it will defer the error reporting until it is actually used, depending // whether missing dependencies are allowed. var nilPathHandler func(path android.Path, name string, module android.Module) android.Path if ctx.Config().AllowMissingDependencies() { nilPathHandler = func(path android.Path, name string, module android.Module) android.Path { if path == nil { outputPath := android.PathForModuleOut(ctx, "missing", module.Name(), name) path = outputPath // Create an error rule that pretends to create the output file but will actually fail if it // is run. ctx.Build(pctx, android.BuildParams{ Rule: android.ErrorRule, Output: outputPath, Args: map[string]string{ "error": fmt.Sprintf("missing hidden API file: %s for %s", name, module), }, }) } return path } } else { nilPathHandler = func(path android.Path, name string, module android.Module) android.Path { if path == nil { ctx.ModuleErrorf("module %s does not provide a %s file", module, name) } if h.flagsCSV() == nil { ctx.ModuleErrorf("module %s does not provide a flagsCSV file", module) return path } if h.indexCSV() == nil { ctx.ModuleErrorf("module %s does not provide an indexCSV file", module) } if h.metadataCSV() == nil { ctx.ModuleErrorf("module %s does not provide a metadataCSV file", module) hiddenAPISupportingModules := []hiddenAPISupportingModule{} for _, module := range modules { if h, ok := module.(hiddenAPIIntf); ok { hiddenAPISupportingModule := hiddenAPISupportingModule{ module: module, bootDexJar: nilPathHandler(h.bootDexJar(), "bootDexJar", module), flagsCSV: nilPathHandler(h.flagsCSV(), "flagsCSV", module), indexCSV: nilPathHandler(h.indexCSV(), "indexCSV", module), metadataCSV: nilPathHandler(h.metadataCSV(), "metadataCSV", module), } // If any errors were reported when trying to populate the hiddenAPISupportingModule struct // then don't add it to the list. if ctx.Failed() { continue } hiddenAPISupportingModules = append(hiddenAPISupportingModules, h) hiddenAPISupportingModules = append(hiddenAPISupportingModules, hiddenAPISupportingModule) } else { ctx.ModuleErrorf("module %s of type %s does not support hidden API processing", module, ctx.OtherModuleType(module)) } Loading @@ -289,7 +328,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android. moduleSpecificFlagsPaths := android.Paths{} for _, module := range hiddenAPISupportingModules { moduleSpecificFlagsPaths = append(moduleSpecificFlagsPaths, module.flagsCSV()) moduleSpecificFlagsPaths = append(moduleSpecificFlagsPaths, module.flagsCSV) } flagFileInfo := b.properties.Hidden_api.hiddenAPIFlagFileInfo(ctx) Loading @@ -315,7 +354,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android. func (b *platformBootclasspathModule) generateHiddenAPIStubFlagsRules(ctx android.ModuleContext, modules []hiddenAPISupportingModule) { bootDexJars := android.Paths{} for _, module := range modules { bootDexJars = append(bootDexJars, module.bootDexJar()) bootDexJars = append(bootDexJars, module.bootDexJar) } sdkKindToStubPaths := hiddenAPIGatherStubLibDexJarPaths(ctx) Loading @@ -328,7 +367,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIStubFlagsRules(ctx androi func (b *platformBootclasspathModule) generateHiddenAPIIndexRules(ctx android.ModuleContext, modules []hiddenAPISupportingModule) { indexes := android.Paths{} for _, module := range modules { indexes = append(indexes, module.indexCSV()) indexes = append(indexes, module.indexCSV) } rule := android.NewRuleBuilder(pctx, ctx) Loading @@ -344,7 +383,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIIndexRules(ctx android.Mo func (b *platformBootclasspathModule) generatedHiddenAPIMetadataRules(ctx android.ModuleContext, modules []hiddenAPISupportingModule) { metadataCSVFiles := android.Paths{} for _, module := range modules { metadataCSVFiles = append(metadataCSVFiles, module.metadataCSV()) metadataCSVFiles = append(metadataCSVFiles, module.metadataCSV) } rule := android.NewRuleBuilder(pctx, ctx) Loading Loading
java/hiddenapi.go +0 −7 Original line number Diff line number Diff line Loading @@ -121,13 +121,6 @@ type hiddenAPIIntf interface { var _ hiddenAPIIntf = (*hiddenAPI)(nil) // hiddenAPISupportingModule is the interface that is implemented by any module that supports // contributing to the hidden API processing. type hiddenAPISupportingModule interface { android.Module hiddenAPIIntf } // Initialize the hiddenapi structure func (h *hiddenAPI) initHiddenAPI(ctx android.BaseModuleContext, configurationName string) { // If hiddenapi processing is disabled treat this as inactive. Loading
java/platform_bootclasspath.go +56 −17 Original line number Diff line number Diff line Loading @@ -239,6 +239,17 @@ func (b *platformBootclasspathModule) getImageConfig(ctx android.EarlyModuleCont return defaultBootImageConfig(ctx) } // hiddenAPISupportingModule encapsulates the information provided by any module that contributes to // the hidden API processing. type hiddenAPISupportingModule struct { module android.Module bootDexJar android.Path flagsCSV android.Path indexCSV android.Path metadataCSV android.Path } // generateHiddenAPIBuildActions generates all the hidden API related build rules. func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android.ModuleContext, modules []android.Module, fragments []android.Module) { Loading @@ -261,27 +272,55 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android. return } hiddenAPISupportingModules := []hiddenAPISupportingModule{} for _, module := range modules { if h, ok := module.(hiddenAPISupportingModule); ok { if h.bootDexJar() == nil { ctx.ModuleErrorf("module %s does not provide a bootDexJar file", module) // nilPathHandler will check the supplied path and if it is nil then it will either immediately // report an error, or it will defer the error reporting until it is actually used, depending // whether missing dependencies are allowed. var nilPathHandler func(path android.Path, name string, module android.Module) android.Path if ctx.Config().AllowMissingDependencies() { nilPathHandler = func(path android.Path, name string, module android.Module) android.Path { if path == nil { outputPath := android.PathForModuleOut(ctx, "missing", module.Name(), name) path = outputPath // Create an error rule that pretends to create the output file but will actually fail if it // is run. ctx.Build(pctx, android.BuildParams{ Rule: android.ErrorRule, Output: outputPath, Args: map[string]string{ "error": fmt.Sprintf("missing hidden API file: %s for %s", name, module), }, }) } return path } } else { nilPathHandler = func(path android.Path, name string, module android.Module) android.Path { if path == nil { ctx.ModuleErrorf("module %s does not provide a %s file", module, name) } if h.flagsCSV() == nil { ctx.ModuleErrorf("module %s does not provide a flagsCSV file", module) return path } if h.indexCSV() == nil { ctx.ModuleErrorf("module %s does not provide an indexCSV file", module) } if h.metadataCSV() == nil { ctx.ModuleErrorf("module %s does not provide a metadataCSV file", module) hiddenAPISupportingModules := []hiddenAPISupportingModule{} for _, module := range modules { if h, ok := module.(hiddenAPIIntf); ok { hiddenAPISupportingModule := hiddenAPISupportingModule{ module: module, bootDexJar: nilPathHandler(h.bootDexJar(), "bootDexJar", module), flagsCSV: nilPathHandler(h.flagsCSV(), "flagsCSV", module), indexCSV: nilPathHandler(h.indexCSV(), "indexCSV", module), metadataCSV: nilPathHandler(h.metadataCSV(), "metadataCSV", module), } // If any errors were reported when trying to populate the hiddenAPISupportingModule struct // then don't add it to the list. if ctx.Failed() { continue } hiddenAPISupportingModules = append(hiddenAPISupportingModules, h) hiddenAPISupportingModules = append(hiddenAPISupportingModules, hiddenAPISupportingModule) } else { ctx.ModuleErrorf("module %s of type %s does not support hidden API processing", module, ctx.OtherModuleType(module)) } Loading @@ -289,7 +328,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android. moduleSpecificFlagsPaths := android.Paths{} for _, module := range hiddenAPISupportingModules { moduleSpecificFlagsPaths = append(moduleSpecificFlagsPaths, module.flagsCSV()) moduleSpecificFlagsPaths = append(moduleSpecificFlagsPaths, module.flagsCSV) } flagFileInfo := b.properties.Hidden_api.hiddenAPIFlagFileInfo(ctx) Loading @@ -315,7 +354,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android. func (b *platformBootclasspathModule) generateHiddenAPIStubFlagsRules(ctx android.ModuleContext, modules []hiddenAPISupportingModule) { bootDexJars := android.Paths{} for _, module := range modules { bootDexJars = append(bootDexJars, module.bootDexJar()) bootDexJars = append(bootDexJars, module.bootDexJar) } sdkKindToStubPaths := hiddenAPIGatherStubLibDexJarPaths(ctx) Loading @@ -328,7 +367,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIStubFlagsRules(ctx androi func (b *platformBootclasspathModule) generateHiddenAPIIndexRules(ctx android.ModuleContext, modules []hiddenAPISupportingModule) { indexes := android.Paths{} for _, module := range modules { indexes = append(indexes, module.indexCSV()) indexes = append(indexes, module.indexCSV) } rule := android.NewRuleBuilder(pctx, ctx) Loading @@ -344,7 +383,7 @@ func (b *platformBootclasspathModule) generateHiddenAPIIndexRules(ctx android.Mo func (b *platformBootclasspathModule) generatedHiddenAPIMetadataRules(ctx android.ModuleContext, modules []hiddenAPISupportingModule) { metadataCSVFiles := android.Paths{} for _, module := range modules { metadataCSVFiles = append(metadataCSVFiles, module.metadataCSV()) metadataCSVFiles = append(metadataCSVFiles, module.metadataCSV) } rule := android.NewRuleBuilder(pctx, ctx) Loading