Skip to content

Hadrian is too aggressive in rebuilding

Here's what has happened:

  1. build (with settings devel2). This did its thing successfully.
  2. Edit a comment in one file.
  3. build test --only=blahblahblah. I was expecting to run a test. (It was a new test-case, a change unrelated to the comment I fixed.)

What happens though is that stage-1 is rebuilt, and now I'm currently waiting for the entire RTS to be rebuilt. And all I wanted to do is run a test!

I understand why Hadrian is doing this; it's technically got the upper hand here. But it's very frustrating. I suppose I could have done --freeze1, but it's too late now. And, even if I didn't do --freeze1, I'm surprised that the whole RTS needs to be rebuilt. Again, I know why Hadrian wants to. But I miss the old LAX_DEPENDENCIES feature of make.

So, I suppose this boils down to two requests:

  1. Restore the LAX_DEPENDENCIES feature. I don't know the specification of that feature, but my experience is that it just did the Right Thing, and I always had it enabled (except during validation).
  2. Have some way of just running a test, without any rebuilding.

Somewhat separately, it might be nice to package up common idioms into smaller command lines. Again, individual devs can do this, but centralized support (especially so that these scripts can be run from a variety of directories) would be nice. For example, I imagine my suggestion (2) above will lead to build test --no-recompilation --only=xyz, but that's a long line to write!

Thanks!

Trac metadata
Trac field Value
Version 8.6.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Build System (Hadrian)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information