Skip to content
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

Extension - Support for optional/required, build-time/runtime dependency #3704

Open
slicerbot opened this issue Mar 13, 2020 · 1 comment
Open
Milestone

Comments

@slicerbot
Copy link
Collaborator

This issue was created automatically from an original Mantis Issue. Further discussion may take place here.

@lassoan lassoan added this to the Backlog milestone Mar 16, 2020
@lassoan lassoan removed the backlog label Mar 16, 2020
@lassoan lassoan changed the title Extension - Support for build time dependency Extension - Support for optional/required, build-time/runtime dependency Jun 9, 2022
@lassoan
Copy link
Contributor

lassoan commented Jun 9, 2022

This issue has come up here: #6417 (comment)

Currently, we cannot distinguish between optional and required dependencies, so we can either consider all dependencies are optional, or all dependencies are required.

  • Why to choose "all dependencies are optional? In most extensions, a missing dependency only affects some features (especially for Python scripted modules), so "all dependencies are optional" is closer to the truth. If dependencies are optional then it makes sense to let the users decide if they want to install them or not.
  • Why to choose "all dependencies are required"? Because modules in an extension could ask the user to install a specific extension when it is needed for a certain operation. This could work for Python modules. However, if "all dependencies are required" it means that optional dependencies are not included in the dependency list, therefore when the extension is built and tested, the optional extension may not be available yet, so the extension may fail to build (it would require the .lib files of the other extension). Therefore, this option would require us to distinguish between build-time and runtime dependency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants