Build tools: dependency checking, Ant and Javamake

Discussion in 'Java' started by Karsten Wutzke, May 31, 2005.

  1. Hello all!

    Can anybody name the best dependency checkers for rebuilding Java files?
    Some time ago, it was said, Ant had only decent dependency checking. A
    "plugin" adapter class called Javamake

    http://www.experimentalstuff.com/Technologies/JavaMake/index.html

    seemed to do a *much* better job.

    I looked at the page and there seem to be some incompatibilities with
    Java 5. Furthermore, the project seems to be discontinued right now.
    Only a version for Ant 1.5 is available, while Ant now is in Version 1.6.4.

    How good is Eclipse's dependency checking?

    Has Ant's depencency checking improved over the last versions?

    Thanks for helping!

    Karsten
     
    Karsten Wutzke, May 31, 2005
    #1
    1. Advertising

  2. Karsten Wutzke

    Harald Guest

    Karsten Wutzke <> writes:

    > Can anybody name the best dependency checkers for rebuilding Java
    > files? Some time ago, it was said, Ant had only decent dependency
    > checking. A "plugin" adapter class called Javamake


    Risking to troll, I dare to suggest that the only 100% save way of
    dependency checking requires nearly complete parsing of the source
    file(s). And this does not even have to do with
    import-dependencies. Every inner class results in a separate class
    file. If, for whatever reason, such a class file is deleted, the
    product is incomplete. But checking modification times of source files
    against all class files will not reveal this.

    Another observation is that the slow part of compilation is startup of
    the compiler. I don't see (feel) much difference between compiling 1
    or 100 source files.

    So, if your number of source files is not a magnitude larger, your
    best bet is to compile all source files as soon as any one of them was
    touched.

    This does not prevent the problem described above of losing the class
    file of an inner class, but the argument is, that the inner class
    problem undercuts every elaborate attempt to get dependencies 100%
    right.

    Sorry, my answer is not really to the point, as I don't know the
    "best" dependency checker.

    Harald.

    --
    ---------------------+---------------------------------------------
    Harald Kirsch (@home)|
    Java Text Crunching: http://www.ebi.ac.uk/Rebholz-srv/whatizit/software
     
    Harald, Jun 2, 2005
    #2
    1. Advertising

  3. Harald wrote:
    > This does not prevent the problem described above of losing the class
    > file of an inner class, but the argument is, that the inner class
    > problem undercuts every elaborate attempt to get dependencies 100%
    > right.


    I have to disagree here. It is possible, but it requires much bigger
    gear. There are (expensive) tools out there who can monitor file system
    access. From that they can conclude which files have been produced by a
    call to the compiler in a build, and flag them as implicit (sibling)
    dependencies of the input to the compiler.

    But, at least the system I know and happen to use daily adds a bunch of
    new problems to the picture, e.g. it comes with an own version of make
    which needs to be used to get the implicit dependency detection and many
    other things working. Unfortunately, like all classic make variants that
    make chokes on circular dependencies - and Java source typically has a
    bunch of them.

    /Thomas

    --
    The comp.lang.java.gui FAQ:
    ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq
     
    Thomas Weidenfeller, Jun 3, 2005
    #3
  4. Karsten Wutzke

    Dale King Guest

    Karsten Wutzke wrote:
    > Hello all!
    >
    > Can anybody name the best dependency checkers for rebuilding Java files?
    > Some time ago, it was said, Ant had only decent dependency checking. A


    Ant has woefully inadequate dependency checking. It is trivial to set up
    a case where Ant completes without error, but the software crashes
    because Ant did not build everything it needed. My philosophy is that if
    you ever have to do a "make clean" operation in order to get a correct
    build then your build system is broken.

    > "plugin" adapter class called Javamake
    >
    > http://www.experimentalstuff.com/Technologies/JavaMake/index.html
    >
    > seemed to do a *much* better job.


    Javamake was the best that I know of for command line builds.

    > I looked at the page and there seem to be some incompatibilities with
    > Java 5. Furthermore, the project seems to be discontinued right now.
    > Only a version for Ant 1.5 is available, while Ant now is in Version 1.6.4.


    It would be nice if they open source it. I've talked with the author
    about it before because there are some things I would like to see added,
    but then I no longer need a command line tool.

    > How good is Eclipse's dependency checking?


    It is pretty much right on. I've never had a problem with it.

    > Has Ant's depencency checking improved over the last versions?


    Doubtful. It seems hard to even convince the worshippers of Ant that
    there is even a problem. In my opinion Ant is pretty much a glorified,
    cross-platform batch file.

    --
    Dale King
     
    Dale King, Jun 5, 2005
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. sowbug
    Replies:
    0
    Views:
    426
    sowbug
    Aug 19, 2003
  2. Replies:
    0
    Views:
    411
  3. david wolf
    Replies:
    0
    Views:
    479
    david wolf
    Mar 31, 2006
  4. BioInfoGuy

    library dependency tools?

    BioInfoGuy, May 4, 2006, in forum: Java
    Replies:
    0
    Views:
    462
    BioInfoGuy
    May 4, 2006
  5. manos
    Replies:
    0
    Views:
    247
    manos
    Oct 6, 2007
Loading...

Share This Page