-
Notifications
You must be signed in to change notification settings - Fork 217
Add dependencies in the prepare step instead of check_readiness. #2674
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
Using the prepare step we will be able to iterate over multiple build-dependencies such as multiple Python versions. This also removes the dependencies field from the Toolchain class which handles them completely functionally now. The EasyBlock class now has self.dependencies to remember them for outputting in modulefiles.
also use tcdeps instead of deps where appropriate for _load_modules()
Now that prepare_step() takes care of dependencies they now no longer fail.
This avoids needing to worry about prepare returning a value, and easyblocks relying on it.
|
ping @boegel ? |
|
@bartoldeman The problem with the tests is "fixed" in #2678, I'll retrigger the tests for this PR... |
| # do all dependencies have a toolchain version? | ||
| if deps is None: | ||
| deps = [] | ||
| tcdeps = self._check_dependencies(deps) |
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.
@bartoldeman Why not make this self.dependencies = self._check_dependencies(deps)?
Then there's no need to change _load_modules, _load_dependencies_modules and _add_dependency_variables to pass down tcdeps, they can just keep using self.dependencies like they were before?
It's a bit silly to pass them around if we have self.dependencies anyway (which we can't remove since easyblocks may be using it)...
add back Toolchain.add_dependencies as deprecated method
|
Thanks @bartoldeman! |
Using the prepare step we will be able to iterate over multiple
build-dependencies such as multiple Python versions.
This also removes the dependencies field from the Toolchain class whichhandles them completely functionally now. The EasyBlock class now has
self.dependencies to remember them for outputting in modulefiles.