On 05/19/2015 10:02 AM, Daniel Fuchs wrote:
Hi,
Please find below a patch for jdeps:
http://cr.openjdk.java.net/~dfuchs/webrev_8080608/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8080608
:
The fix will make sure that jdeps prints instead:
indirect2.jar -> dist/unsafe.jar
use.indirect2.UseUnsafeIndirectly2 -> use.unsafe.UseUnsafeClass
unsafe.jar
unsafe.jar -> dist/unsafe.jar
use.unsafe.UseClassWithUnsafe -> use.unsafe.UseUnsafeClass unsafe.jar
A dependency from unsafe.jar to itself is redundant and thus was
excluded from the returned value of the requires method. Maybe better
just to output without any dependence like this:
unsafe.jar
use.unsafe.UseClassWithUnsafe -> use.unsafe.UseUnsafeClass unsafe.jar
Analyzer.java
147 if (result.requires.isEmpty() && type == Type.VERBOSE &&
hasDependences(source)) {
Is type == Type.VERBOSE necessary? If hasDependences(source) returns true,
"unsafe.jar" is missing for non-verbose mode I assume.
This long line should be broken into multiple lines.
Maybe good to initialize Stream<Archive> to handle the empty and
non-empty case to avoid duplicate code line 148-149:
final ArchiveDeps result = results.get(source);
Stream<Archive> reqs = result.requires().stream();
if (result.requires().isEmpty()&& hasDependences(source)) {
reqs = Stream.of(source);
}
reqs.sorted(.....
I haven't reviewed the tests. They are named as closure. Are these
tests for the new jdeps enhancement that you are thinking?
Thanks
Mandy