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 ide update with smart dependency handling #945

Open
hohwille opened this issue Jan 16, 2025 · 0 comments
Open

Improve ide update with smart dependency handling #945

hohwille opened this issue Jan 16, 2025 · 0 comments
Labels
dependency Tool dependencies (if tool A requires tool B) enhancement New feature or request update related to updating software or the entire ide

Comments

@hohwille
Copy link
Member

Current behaviour

$ ide update
Start: Pull settings repository
Successfully updated settings repository.
Start: Copy configuration templates
Successfully ended step 'Copy configuration templates'.
Start: Install or update software
Start: Install gradle
Version 8.12 of tool gradle is already installed
Successfully ended step 'Install gradle'.
Start: Install node
Version v18.20.5 of tool node is already installed
Successfully ended step 'Install node'.
Start: Install mvn
Version 3.9.9 of tool mvn is already installed
Successfully ended step 'Install mvn'.
Start: Install jmc
Version 9.0.0 of tool jmc is already installed
Successfully ended step 'Install jmc'.
Start: Install lazydocker
Version 0.24.1 of tool lazydocker is already installed
Successfully ended step 'Install lazydocker'.
Start: Install vscode
Version 1.96.3 of tool vscode is already installed
Successfully ended step 'Install vscode'.
Start: Install gcviewer
Version 1.36 of tool gcviewer is already installed
Successfully ended step 'Install gcviewer'.
Start: Install tomcat
Start: Install java
Version 21.0.5_11 of tool java is already installed
Successfully ended step 'Install java'.
Version 11.0.2 of tool tomcat is already installed
Successfully ended step 'Install tomcat'.
Start: Install intellij
Version 2024.3.1.1 of tool intellij is already installed
Successfully ended step 'Install intellij'.
Start: Install eclipse
Version 2024-09 of tool eclipse is already installed
Successfully ended step 'Install eclipse'.
Start: Install npm
Version 11.0.0 of tool npm is already installed
Successfully ended step 'Install npm'.
Start: Install oc
Version 4.9.59 of tool oc is already installed
Successfully ended step 'Install oc'.
Start: Install java
Version 21.0.5_11 of tool java is already installed
Successfully ended step 'Install java'.
Start: Install aws
Version 2.23.0 of tool aws is already installed
Successfully ended step 'Install aws'.
Successfully ended step 'Install or update software'.
Successfully completed ide (update)

As we can see Start: Install java was invoked twice.
The first time was because tomcat has a dependency on java and the second time because of java itself.
This is not a bug but it could be confusing for users. Also reading the log regarding the update of tomcat.

My idea would be as follwing:

  • We remember the tools we have already updated and do not update them multiple times (at least not for tools from the project)
  • For tool dependencies, we could simply change the logging that either first the toplevel tool itself gets updated and that is completed with all its logging and then we recursively handle the dependencies so we do not nest/mix install/update log messages of different tools.
@hohwille hohwille added enhancement New feature or request update related to updating software or the entire ide labels Jan 16, 2025
@github-project-automation github-project-automation bot moved this to 🆕 New in IDEasy board Jan 16, 2025
@hohwille hohwille added the dependency Tool dependencies (if tool A requires tool B) label Jan 16, 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 update related to updating software or the entire ide
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant