Wednesday, February 9, 2011

Modern equivalent of javadeps?

I am looking for a replacement for javadeps, which I used to use to generate sections of a Makefile to specify which classes depended on which source files.

Unfortunately javadeps itself has not been updated in a while, and cannot parse generic types or static imports.

The closest thing I've found so far is Dependency Finder. It almost does what I need but does not match non-public classes to their source files (as the source filename does not match the class name.) My current project has an interface whose only client is an inner class of a package-private class, so this is a significant problem.

Alternatively if you are not aware of a tool that does this, how do you do incremental compilation in large Java projects using command-line tools? Do you compile a whole package at a time instead?

Notes:

  1. javadeps is not to be confused with jdepend, which is for a very different purpose.
  2. This question is a rewrite of "Tool to infer dependencies for a java project" which seemed to be misunderstood by 2 out of 3 responders.
  • I use the <depend> task in ant, which is ok, but not 100% trustworthy. Supposedly JavaMake can do this dependency analysis, but it seems to be rarely updated and the download page is only sometimes available.

    finnw : Thanks. Although JavaMake doesn't parse Java source it's probably the best match right now.

0 comments:

Post a Comment