Hi Robert,

Indeed this looks very useful.

On 2/16/2015 10:45 AM, Alan Bateman wrote:
On 16/02/2015 18:28, Robert Scholte wrote:
Hi Alan,

if you are referring to the -R / -recursive option of the jdeps tool, then yes you can. See http://maven.apache.org/plugins-archives/maven-jdeps-plugin-LATEST/maven-jdeps-plugin/jdkinternals-mojo.html#recursive I think jdeps is first of all interesting for the classes of the current Java project, so I've set the default of this parameter to 'false'. However, if the majority thinks it is better to activate this by default, we will consider to change this value.
I could imagine wanting to run it twice: once for the current project where I want the build to fail if it makes direct use of JDK-internal APIs, and a second time to run with -R and emit warnings if any of the transitive dependences (that I don't control) are using JDK internal APIs.

Another alternative to running jdeps -R, the plugin can run jdeps on all of the transitive dependences of the current project (all JAR files can be put in one jdeps command) that will find out if any of its dependences (analyze all classes) is using JDK internal API.

jdeps -R will only analyze classes that are referenced from the root set (i.e. the arguments passed to jdeps that I assume be the current project) and doesn't analyze any class in the dependences that is not referenced transitively.

The default is to run jdeps on the current project sounds reasonable to me.

Mandy

Reply via email to