views:

99

answers:

1

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.
+1  A: 

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.

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