Review request: 8003562: Provide a command-line tool to find static dependencies

Mandy Chung mandy.chung at oracle.com
Fri Dec 7 21:55:36 UTC 2012


This is the updated webrev. It includes Erik's makefile changes and
small change - be consistent with javap, jdeps can take classnames as
the input argument or wildcard "*" to analyze all class files that
replaces the "-all" option.

Webrev:
    http://cr.openjdk.java.net/~mchung/jdk8/webrevs/jdeps/webrev.03/

Mandy

On 12/5/12 5:36 PM, Mandy Chung wrote:
> This review request (add a new jdeps tool in the JDK) include changes in
> langtools and the jdk build.  I would need reviewers from the langtools
> and the build-infra team.
>
> Webrev for review:
>    
> http://cr.openjdk.java.net/~mchung/jdk8/webrevs/jdeps/langtools-webrev.02/
>    http://cr.openjdk.java.net/~mchung/jdk8/webrevs/jdeps/jdk-webrev.02/
>
> The jdeps source is in the langtools repo.  The change in the jdk repo is
> to add the new jdeps executable.  I made change in the old and new build
> for the addition of this new jdeps tool.  I discussed with Jon whether I
> should modify langtools/make/build.xml to add a new jdeps target. Since
> the old build will be replaced by the new build soon, I simply add
> com/sun/tools/jdeps as part of javap.includes.
>
> Alan,
>
> The -d option is kept as a hidden option and use as implementation. We
> can remove it when it's determined not useful in the future.  I also
> rename -v:summary to -summary.
>
> Thanks
> Mandy
>
> ----------------------------
>
> $ jdep -h
> Usage: jdeps <options> <files....>
> where possible options include:
>   -version                 Version information
>   -classpath <path>        Specify where to find class files
>   -summary                 Print dependency summary only
>   -v:class                 Print class-level dependencies
>   -v:package               Print package-level dependencies
>   -p <package name>        Restrict analysis to classes in this package
>                            (may be given multiple times)
>   -e <regex>               Restrict analysis to packages matching pattern
>                            (-p and -e are exclusive)
>   -P  --profile            Show profile or the file containing a package
>   -R  --recursive          Traverse all dependencies recursively
>   -all                     Process all classes specified in -classpath
>
> $ jdep Notepad.jar Ensemble.jar
> Notepad.jar -> D:\tools\devtools\jdk8\windows-i586\jre\lib\rt.jar
> <unnamed> (Notepad.jar)
>       -> java.awt
>       -> java.awt.event
>       -> java.beans
>       -> java.io
>       -> java.lang
>       -> java.net
>       -> java.util
>       -> java.util.logging
>       -> javax.swing
>       -> javax.swing.border
>       -> javax.swing.event
>       -> javax.swing.text
>       -> javax.swing.tree
>       -> javax.swing.undo
>
> Ensemble.jar -> D:\tools\devtools\jdk8\windows-i586\jre\lib\jfxrt.jar
> Ensemble.jar -> D:\tools\devtools\jdk8\windows-i586\jre\lib\rt.jar
>    com.javafx.main (Ensemble.jar)
>       -> java.applet
>       -> java.awt
>       -> java.awt.event
>       -> java.io
>       -> java.lang
>       -> java.lang.reflect
>       -> java.net
>       -> java.security
>       -> java.util
>       -> java.util.jar
>       -> javax.swing
>       -> sun.misc                                 JDK internal API 
> (rt.jar)




More information about the core-libs-dev mailing list