Loading java/androidmk.go +13 −2 Original line number Diff line number Diff line Loading @@ -545,10 +545,21 @@ func (ddoc *Droiddoc) AndroidMkEntries() []android.AndroidMkEntries { } func (dstubs *Droidstubs) AndroidMkEntries() []android.AndroidMkEntries { // If the stubsSrcJar is not generated (because generate_stubs is false) then // use the api file as the output file to ensure the relevant phony targets // are created in make if only the api txt file is being generated. This is // needed because an invalid output file would prevent the make entries from // being written. // TODO(b/146727827): Revert when we do not need to generate stubs and API separately. distFile := android.OptionalPathForPath(dstubs.apiFile) outputFile := android.OptionalPathForPath(dstubs.stubsSrcJar) if !outputFile.Valid() { outputFile = distFile } return []android.AndroidMkEntries{android.AndroidMkEntries{ Class: "JAVA_LIBRARIES", DistFile: android.OptionalPathForPath(dstubs.apiFile), OutputFile: android.OptionalPathForPath(dstubs.stubsSrcJar), DistFile: distFile, OutputFile: outputFile, Include: "$(BUILD_SYSTEM)/soong_droiddoc_prebuilt.mk", ExtraEntries: []android.AndroidMkExtraEntriesFunc{ func(entries *android.AndroidMkEntries) { Loading java/droiddoc.go +30 −18 Original line number Diff line number Diff line Loading @@ -301,6 +301,11 @@ type DroidstubsProperties struct { // if set to true, allow Metalava to generate doc_stubs source files. Defaults to false. Create_doc_stubs *bool // if set to false then do not write out stubs. Defaults to true. // // TODO(b/146727827): Remove capability when we do not need to generate stubs and API separately. Generate_stubs *bool // is set to true, Metalava will allow framework SDK to contain API levels annotations. Api_levels_annotations_enabled *bool Loading Loading @@ -1285,7 +1290,7 @@ func (d *Droidstubs) DepsMutator(ctx android.BottomUpMutatorContext) { } } func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, stubsDir android.WritablePath) { func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, stubsDir android.OptionalPath) { if apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") || apiCheckEnabled(ctx, d.properties.Check_api.Last_released, "last_released") || String(d.properties.Api_filename) != "" { Loading Loading @@ -1341,6 +1346,7 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil cmd.FlagWithArg("--sdk-values ", d.metadataDir.String()) } if stubsDir.Valid() { if Bool(d.properties.Create_doc_stubs) { cmd.FlagWithArg("--doc-stubs ", stubsDir.String()) } else { Loading @@ -1348,6 +1354,7 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil cmd.Flag("--exclude-documentation-from-stubs") } } } func (d *Droidstubs) annotationsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand) { if Bool(d.properties.Annotations_enabled) { Loading Loading @@ -1502,15 +1509,18 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { // Create rule for metalava d.Javadoc.stubsSrcJar = android.PathForModuleOut(ctx, ctx.ModuleName()+"-"+"stubs.srcjar") srcJarDir := android.PathForModuleOut(ctx, "srcjars") stubsDir := android.PathForModuleOut(ctx, "stubsDir") rule := android.NewRuleBuilder() generateStubs := BoolDefault(d.properties.Generate_stubs, true) var stubsDir android.OptionalPath if generateStubs { d.Javadoc.stubsSrcJar = android.PathForModuleOut(ctx, ctx.ModuleName()+"-"+"stubs.srcjar") stubsDir = android.OptionalPathForPath(android.PathForModuleOut(ctx, "stubsDir")) rule.Command().Text("rm -rf").Text(stubsDir.String()) rule.Command().Text("mkdir -p").Text(stubsDir.String()) } srcJarList := zipSyncCmd(ctx, rule, srcJarDir, d.Javadoc.srcJars) Loading @@ -1536,6 +1546,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { cmd.ImplicitOutput(android.PathForModuleGen(ctx, o)) } if generateStubs { rule.Command(). BuiltTool(ctx, "soong_zip"). Flag("-write_if_changed"). Loading @@ -1543,6 +1554,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { FlagWithOutput("-o ", d.Javadoc.stubsSrcJar). FlagWithArg("-C ", stubsDir.String()). FlagWithArg("-D ", stubsDir.String()) } if Bool(d.properties.Write_sdk_values) { d.metadataZip = android.PathForModuleOut(ctx, ctx.ModuleName()+"-metadata.zip") Loading Loading
java/androidmk.go +13 −2 Original line number Diff line number Diff line Loading @@ -545,10 +545,21 @@ func (ddoc *Droiddoc) AndroidMkEntries() []android.AndroidMkEntries { } func (dstubs *Droidstubs) AndroidMkEntries() []android.AndroidMkEntries { // If the stubsSrcJar is not generated (because generate_stubs is false) then // use the api file as the output file to ensure the relevant phony targets // are created in make if only the api txt file is being generated. This is // needed because an invalid output file would prevent the make entries from // being written. // TODO(b/146727827): Revert when we do not need to generate stubs and API separately. distFile := android.OptionalPathForPath(dstubs.apiFile) outputFile := android.OptionalPathForPath(dstubs.stubsSrcJar) if !outputFile.Valid() { outputFile = distFile } return []android.AndroidMkEntries{android.AndroidMkEntries{ Class: "JAVA_LIBRARIES", DistFile: android.OptionalPathForPath(dstubs.apiFile), OutputFile: android.OptionalPathForPath(dstubs.stubsSrcJar), DistFile: distFile, OutputFile: outputFile, Include: "$(BUILD_SYSTEM)/soong_droiddoc_prebuilt.mk", ExtraEntries: []android.AndroidMkExtraEntriesFunc{ func(entries *android.AndroidMkEntries) { Loading
java/droiddoc.go +30 −18 Original line number Diff line number Diff line Loading @@ -301,6 +301,11 @@ type DroidstubsProperties struct { // if set to true, allow Metalava to generate doc_stubs source files. Defaults to false. Create_doc_stubs *bool // if set to false then do not write out stubs. Defaults to true. // // TODO(b/146727827): Remove capability when we do not need to generate stubs and API separately. Generate_stubs *bool // is set to true, Metalava will allow framework SDK to contain API levels annotations. Api_levels_annotations_enabled *bool Loading Loading @@ -1285,7 +1290,7 @@ func (d *Droidstubs) DepsMutator(ctx android.BottomUpMutatorContext) { } } func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, stubsDir android.WritablePath) { func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, stubsDir android.OptionalPath) { if apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") || apiCheckEnabled(ctx, d.properties.Check_api.Last_released, "last_released") || String(d.properties.Api_filename) != "" { Loading Loading @@ -1341,6 +1346,7 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil cmd.FlagWithArg("--sdk-values ", d.metadataDir.String()) } if stubsDir.Valid() { if Bool(d.properties.Create_doc_stubs) { cmd.FlagWithArg("--doc-stubs ", stubsDir.String()) } else { Loading @@ -1348,6 +1354,7 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil cmd.Flag("--exclude-documentation-from-stubs") } } } func (d *Droidstubs) annotationsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand) { if Bool(d.properties.Annotations_enabled) { Loading Loading @@ -1502,15 +1509,18 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { // Create rule for metalava d.Javadoc.stubsSrcJar = android.PathForModuleOut(ctx, ctx.ModuleName()+"-"+"stubs.srcjar") srcJarDir := android.PathForModuleOut(ctx, "srcjars") stubsDir := android.PathForModuleOut(ctx, "stubsDir") rule := android.NewRuleBuilder() generateStubs := BoolDefault(d.properties.Generate_stubs, true) var stubsDir android.OptionalPath if generateStubs { d.Javadoc.stubsSrcJar = android.PathForModuleOut(ctx, ctx.ModuleName()+"-"+"stubs.srcjar") stubsDir = android.OptionalPathForPath(android.PathForModuleOut(ctx, "stubsDir")) rule.Command().Text("rm -rf").Text(stubsDir.String()) rule.Command().Text("mkdir -p").Text(stubsDir.String()) } srcJarList := zipSyncCmd(ctx, rule, srcJarDir, d.Javadoc.srcJars) Loading @@ -1536,6 +1546,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { cmd.ImplicitOutput(android.PathForModuleGen(ctx, o)) } if generateStubs { rule.Command(). BuiltTool(ctx, "soong_zip"). Flag("-write_if_changed"). Loading @@ -1543,6 +1554,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { FlagWithOutput("-o ", d.Javadoc.stubsSrcJar). FlagWithArg("-C ", stubsDir.String()). FlagWithArg("-D ", stubsDir.String()) } if Bool(d.properties.Write_sdk_values) { d.metadataZip = android.PathForModuleOut(ctx, ctx.ModuleName()+"-metadata.zip") Loading