*** tristan has quit IRC | 05:35 | |
*** tristan has joined #buildstream | 05:46 | |
*** ChanServ sets mode: +o tristan | 05:46 | |
*** benschubert has joined #buildstream | 07:45 | |
tristan | Morning benschubert :) | 07:51 |
---|---|---|
tristan | Would you look at https://gitlab.com/BuildStream/buildstream/-/merge_requests/1956 for me ? | 07:51 |
benschubert | morning! Sure, give me a moment and I'll do this | 07:52 |
tristan | yay \o/ | 07:52 |
benschubert | oh yeah, I'll need coffee there :'D | 07:52 |
* tristan has an ever growing stack of changes and would like to incrementally land some things | 07:52 | |
tristan | benschubert, note that I also have https://gitlab.com/BuildStream/buildstream/-/merge_requests/1957 "in the queue", but I can only finish/land that *after* removing the junction name coalescing stuff | 07:53 |
tristan | I.e. it might come to mind that we should be able to fix Element.search() with !1956, but it's not true, has to be done after :) | 07:54 |
*** tristan has quit IRC | 08:01 | |
*** santi has joined #buildstream | 08:39 | |
*** tristan has joined #buildstream | 09:20 | |
*** ChanServ sets mode: +o tristan | 09:21 | |
tristan | overrides are tricky | 11:59 |
tristan | benschubert, So I've got overrides working again after all the full path support, and now it supports overriding deeply nested junctions with locally defined junctions | 12:00 |
tristan | As we said, overriding subprojects using deeply nested junctions could be done with links, but... I was thinking it would be interesting to support full paths in the overrides directly also (override this subproject with that:deep:subproject.bst) | 12:01 |
tristan | This presents some difficulty when you want to make the override using another junction in the same branch in the hierarchy | 12:02 |
tristan | I think we'd also run into trouble with links this way too | 12:02 |
* tristan is wondering if we need some kind of subproject relative notation to be possible | 12:03 | |
tristan | like `overrides: { "subsubproject.bst": ".:othersubsubproject.bst:deepproject.bst" }` (where the "." would represent "here") | 12:04 |
tristan | Otherwise, expressing something like `overrides: { "subsubproject.bst": "subproject.bst:othersubsubproject.bst:deepproject.bst" }` (where the overriding junction is "subproject.bst") presents a cyclic situation, where subproject.bst needs to be resolved for the purpose of resolving it in the first place | 12:06 |
tristan | Using a link to override a junction that is *through* the same junction which is declaring the override, would present the same conflict | 12:07 |
tristan | On the other hand, I doubt that this is very important to support | 12:07 |
tristan | Perhaps the best would be to (A) Support full paths in the overrides dictionary (for both keys _and_ values)... (B) Keep track of junctions which are in the midst of being resolved, and raise an error if it is asked to be resolved in mid-resolution (catching the error gracefully for any offending cases) | 12:09 |
tristan | We could consider subproject relative override expressions separately if desired | 12:09 |
*** tristan has quit IRC | 12:19 | |
benschubert | tristan: good point, I think that we can indeed ensure the loader does the right thing there, and thus not have problems | 12:25 |
*** tristan has joined #buildstream | 14:40 | |
*** ChanServ sets mode: +o tristan | 14:40 | |
douglaswinship | in a compose element: if you're listing domains to include, and also domains to exclude, what happens to domains that aren't in either list? | 15:49 |
douglaswinship | I'm pretty sure that include-orphans is all about files that aren't in any domain at all, and whether they should be included. But what about files that do have a domain, but the domain wasn't specified? | 15:50 |
douglaswinship | I can't see that in the documentation. | 15:50 |
coldtom | douglaswinship, my _guess_ is they get excluded, but i'm not sure | 15:57 |
douglaswinship | coldtom: i'll test it out | 15:58 |
douglaswinship | but if anything that doesn't get explicitly mentioned, gets excluded, then that kind of makes the exclude list redundant. (And vice versa for the include list, if they get excluded). | 15:58 |
douglaswinship | Will run some tests :) | 15:59 |
douglaswinship | Based on a quick check, it looks like when you specify both an include list, and an exclude list, the exclude list is the one that's redundant. Anything that wasn't listed on either list, is excluded by default. | 16:10 |
douglaswinship | So there's presumably no point in ever specifying both an include list, and an exclude list at the same time (unless it helps with readability / clarity) | 16:12 |
douglaswinship | (But if you only specify an exclude list, then it seems to work the other way. Anything you didn't mention, is kept in. - which makes sense) | 16:14 |
douglaswinship | How does one go about contributing/suggesting changes to the documentation? That seems worth mentioning. | 16:14 |
coldtom | douglaswinship: the general docs live here https://gitlab.com/BuildStream/buildstream/-/tree/master/doc/source, plugin-specific docs live in either the $element.yaml or in $source.py, e.g. https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/plugins/elements/compose.yaml | 16:21 |
coldtom | to suggest a change, you could always raise an issue! | 16:21 |
douglaswinship | Thanks! | 16:26 |
tristan | douglaswinship, domains can overlap in the files they capture, if you only "include", then everything not in those groups is excluded... if you "include" AND "exclude", the files in excluded groups will be subtracted from the files included | 16:53 |
tristan | douglaswinship, if you only exclude, all files are assumed to be included at the outset IIRC | 16:54 |
tristan | douglaswinship, will be happy of course to take docs patches :) | 16:54 |
douglaswinship | tristan: oooooh. That sounds complex, but in a useful way. :) | 17:03 |
douglaswinship | I hadn't thought of domain overlaps | 17:03 |
*** santi has quit IRC | 17:48 | |
*** xjuan has joined #buildstream | 19:58 | |
*** toscalix has joined #buildstream | 21:10 | |
*** toscalix has quit IRC | 21:11 | |
*** benschubert has quit IRC | 21:21 | |
*** philn has quit IRC | 23:09 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!