> AndyT says:
> >Unless you're doing something odd, its javac which
> determines what is and
> >isn't compiled, not ant.
> I thought Ant went through and only presented obviously
> out-of-date files
> to Javac in the first place? (Of course, I would think that
> would foul up
> the Javac dependancy mechanism, but what do I know...)
Not as far as I know, it just passes everything which matches your pattern(sets).
I didn't write the javac task though, others on the list can tell you with 100% conviction.
Why not post the relevant part of your build.xml file?
> >The only times I've seen javac behave as you
> >describe are when your source code is not arranged in a
> directory structure
> >which mirrors the package structure:
> No, that's not it. We can run Ant n times in a row, and it
> will try to compile a *different* number of files each time.
Hmmm, again, I've seen both javac and sj (the visual cafe compiler) do this without being anywhere near ant. Its for the package layout reasons I described, but I take it you've verified that isn't your problem?
> If a particular file contains a syntax error, it might complain about
> it the first time, but then never try to compile it again. I
> can sometimes
> alter a file and have it be ignored -- not compiled at all unless
> I clobber the .class file. Again, this doesn't happen *every* time,
> as would be the case if the package name/directory structure were
> out of sync. It only happens every now and again.
Almost sounds like you've got multiple versions of the same .java file or something unintended like that. If you post details of your build directory layout and parts of your ant file to the list, perhaps someone can help you? At this point I'd think everyone will need more information to comment further.
Andrew Thompson :: +1 (212) 981 1926
Software Developer :: Quidnunc
I am the cat who walks through walls, all places and all times are alike to me.
Disclaimer: any text after this line was not written by the author of this message
This message is for the named person's use only. It may contain confidential, copyright, proprietary or legally privileged information.
No confidentiality or privilege is waived or lost by any mistransmission.
If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender.
You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient.
Although we have taken steps to ensure that this e-mail and attachments are free from any virus, we would advise you to ensure they are indeed virus free. We do not, to the extent permitted by law, accept any liability (whether in contract, negligence or otherwise) for any virus infection and/or external compromise of security and/or breach of confidentiality in relation to transmissions sent by e-mail.
Quidnunc and each of its subsidiaries each reserve the right to monitor all e-mail communications through its networks.
Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity.