Fix the FileX and ThreadX dependencies#318
Merged
fdesbiens merged 7 commits intoeclipse-threadx:devfrom May 16, 2025
hnguyenHWI:master
Merged
Fix the FileX and ThreadX dependencies#318fdesbiens merged 7 commits intoeclipse-threadx:devfrom hnguyenHWI:master
fdesbiens merged 7 commits intoeclipse-threadx:devfrom
hnguyenHWI:master
Conversation
Release version v.6.4.3
A common error condition is that the user cloned the repo without the --recursive option. We'll try to get the submodules for them. We remove the git clone command because the submodule update should fix the issue.
Need to update to include the CMake version changes so that the NetXDuo build scripts succeed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
--recursive#310--recursiveoption) and run build scripts successfullyDetailed Notes
The Azure IOT SDK was properly configured as a submodule dependency but the FileX and ThreadX repositories were not. Previously the dependencies were cloned into the repository by the shell scripts.
I believe commit c505fcd removed the .gitignore affecting those folders, and a subsequent commit by a different contributor added the
/test/cmake/filexandtest/cmake/threadxrepositories because the build script cloned them into that location.However, because they were directly cloned and not configured properly as submodules, future clones of the NetXDuo repository only contained those folders but not their contents. This broke the build scripts and also broke using NetXDuo as a submodule (see #310 and #315 ).
This PR fixes that and configures the dependencies properly. I've also updated the build scripts to catch the common error condition (or maybe it's just me 😄 ) where a user clones the NetXDuo repository without the
--recursiveoption. Without it, the build scripts will fail to find the bootstrap script.run.sh.I originally printed an error message and hint to the user to
cdto the root and rungit submodule update --init --recursivebut then figured we could at least detect that one error condition and try to automatically resolve it and re-run the build script, making it easier for the user.Also, because the build scripts automatically fetch the dependency submodules, the run scripts no longer need to check for their existence and clone the repos. Removing the clone command will help prevent the repository from getting into weird states in the future with the folders added with no content inside.
Edit: I wrote a long explanation because I wasn't sure that my changes follow the original intention of how the dependencies are structured. Hopefully the notes will help reviewers decide if this implementation is correct, and help future committers if the structure is changed.