modesttree / Projeny

A project and package manager for Unity
MIT License
693 stars 87 forks source link

Cannot specify dependencies on package versions #59

Open DashW opened 7 years ago

DashW commented 7 years ago

I use a large number of Asset Store packages in my daily workflow across various projects, many of which reference different versions of common dependencies, particularly the Standard Assets.

I've been working on my own solution to try to isolate or 'sanitise' asset packages (to track versions and prevent conflicts between them), but would it be possible to add dependency versions into Projeny to allow two packages to depend upon different versions of the same dependency, and have both of those versions imported and correctly referenced, even if it meant refactoring code as part of the process?

svermeulen commented 7 years ago

In this first implementation, we decided to not use versions because that adds a lot of complexity and it's quite complex as it is - and also that potentially leads to the "diamond dependency" issue. However, in theory it could work, we would just have to ensure that within a single project there is only one definitive version for a given package. So if you tried to initialize a project that had different versions of the same package referenced in it then projeny would trigger errors.

We could migrate current projects by always assuming latest version when unspecified. Then I suppose we'd have to add sub-folders under each package folder for each version.