New build --stop-after#1573
Conversation
| .New_Line | ||
| .Append (TTY.Bold ("Build stages")) | ||
| .New_Line | ||
| .Append ("Instead of a full build, the process can be stopped early " |
There was a problem hiding this comment.
Maybe explain when this could be useful. This is a debug tool, and people who are not experts may be in bad situations after using it.
There was a problem hiding this comment.
I added an explanation after the steps, and a clarification that a regular alr build should leave things as intended.
| -- many more shared releases in the vault, finding toolchains could take | ||
| -- much more time, hence the separate storage. | ||
|
|
||
| type Build_Stages is |
There was a problem hiding this comment.
This looks like a nice process for builds, but I see it is separate from how the code will run.
We may add new stages that will not be added to this enum, and vice versa.
Maybe we can have it more explicit with a loop like this:
for Stage in Build_Stages loop
case Stage is
when Sync =>
when Generation =>
- Etc,
end loop;There was a problem hiding this comment.
I think I understand what you mean, but not the implementation detail. What is that loop intended to replace?
Maybe the enum can be renamed to Stopping_Points as to make explicit what they are intended to be used for.
There was a problem hiding this comment.
Maybe that's an oversimplification of the build process on my part, and the different steps in the build are probably spread across different locations in the code.
Maybe the enum can be renamed to
Stopping_Pointsas to make explicit what they are intended to be used for.
Indeed that would probably be better.
There was a problem hiding this comment.
Ah, I see. Yes, it's not as clear-cut as that, as there's some recursion involved through the dependency tree. I'll change the name then.
This allows stopping the build process at different points, which may help in debugging actions, ensuring up-to-date config without requiring updating dependencies nor building, etc.
Fixes #1544