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

Consider explicit option flags instead of overusing force mode #1007

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

Consider explicit option flags instead of overusing force mode #1007

hohwille opened this issue Jan 31, 2025 · 0 comments
Labels
CLI IDEasy command-line-interface (parsing args, etc.) create Create commandlet used to create new IDEasy projects with "ide create" enhancement New feature or request update related to updating software or the entire ide

Comments

@hohwille
Copy link
Member

As a IDEasy user, I want to activate and trigger advanced features individually so that I stay in control of what is happening.
However, currently a lot of advanced features are triggered by force mode (-f or --force).
For example ide -f update triggeres the following additional features compared to ide update:

  • code repo gets pulled
  • all repositories are recreated and rebuild (even if they had already been setup before)
  • IDE plugins are reinstalled even if they are already present (e.g. to repair broken plugin installations)

There are more features like this and I do not want to give a full spec of what -f is actually doing.
But each additional step/feature can take quite some time, can fail, can cause unwanted side-effects, etc.

Conclusion

End users would like to have more control. Therefore similar to option flags like --skip-repositories or --skip-tools or --skip-updates, we should introduce explicit options to give more control to the user.
E.g.

  • ide update --pull could pull updates even in case of a code repository (see Support to allow settings in code repository #757)
  • ide update --plugins could enforce that plugins are updated even if already installed
  • ide update --repositories could enforce that repositories are recreated and rebuild

Open questions for discussion:

  • Should the options be more explicit (--force-pull, --force-plugin-update, etc.) or do we prefer shorter names with good descriptions in the help?
  • Would ide update -f then do more or less the same as ide update --pull --plugins --repositories? IMHO that would make sense.
  • What would happen if I call ide update --skip-repositories --repositories? This is kind of inconsistent. However, I would prefer it to skip the repositories and maybe log a warning that --repositories will be ignored because --skip-repositories is skipping all repositories instead of making the command fail with an error.
@hohwille hohwille added CLI IDEasy command-line-interface (parsing args, etc.) create Create commandlet used to create new IDEasy projects with "ide create" enhancement New feature or request update related to updating software or the entire ide labels Jan 31, 2025
@github-project-automation github-project-automation bot moved this to 🆕 New in IDEasy board Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLI IDEasy command-line-interface (parsing args, etc.) create Create commandlet used to create new IDEasy projects with "ide create" 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