-
Notifications
You must be signed in to change notification settings - Fork 55
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
Make creation of RTE folder optional #432
Make creation of RTE folder optional #432
Conversation
8708c4c
to
9522523
Compare
One of the integration tests failed so I pushed fixed versions of the commits. |
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.
There are three problems with this PR that need to re-worked:
- Separate RteFsUtils change in a separate PR as it is not related to the rest.
- Add RteKernel methods to check if RTE files need to be copied. This should replace passing such flags all way down to the hierarchy.
- Restructuring InitFileInstance() and adding WriteInstanceFiles() : all cses should be considered, not only loading cprj file
Thank you for your suggestions. Regarding passing the flag down the hierarchy, I agree that it felt somewhat strange to have to do that, and I'm looking into how to implement it using |
8fd8ca2
to
8c45d82
Compare
I ended up adding methods to |
8c45d82
to
43e0888
Compare
@ErikLundinSTM As discussed in the meeting today, let's make the inverted logic for |
I do agree with the idea that updating RTE folders can be made optional.
|
43e0888
to
392a336
Compare
@edriouk Thank you for your input. When saying that the methods that copy, create or delete files/folders should be left unchanged, do you refer to e.g. |
Code rebased on latest main to keep up with changes there. |
@ErikLundinSTM, yes, I would suggest changing RteProject::AddCprjComponents and RteProject::InitFileInstance back to their previous states to keep compatibility with the existing tools first. The most important aspect here is that RteProject::InitFileInstance() gets eventually called from the following chain: The obvious place to centralize file operations is RteProject::Update(). I would prefer to do that consolidation in a separate PR. |
21af677
to
0aae410
Compare
I have modified the PR to not change the mentioned functions. All tests should pass now as well. Please check if there are more things you would like to have changed. |
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.
@ErikLundinSTM Thanks for this commit!
Please find my comments and suggestions near to the code.
392a336
to
c0d517e
Compare
New csolution flag for use with convert subcommand: --no-update-rte Using this, files in the RTE aren't created or updated, and the folder isn't created if it doesn't exist. Contributed by STMicroelectronics Signed-off-by: Erik LUNDIN <erik.lundin@st.com>
Behaviour seems to have changed with 28d4e68 so the RTE files got created when running - csolution list dependencies - csolution list generators Contributed by STMicroelectronics Signed-off-by: Erik LUNDIN <erik.lundin@st.com>
New cbuildgen flag for use with cmake subcommand: --update-rte Unless using this, files in the RTE aren't created or updated, and the folder isn't created if it doesn't exist. Contributed by STMicroelectronics Signed-off-by: Erik LUNDIN <erik.lundin@st.com>
c0d517e
to
d853163
Compare
44d9e03
to
3e19cc4
Compare
3e19cc4
to
41dcc02
Compare
@ErikLundinSTM It seems we didn't realize we need to extend the cbuild options as well. Let' tackle that afterwards. |
I'm struggling with the integration tests right now. Seems like it works if reverting the default behavior of |
@ErikLundinSTM If you merge my proposed changes into your branch ErikMallbergSTM#1 all remaining integration tests failings should be solved. I have tested it in my fork. |
Sorry, I missed that PR. Is it OK if I first remove my last, temporary commit and rebase on main? Then I'll merge your fixes to the integration tests. |
There is no need to remove the commit - that line was actually reworked in my changes. In the end we do a "squash and merge" so all the PR changes are merged into main as one single commit. And yes you can rebase on main. |
…ration_tests Make rte files optional - fix integration tests
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #432 +/- ##
===========================================
+ Coverage 45.88% 70.26% +24.37%
===========================================
Files 116 50 -66
Lines 20792 9701 -11091
Branches 11376 5963 -5413
===========================================
- Hits 9541 6816 -2725
+ Misses 9457 1855 -7602
+ Partials 1794 1030 -764
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Could |
Yes it is tracked here: Open-CMSIS-Pack/cbuild#21 |
* RTE Model refactoring: preparation Derive RteItem from XmlItem Move methods from RteAttributes to RteItem, or XmlItem or RteUtils (static ones) Delete RteAttributes class
This introduces the flag
--no-update-rte
for thecsolution convert
andcbuildgen cmake
commands to skip creation/update of the RTE folder and files. It is useful when you just want to resolve the project but don't want the RTE files.In addition, the commands
csolution list dependencies
andcsolution list generators
are fixed to never create the RTE folder.Fixes #371
Prerequisite: #436
Contributed by STMicroelectronics
Signed-off-by: Erik LUNDIN erik.lundin@st.com