-
Notifications
You must be signed in to change notification settings - Fork 52
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
New: Add a package type for custom plugins #715
base: master
Are you sure you want to change the base?
Conversation
Thanks for the support! About enabling/disabling plugins, I think route package dependency should be taken into account. For example, a route package that requires a route-loading plugin to be installed and activated to run. If the plugin can be disabled or is disabled by default (like input device plugins), this may cause some confusion. About the API breaking changes, maybe adding a new non-abstract function, or use something like LoadProperties from IRuntime? By the way, about the current file system configuration of package installation location, I think allowing to set different paths for routes and trains is a weird choice, and probably making the registry global is weird too, since it makes it possible for a user to create a false "dependency met" situation where the dependencies are installed but are not at the same place. For example, if a user installed package A which is a dependency of package B, then decided to change the directory due to disk space etc., and then installed package B, the dependency will be met but route in package B won't be able to find objects in package A. |
Don't necessarily disagree with any of those in principle, but they probably come under future plans & could require route modification :) I think the next thing to do us to allow package references for objects, e.g. |
I thought it over again, and I personally thought my idea is to
Although I'm definitely not qualified to complain about this and that, honestly speaking, I think allowing installing them in different directories in the first place (and the decision to provide seperate settings for paths) is quite weird from the first place. I think it is too flexible than what is necessary. GUID referencing is nice, but do we really need that (i.e. is allowing packages to be installed here and there really necessary) Backward compatibility is a valid concern. But keeping this as-is also has some problems, as this can effectively make the dependency system useless. |
5f23a6d
to
a53fd14
Compare
This PR adds a package type and associated plumbing to install and load custom user plugins via the Package Install menu.
Some (minor) flaws if custom plugins are installed, which probably should be addressed at some stage:
cc @zbx1425