diff options
author | David Brazdil <dbrazdil@google.com> | 2018-01-30 12:47:20 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-01-30 12:47:20 +0000 |
commit | 9c1c659d5e8b41289380b45b786c784f5704b3b5 (patch) | |
tree | c3c54c4087a526141c3c3c2e75dcd6fecf6cfa8e | |
parent | 6c8941c13bc9afb1a3553c6678f82da46eb1bb96 (diff) | |
parent | 5bd576acfecb3d316ec2cb2c84e090728cfc6edd (diff) | |
download | doclava-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.java | 19 |
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(); } |