summaryrefslogtreecommitdiff
path: root/java/droiddoc.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2020-10-13 15:04:02 +0100
committer Paul Duffin <paulduffin@google.com> 2020-10-13 15:37:10 +0100
commitbc0fe96be39954bb8cdbd7c22fc01e134667c9a1 (patch)
treebd887a538ca85c1a21efa1c09225b719c711d2a2 /java/droiddoc.go
parentff981035052231d3c0ebe790291236cef3701138 (diff)
Support building WITHOUT_CHECK_API=true
When WITHOUT_CHECK_API=true the check api process is not run which means that the current.txt and removed.txt files are not generated by the build. In that case this change causes the droidstubs module to fallback to exporting the source files instead. An additional removedApiFilePath property (to match apiFilePath) was added to hold the exported path as removedApiFile has to be a WritablePath and source paths are not writable. Bug: 169034951 Test: m WITHOUT_CHECK_API=true nothing fails without this fix, passes with it. Change-Id: If6b09dd67c8533368b71405143f524d66350703f
Diffstat (limited to 'java/droiddoc.go')
-rw-r--r--java/droiddoc.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 923a263a2..344b15e95 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -1016,7 +1016,8 @@ type Droidstubs struct {
annotationsZip android.WritablePath
apiVersionsXml android.WritablePath
- apiFilePath android.Path
+ apiFilePath android.Path
+ removedApiFilePath android.Path
metadataZip android.WritablePath
metadataDir android.WritablePath
@@ -1059,7 +1060,7 @@ func (d *Droidstubs) OutputFiles(tag string) (android.Paths, error) {
case ".api.txt":
return android.Paths{d.apiFilePath}, nil
case ".removed-api.txt":
- return android.Paths{d.removedApiFile}, nil
+ return android.Paths{d.removedApiFilePath}, nil
case ".annotations.zip":
return android.Paths{d.annotationsZip}, nil
case ".api_versions.xml":
@@ -1074,7 +1075,7 @@ func (d *Droidstubs) ApiFilePath() android.Path {
}
func (d *Droidstubs) RemovedApiFilePath() android.Path {
- return d.removedApiFile
+ return d.removedApiFilePath
}
func (d *Droidstubs) StubsSrcJar() android.Path {
@@ -1125,6 +1126,9 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil
d.apiFile = android.PathForModuleOut(ctx, filename)
cmd.FlagWithOutput("--api ", d.apiFile)
d.apiFilePath = d.apiFile
+ } else if sourceApiFile := proptools.String(d.properties.Check_api.Current.Api_file); sourceApiFile != "" {
+ // If check api is disabled then make the source file available for export.
+ d.apiFilePath = android.PathForModuleSrc(ctx, sourceApiFile)
}
if apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") ||
@@ -1133,6 +1137,10 @@ func (d *Droidstubs) stubsFlags(ctx android.ModuleContext, cmd *android.RuleBuil
filename := proptools.StringDefault(d.properties.Removed_api_filename, ctx.ModuleName()+"_removed.txt")
d.removedApiFile = android.PathForModuleOut(ctx, filename)
cmd.FlagWithOutput("--removed-api ", d.removedApiFile)
+ d.removedApiFilePath = d.removedApiFile
+ } else if sourceRemovedApiFile := proptools.String(d.properties.Check_api.Current.Removed_api_file); sourceRemovedApiFile != "" {
+ // If check api is disabled then make the source removed api file available for export.
+ d.removedApiFilePath = android.PathForModuleSrc(ctx, sourceRemovedApiFile)
}
if String(d.properties.Removed_dex_api_filename) != "" {