-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decide the defaults L&F of the multithread terminal view #210
Comments
It should be possible to enhance the smart builder to compute the maximum concurrency of a project, so that we could also use it as a maximum for the number of threads to display. |
I've pushed a commit on my repo (https://github.com/gnodet/mvnd/tree/dag-width) which should be able to bring an upper-bound to the maximum concurrency level. We should use it in order to know the max number of lines to use. Adding a full-screen mode shouldn't be very difficult to do. Whether it should be the default or not, I'm not sure. If the project is known to have a small maximum concurrency (see above) and if the rolling window is not enabled, I don't think we should reserve the whole screen. Though we could add an option and see what's best. |
@ppalaga I'm willing to reconsider the default behaviour of So that would mean:
|
+1 for the simple switch that would configure all those things at once. But I'd personally find it a pity to give up on making pressure on the whole ecosystem to move towards parallelization. I mean if we stop offering it as a default, both end users and plugin developers will give up on improving things. Detecting the problems related to parallel builds, naming them, complaining about them will become less common and the progress will slow down. I think we can afford to stay a bit disruptive ;) |
The simple switch has been implemented in #248 . |
@ppalaga what about closing this one ? I'm quite pleased the way it is now. |
Point 1. does not seem to be implemented yet and I'd be OK with moving it into a separate issue. I do not mind abandoning the rest. |
Raised #414 to reserve lines. We can always improve later. |
The view should immediately claim its preferred number of lines (possibly adding empty lines at the end) so that the top status line does not move up during the build as more active threads are added.
Maybe the "preferred number of lines" default should be all available terminal lines. If we do this, rollingWindowSize can be computed dynamically and it does not need to be a preference. I am not sure whether this a good idea. I'd have to try an see.
The current policy of showing the full rollingWindowSize where possible starting from the beginning often looks strange on my 24 core machine: 8 threads have log lines and the rest has none. Maybe it should be all or none. WDYT?
The upper bounds of per-thread number of log lines should not take the number of active threads into account, so that the status lines of the individual threads stay fixed on the same line during the build.
Maybe in situations, when the build happens to be linear, because the dependency graph does not allow any concurrency,moved to Maven-like rolling output when the build happens to be linear #269noBuffering
could be activated automatically. (This is trivially true for single module builds)The text was updated successfully, but these errors were encountered: