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

Improve and fix dependency mechanism #1059

Open
2 tasks
hohwille opened this issue Feb 20, 2025 · 0 comments
Open
2 tasks

Improve and fix dependency mechanism #1059

hohwille opened this issue Feb 20, 2025 · 0 comments
Labels
dependency Tool dependencies (if tool A requires tool B) enhancement New feature or request

Comments

@hohwille
Copy link
Member

Our tool commandlets automatically support dependencies configurable via dependencies.json.
The current implementation has some flaws:

  • We do have local tool commandlets that override isIgnoreSoftwareRepo() returning true.
    In that case we do not support installation to the software repository. As a result we can only install one specific version (per project). The way installToolDependencies works is that if the configured version of the dependency does not match the version range, from the dependencies.json then an additional version matching the range is installed and used. In case isIgnoreSoftwareRepo() returns true, we have to raise an exception since this means the project configuration is inconsistent and cannot be satisfied.
  • the installToolDependencies is called by installTool and that method is called by install that in the end is invoked whenever the tool is called. Since e.g. for IntelliJ or Eclipse plugin installation we run the IDE tool, we trigger all this additionally for every plugin. We need to redesign this because it is producing confusing log SPAM and causing performance overhead (noticed already from end-user perspective, e.g. by @jan-vcapgemini). A problem with that is that installToolDependencies is dynamically setting environment variables (e.g. JAVA_HOME, adding things to PATH, etc.) so we cannot simply omit installTool invocation if it was already called before.
@hohwille hohwille added dependency Tool dependencies (if tool A requires tool B) enhancement New feature or request labels Feb 20, 2025
@github-project-automation github-project-automation bot moved this to 🆕 New in IDEasy board Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependency Tool dependencies (if tool A requires tool B) enhancement New feature or request
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant