-
Notifications
You must be signed in to change notification settings - Fork 3k
Add dependency checks to components #8875
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
Conversation
@0xc0170 No python was changed in the making of this PR. Why does it need tools input? |
May be my headline is confusing ? |
@deepikabhavnani Can you rebase this to see if the |
"ns_types.h" is not used, but included. Results in build failure when networking feature is ignored with .mbedignored "mbed_trace.h" not used.
"ns_types.h" results in build failure when networking feature is ignored with .mbedignored. ESP8266 component should be enabled only when NSAPI is present.
…present Build failures were observed when rtos is ignored with .mbedignored. Components dependent on RTOS should be guarded with MBED_CONF_RTOS_PRESENT
9500cf6
to
b32c6ba
Compare
Yes it does. Thanks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why cannot the non-RTOS build skip the whole components directory?
I don’t like this #ifdeffing because of one legacy feature.
We always do this config check for mbed 2. @ARMmbed/mbed-os-tools Please review
True, ifdef is not be ideal but that is current approach. We will have something different in future. |
But it is not the current way... At least not the only one. Currently we exclude quite a many folder from non-rtos builds. See: |
I see your point (this is using .mbedignore folder (user's task to add to some folders and in the scripts actually remove the folders). We will come up with better solution. @deepikabhavnani this should follow what we have for features, shouldn't it ? Leave it as it is, and use .mbedignore folder (update our docs to reflect this, I recall there is at least a blog about this how to compile without rtos) |
That is done to test event queues without RTOS. And practically user should be able to remove just RTOS and still build without breaking anything, since we are not capturing dependencies correctly we have to remove so many folders, this is the side effect. Event queue examples should work by just removing rtos
We cannot cover all combinations in docs. Users can have storage (feature+compoents) and other features even when RTOS is disabled but not network. Trying to address these issues :#7800
For now this is the solution we have. We also need to address it in feature (network / green tea) which I will do after this. |
This is not acceptable. And on the other hand, you are placing requirements into teams that are not approved by product managers. This is rtos-less requires support, resources. We cannot spend resources without approval. |
b5ba116
to
76220fa
Compare
@SeppoTakalo - Changes here are not related to non RTOS build or Changes here are related to documented Changes are inline to your previous commits, just adding a few missed dependencies. |
Where are these documented? I think I tried to raise this point earlier.. If there is one documented way, why does the CI do this differently? |
@artokin We need to pull in these changes to the Atmel driver repository as well. |
https://os.mbed.com/docs/v5.10/tools/ignoring-files-from-mbed-build.html
Not sure why, we can definitely ignore folders using |
CI started |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
Description
Build dependency for components was not captured i.e. in case Network feature / RTOS is disabled (added to .mbedignore list), the build breaks. Resolving build issues in this PR.
Pull request type