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

Manage the lifecycle of dependencies using annotations #4

Open
qzb opened this issue Oct 23, 2020 · 4 comments
Open

Manage the lifecycle of dependencies using annotations #4

qzb opened this issue Oct 23, 2020 · 4 comments
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@qzb
Copy link
Contributor

qzb commented Oct 23, 2020

New registry format supports annotating dependencies (and whole registry as well). We can use this feature to provide better prompts about updates. I don't know yet how this annotations should look, but I have few ideas for how they could be used:

  • Prevent installing obsolete or experimental versions (unless forced?)
  • Point to release notes when prompting about new major versions
  • Display warnings about using deprecated or obsolete version of a command
  • Display info about new URL for the registry
  • Point to another command which replaces current one

I'm not sure if we want all of these to be implemented, let me know what do you think.

@qzb qzb added enhancement New feature or request help wanted Extra attention is needed labels Oct 23, 2020
@qzb qzb added this to the v3 milestone Oct 23, 2020
@gpolek
Copy link
Contributor

gpolek commented Oct 23, 2020

I don't know if this 'Display info about new URL for the registry' is required for a start, as we only start with klio and change of registry url is not that common, and most of the users just don't care about where the registry actually is.

Even if registry url changes, redirect should allow klio to follow to a new location.

The rest is OK.

@qzb
Copy link
Contributor Author

qzb commented Oct 23, 2020

@gpolek I think you are right about the registry, proper support for 301 redirects seems to be a much better idea, since it could actually result in changing urls in dependencies.json and g2a.yaml file.

About the rest, what do you think about these annotations:

  • dependency.klio.sh/state - one of: obsolete, deprecated, experimental or stable (default).
  • dependency.klio.sh/release-notes - url to changelog, blog post, GitHub release, etc.
  • dependency.klio.sh/replaced-by - object with name, registry and version (only name is required).

@gpolek
Copy link
Contributor

gpolek commented Oct 24, 2020

What the difference between obsolete and deprecated values of dependency.klio.sh/state? (the rest is clear)

Annotations keys look fine.

@qzb
Copy link
Contributor Author

qzb commented Oct 26, 2020

In our case, I think it would work like this:

  • deprecated ﹣version is no longer recommended to use, but it still works (klio would install it, but show warning)
  • obsolete ﹣version is no longer usable (klio has to be forced to install it)

If you don't think we need this distinction, we can drop "obsolete".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants