You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a normal junction element to the platform project, we trust the platform for deciding on the fdsdk version.
feature.bst
When junctioning our feature project, which brings in some framework we want to use... we make sure to build it against the fdsdk version determined by the platform project, using an override of it's fdsdk junction.
sources:
- kind: giturl: feature.com/gitconfig:
overrides:
# Override fdsdk with our local link elementfreedesktop-sdk.bst: freedesktop-sdk.bst
Feature base stack
Now, the feature project has decided to create a base.bst element as shorthand for referring to the base runtime, coincidentally, it has done so using a stack element rather than a link, it looks like this:
kind: stack# depends on bootstrap-import.bstdepends:
- freedesktop-sdk.bst:bootstrap-import.bst
Running bst show behaviors.
Exclude via platform, full path
bst show --deps run foo.bst bar.bst baz.bst --exclude platform.bst:freedesktop-sdk.bst:bootstrap-import.bst
As expected, the bootstrap elements are not reported in bst show.
Exclude via link
bst show --deps run foo.bst bar.bst baz.bst --exclude freedesktop-sdk.bst:bootstrap-import.bst
Again, we get the correct result
Exclude via the feature project's base element
bst show --deps run foo.bst bar.bst baz.bst --exclude feature.bst:base.bst
Here is the weird bug.
Here we are seeing the bootstrap elements from fdsdk shown, even though we have excluded the base.bst element in the feature.bst project which directly depends on freedesktop-sdk.bst:bootstrap-import.bst.
I suspect that this may have to do with load ordering and the fact that the freedesktop-sdk.bst junction in the feature branch was overridden.
The text was updated successfully, but these errors were encountered:
Encountered a very obscure loading related issue today.
Not writing up an explicit sample test setup just yet but while it's fresh on my mind, consider a diamond setup with 4 projects:
Both the
platform
andfeature
projects have a junction to fdsdk.Toplevel project relations with subprojects
freedesktop-sdk.bst
There is a link to the
platform
project's fdsdk junctionplatform.bst
This is a normal junction element to the
platform
project, we trust theplatform
for deciding on thefdsdk
version.feature.bst
When junctioning our
feature
project, which brings in some framework we want to use... we make sure to build it against thefdsdk
version determined by theplatform
project, using an override of it's fdsdk junction.Feature base stack
Now, the feature project has decided to create a
base.bst
element as shorthand for referring to the base runtime, coincidentally, it has done so using astack
element rather than alink
, it looks like this:Running
bst show
behaviors.Exclude via platform, full path
As expected, the bootstrap elements are not reported in
bst show
.Exclude via link
Again, we get the correct result
Exclude via the feature project's base element
Here is the weird bug.
Here we are seeing the bootstrap elements from fdsdk shown, even though we have excluded the
base.bst
element in thefeature.bst
project which directly depends onfreedesktop-sdk.bst:bootstrap-import.bst
.I suspect that this may have to do with load ordering and the fact that the
freedesktop-sdk.bst
junction in the feature branch was overridden.The text was updated successfully, but these errors were encountered: