-
Notifications
You must be signed in to change notification settings - Fork 108
Dependency handling #266
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
Dependency handling #266
Conversation
I getting toward a working version here, one issue I noted is that git tags are not reliable and we have to treat them like branch names for now. One can actually force push and delete a tag with git, making it impossible to tell for fpm whether or not a dependency is fetched correctly without retrieving upstram. Therefore, I moved the TOML-Fortran pinning from
Cleaned up and ready for review. |
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.
Thanks @awvwgk, this is a significant improvement. Works as expected and the implementation looks robust. 👍
My only comment is that it would be good to include fpm update
in the various general fpm help
texts:
fpm/fpm/src/fpm_command_line.f90
Line 310 in f9e67cf
help_list_nodash=[character(len=80) :: & |
fpm/fpm/src/fpm_command_line.f90
Line 326 in f9e67cf
help_list_dash = [character(len=80) :: & |
fpm/fpm/src/fpm_command_line.f90
Line 401 in f9e67cf
help_fpm=[character(len=80) :: & |
Seems like I always overlook parts of the command line documentation, I have to make a checklist for creating new commands to make sure I get it added to all the right places for the next time. Thanks for the reminder. |
I would like to move at least one of new commands ( |
I'm happy for this PR to move forward; it would be good to get a second review if possible. |
Since this PR will close multiple issues and allow work to move forward elsewhere I think this can be merged if there are no further comments. @awvwgk are you happy to merge when you're ready? |
Sounds good, I will rebase and merge this branch later today. If there are problems coming up later we can still handle those separately. |
- create a dependency tree data type with serde functionality - allow translation from and to TOML of dependency tree - implement iterative fetching of each dependency level
- test round trips for dependency cache - allow removing the cache from the command line - update dependencies in fpm-update (rudimentary implementation only)
Take two on the dependency handling (see #251 for a recursive implementation).
build_model
fpm-update
subcommandbuild_model
should use the dependency tree exclusivelyRelated #121
Fixes #265
Proposed command line interface for
fpm-update
Dependency management strategy
build/cache.toml
)