-
Notifications
You must be signed in to change notification settings - Fork 113
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
Concise Output #184
Concise Output #184
Conversation
I like this better than what I have in #183. But I'm not sure if I'm keen on the |
@jkutner it corresponds to On our side, it'll never be 1 of 1 as we don't have any situation where we use only a single buildpack (not even Golang). |
I guess the situation i'm thinking of is this: a Ruby program who wants to build a Rails app with the Heroku builder. They see:
The "9" here is extraneous because those other buildpacks are Java, PHP, Go, etc. It might even confuse people ("I thought i was just using the Ruby buildpack?"). The problem, IMO, is that it leaks the underlying implementation to the user. A user doesn't need to know or care how many buildpacks are in a builder--they only need it to work and build their image. If the FYI: not going to die on this hill. I generally like you're change here. |
Overall I like this change. Do we just build our builders differently of what we put them in? i.e. do you have a Java or Go as separate builders? |
@hone Ah, that must be the difference! We have multiple languages in the same builder, but they're all handled as separate groups. So in your case, you'd likely see a single "1 of 1" for whatever language you picked. |
@nebhale ohhhh, that makes much more sense. Could we add a check, and if |
Sure @jkutner. Elide the whole line or just the |
@nebhale elide the whole line. no need to shame the 1 buildpack for being a loner :) |
Previously the output of the detect phase was way too verbose printing the id and version of every buildpack and whether it passed or failed. Given large buildpack groups this was a large block of text that was difficult to visually parse for useful information. A recent change to the output then simplified it to describe only the number of buildpacks that were participating in the build phase, but removed their id and version. This version of the output ended up being too terse, removing the genuinely useful information of what buildpacks were manipulating your application. This change splits the difference between the two previous attempts. It prints the number of buildpacks participating out of the number of options (implying that the others failed or skipped) and then prints the id and version of each of the participating buildpacks. The detailed information about the non-participating buildpacks is still useful in some circumstances, and should be added back once logging levels are implemented in the lifecycle. A recommendation would be the current output at Info, and full output at Debug. Signed-off-by: Ben Hale <[email protected]>
Previously the output of the detect phase was way too verbose printing the id and version of every buildpack and whether it passed or failed. Given large buildpack groups this was a large block of text that was difficult to visually parse for useful information.
A recent change to the output then simplified it to describe only the number of buildpacks that were participating in the build phase, but removed their id and version. This version of the output ended up being too terse, removing the genuinely useful information of what buildpacks were manipulating your application.
This change splits the difference between the two previous attempts. It prints the number of buildpacks participating out of the number of options (implying that the others failed or skipped) and then prints the id and version of each of the participating buildpacks. The detailed information about the non-participating buildpacks is still useful in some circumstances, and should be added back once logging levels are implemented in the lifecycle. A recommendation would be the current output at Info, and full output at Debug.
Example output: