On 2020-04-29 13:36, Maurizio Cimadamore wrote:

On 29/04/2020 11:57, Magnus Ihse Bursie wrote:
So who/what is using the ant build? I thought it was just the IDEA project that generated ant targets. Is it run explicitly using ant by langtool developers? I know for sure it's not used when we build the product in our CI.

As Jan mentioned, the main purpose of the langtools Ant build is to get very very fast incremental recompilation. Which happens to be very useful when working in an IDE environment, but one can also use it (and I've seen people doing that) just from the command line. You can run most (all?) of langtools tests by just doing a private langtools build, so langtools developers sometimes go down that path.

Now, to be fair, this was much more common in the non-consolidated world than it is in the new world, but, as Jan mentioned, Make is currently not useful as a replacement for the private langtools build because it has to go through the interim step and all that - and doing that, even in the face of one line change in one file was taking approx 15s recompilation time back when I did the test. So the private build still has a purpose.
While I don't really like there to be two different and parallel build systems, I agree that the incremental behavior of the normal build system is not optimal. Let's work on getting that fixed -- but that's a long term goal.

In the meantime, there's obviously room for, and need of, a separate ant-based build system for langtools. If this is run manually by developers using "ant" on the command line, I see the point that it does not really belong in the IDE directory.

Let's say we keep it in langtools (unless we can find a better home for it). My question is: Are we talking only about build.properties and build.xml? Or are there more files that these depend on, that I had assumed belong to the IDE generation?

/Magnus

Maurizio


Reply via email to