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

[FEATURE] Proactively notify users of packages that have dependencies that are not satisfied #17

Open
techanon opened this issue Nov 7, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@techanon
Copy link

techanon commented Nov 7, 2022

Is your feature request related to a problem? Please describe.

Users should be warned about packages that don't have dependencies satisfied.
Additionally users should be prevented from adding a package who's dependencies aren't satisfied.
The package should proactively notify the user about which dependencies are missing.

Describe the solution you'd like

  • Any package would scan all other known packages and compare dependencies to ensure that there is a matching version for each dependency.
  • Each package should list out it's direct dependencies (small text list? button w/ popup?), whether VCC knows about them and whether the dependency is added into the project (maybe red text if it's missing, yellow if it's found but needs added, green if it's already added?).
  • If the package is unable to satisfy one or more of the dependency requirements, grey-out/disable the Add button of the package entry.
  • The user should be required to adding dependencies before adding the desired packages.
    • If the dependency is detected but not yet in the project, the package entry should warn the user to first add any dependencies not yet added to the project.
    • Once those are added, the main package can then be added.
  • Add an option in the Settings tab to skip package dependency enforcement.
    • For the advanced user, they may desire to add it to the project so they can utilize the Unity environment to manually fix the package themselves.

Describe alternatives you've considered

Another setup would be auto-installing dependencies when trying to add a given package (so long as VCC can find all the dependencies needed), but I'm concerned that would get sketch and would require extra effort to handle various edge cases.
I think simply preventing packages from being added until dependencies are added is the safest and easiest to implement. It also forces the user to be aware of every package they are adding to the project.

@techanon techanon changed the title [FEATURE] Prevent local packages from being imported if the vpmDependencies are not satisfied [FEATURE] Prevent packages from being imported if the vpmDependencies are not satisfied Nov 7, 2022
@momo-the-monster momo-the-monster added the no repro Issue cannot be reproduced as described label Nov 9, 2022
@momo-the-monster
Copy link
Contributor

This is already part of the logic that runs when adding a package - it should only be installed if all dependencies can be found and resolved. Do you have a repro that doesn't do this?

@techanon
Copy link
Author

techanon commented Nov 10, 2022

So while I was checking things I think because I had imported with a valid, and changed to an invalid dependency, the original package add still was referencing as the correct name and still allowed import.
I removed and re-added with the invalid name and that did correctly prevent the addition.

So that part is fine and was an oversight on my part.

I do think it'd be nice if the UI proactively showed if there is a dependency issue detected before having to click Add.

Updated OP to reflect.

@techanon techanon changed the title [FEATURE] Prevent packages from being imported if the vpmDependencies are not satisfied [FEATURE] Proactively notify users of packages that have dependencies that are not satisfied Nov 10, 2022
@momo-the-monster momo-the-monster added enhancement New feature or request and removed no repro Issue cannot be reproduced as described labels Nov 17, 2022
@Happyrobot33
Copy link
Contributor

Most of this is implemented already, but would be nice if we could give users a in-vcc way to get dependencies

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

No branches or pull requests

3 participants