diff options
| author | 2020-07-24 09:13:49 +0000 | |
|---|---|---|
| committer | 2020-07-28 11:53:57 +0000 | |
| commit | 7b27ca7dadcf5b14524e400717db664bc2006817 (patch) | |
| tree | d5f38d170ae76beae477b5b65239bf822564da75 /java | |
| parent | 3992b7c486495a72daa49aea7757dbeadb1f716d (diff) | |
Fix droiddoc disting when WITHOUT_CHECK_API is true.
When WITHOUT_CHECK_API=true, the droidstubs apiFile can be nil. Fix this
by defensively checking for nil paths when making the TaggedDistFiles,
and also in android.MakeDefaultDistFiles.
The error message reported in r.android.com/1335521 was:
"internal error: panic in GenerateBuildActions for singleton androidmk
Dist file should not be nil for the default tag in
android.net.ipsec.ike.stubs.source in translateAndroidMkModule for
module android.net.ipsec.ike.stubs.source variant android_common"
Test: WITHOUT_CHECK_API=true m droid dist
Bug: 152834186
Signed-off-by: Jingwen Chen <jingwen@google.com>
Change-Id: I1b1f7c0b7a0e1c0ed5e15957d0162c47fd3ec197
Diffstat (limited to 'java')
| -rw-r--r-- | java/androidmk.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/java/androidmk.go b/java/androidmk.go index 03994bfd6..3fb73c5fc 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -563,15 +563,21 @@ func (dstubs *Droidstubs) AndroidMkEntries() []android.AndroidMkEntries { // 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. + // + // Note that dstubs.apiFile can be also be nil if WITHOUT_CHECKS_API is true. // TODO(b/146727827): Revert when we do not need to generate stubs and API separately. - distFile := dstubs.apiFile + + var distFiles android.TaggedDistFiles + if dstubs.apiFile != nil { + distFiles = android.MakeDefaultDistFiles(dstubs.apiFile) + } outputFile := android.OptionalPathForPath(dstubs.stubsSrcJar) if !outputFile.Valid() { - outputFile = android.OptionalPathForPath(distFile) + outputFile = android.OptionalPathForPath(dstubs.apiFile) } return []android.AndroidMkEntries{android.AndroidMkEntries{ Class: "JAVA_LIBRARIES", - DistFiles: android.MakeDefaultDistFiles(distFile), + DistFiles: distFiles, OutputFile: outputFile, Include: "$(BUILD_SYSTEM)/soong_droiddoc_prebuilt.mk", ExtraEntries: []android.AndroidMkExtraEntriesFunc{ |