RFR: 8080608: Missing archive name from jdeps -v -e output if no dependency on other JAR
Mandy Chung
mandy.chung at oracle.com
Tue May 19 23:44:24 UTC 2015
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
More information about the core-libs-dev
mailing list