-
Notifications
You must be signed in to change notification settings - Fork 148
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
build: include build summary at the end of the build #63
Comments
Here's an example of what the build summaries could contain: I think it would be great if the build summaries were generated as valid YAML, as they are in this example. Then we could easily parse it down the road if we wanted to. Each of them has the following sections:
|
+1 especially to the analytics about where build dependencies came from. |
Yeah I forget who mentioned this during the telecon but I think that would be a huge timesaver. |
+1 for the idea, in particular also to include advisories.
Aren't you meant to avoid sourcing the 'run space' you are building into? |
Well you have to source it at some point if you want to start using the products that are built there. |
Sure. We'll have to decide what to recommend at some point (for or against building a ws in the environment where one of it's own run spaces is sourced; recommending for this is subtly broken; recommending against it goes against the current usage of |
What exactly is it which breaks? Not to get the discussion off-track, but rebuilding after sourcing is absolutely my usage model. Is the expectation that your build and launch/testing occurs in separate terminals? If so, I don't think this is communicated at all in the tutorials. |
Yeah, I also do this all the time. So does everyone I know. |
This was discussed here: #10 (comment). Apparently it does not come up in practice much, but the potential for very subtle conflicts is there (I guess if such conflicts occur, they are seldomly identified because the user would wipe build/devel and retry before analysing some strange behaviour and the retry would then work). |
Ah yeah that. Of course this is only an issue with the merged-build mode that
|
I don't think I fully understand this myself, however William responded to that comment of Thibault:
That to me sounds like the I have no idea if and how this issue needs to be addressed or should be better ignored. |
It can be a problem to build -> source -> build, consider this:
This is subtle, but minor, and can also occur when you have package At first thought you imagine we could just not allow people to build a workspace on top of itself, something like That being said, I usually try to keep one terminal for building and another for running, which has become a habit. |
I think the only real way around this would be a pattern like homebrew's superenv for building packages. I.e. for building each package, the environment is stripped clean of any build related variables and then piece by piece only the needed bits (as by declared dependencies) are added. With that, it wouldn't matter what the build environment looks like in the shell the user invokes Sounds like a lot of work and it is unclear if it is possible at all, but ultimately that could lead to much cleaner and more reliable builds. |
I am familiar with Homebrew's superenv system (I helped fix some issues with it when they were first rolling it out), and I have often thought of adopting a similar mechanism for our build tool, but it seems to me that it is something which is difficult to get right, but not impossible. Also it is a significant amount of "magic", which when it goes wrong is incredibly difficult to debug, so you really have to get it right. |
Seems like catkin_tools now has most of this build summary...
Should this issue be closed? |
This summary should include things like workspaces being extended and compiler being used and stuff like that.
The idea is that having this at the end of the build would better notify users of their build environment.
The text was updated successfully, but these errors were encountered: