summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2018-01-30 12:47:20 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-01-30 12:47:20 +0000
commit9c1c659d5e8b41289380b45b786c784f5704b3b5 (patch)
treec3c54c4087a526141c3c3c2e75dcd6fecf6cfa8e
parent6c8941c13bc9afb1a3553c6678f82da46eb1bb96 (diff)
parent5bd576acfecb3d316ec2cb2c84e090728cfc6edd (diff)
downloaddoclava-9c1c659d5e8b41289380b45b786c784f5704b3b5.tar.gz
Merge "Pick private APIs from all classes" am: cc8c74cd12
am: 5bd576acfe Change-Id: Ia4c629a73124cc6d946959d66d621395938fc443
-rw-r--r--src/com/google/doclava/Stubs.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/com/google/doclava/Stubs.java b/src/com/google/doclava/Stubs.java
index 8098ff2..9ad70c8 100644
--- a/src/com/google/doclava/Stubs.java
+++ b/src/com/google/doclava/Stubs.java
@@ -52,6 +52,7 @@ public class Stubs {
// figure out which classes we need
final HashSet<ClassInfo> notStrippable = new HashSet<ClassInfo>();
Collection<ClassInfo> all = Converter.allClasses();
+ Map<PackageInfo, List<ClassInfo>> allClassesByPackage = null;
PrintStream apiWriter = null;
PrintStream keepListWriter = null;
PrintStream removedApiWriter = null;
@@ -238,6 +239,14 @@ public class Stubs {
}
}
+ if (privateApiWriter != null || privateDexApiWriter != null || removedApiWriter != null) {
+ allClassesByPackage = Converter.allClasses().stream()
+ // Make sure that the files only contains information from the required packages.
+ .filter(ci -> stubPackages == null
+ || stubPackages.contains(ci.containingPackage().qualifiedName()))
+ .collect(Collectors.groupingBy(ClassInfo::containingPackage));
+ }
+
final boolean ignoreShown = Doclava.showUnannotated;
FilterPredicate apiFilter = new FilterPredicate(new ApiPredicate().setIgnoreShown(ignoreShown));
@@ -266,24 +275,18 @@ public class Stubs {
// Write out the private API
if (privateApiWriter != null) {
- writeApi(privateApiWriter, packages, privateEmit, privateReference);
+ writeApi(privateApiWriter, allClassesByPackage, privateEmit, privateReference);
privateApiWriter.close();
}
// Write out the private API
if (privateDexApiWriter != null) {
- writeDexApi(privateDexApiWriter, packages, privateEmit);
+ writeDexApi(privateDexApiWriter, allClassesByPackage, privateEmit);
privateDexApiWriter.close();
}
// Write out the removed API
if (removedApiWriter != null) {
- Map<PackageInfo, List<ClassInfo>> allClassesByPackage = Converter.allClasses().stream()
- // Make sure that the removed file only contains information from the required packages.
- .filter(ci -> stubPackages == null
- || stubPackages.contains(ci.containingPackage().qualifiedName()))
- .collect(Collectors.groupingBy(ClassInfo::containingPackage));
-
writeApi(removedApiWriter, allClassesByPackage, removedEmit, removedReference);
removedApiWriter.close();
}