Review request for JDK-8156680: jdeps implementation refresh

Daniel Fuchs daniel.fuchs at oracle.com
Wed May 11 17:39:03 UTC 2016


Hi Mandy,

I had a look at the first webrev.

Code reorganization in some of the files makes it difficult
to follow what is going on. I will try to import
the changes in my local workspace tomorrow and play with
it a bit.

I have two small comments so far:

On 11/05/16 02:12, Mandy Chung wrote:
> JDK-8156680: jdeps implementation refresh
> JDK-8153042: jdeps should continue to report JDK internal APIs that are removed/renamed in JDK 9
>
> Webrev at:
>    http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8156680/webrev.00/

Archive.java:

  106     public Stream<Location> getDependencies() {
  107         return deps.values().stream()
  108                    .flatMap(Set::stream);
  109     }

I suspect it might be more correct to do:

          return deps.values().stream()
                         .flatMap(Set::stream)
                         .distinct();

DependencyFinder.java:

   82     Set<Archive> archives() {
   83         waitForTasksCompleted();
   84         Set<Archive> set = new LinkedHashSet<>();
   85         parsedClasses.values().stream()
   86             .forEach(archive -> set.add(archive));
   87         return set;
   88     }

Should that be:

        Set<Archive> archives() {
            waitForTasksCompleted();
            return parsedClasses.values().stream()
                .toCollection(LinkedHashSet::new);
        }


best regards,

-- daniel

>
> This refactors the jdeps implementation that regression tests can be developed without the need to parse the output file.  It also includes a list of the removed JDK internal APIs and provides the pointer where to look for more further information.
>
> JDK-8153481: tools/jdeps/modules/GenModuleInfo.java and ModuleTest.java fails intermittently
> Webrev at:
>    http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8153481/webrev.00/
>
> Mandy
>




More information about the core-libs-dev mailing list