-
-
Notifications
You must be signed in to change notification settings - Fork 812
Not installing all the dependencies from dependencies.json if also reading dependencies from channel.json #1301
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
Comments
dependency requirements. Issue: If a dependency fail running, the subsequent dependencies are not installed wbond/package_control#1301
the PythonDebugTools dependency is not found. Issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
fails to install missing dependencies. Issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
fails to install missing dependencies. Issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
I suppose this would be fixed by #945. |
Thanks. |
That is very related to the problem. But beyond that, here only the first dependency on alphabetical order is being installed. I had to manually add the command ...
except Exception as error:
print( "Could not import PythonDebugTools! " + str( error ) )
def satisfy_dependencies():
sublime.active_window().run_command( "satisfy_dependencies" )
def reload_all_package_files():
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".settings" )
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".channel_installer" )
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".channel_manager" )
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".channel_uninstaller" )
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".channel_utilities" )
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".copy_default_package" )
sublime_plugin.reload_plugin( CURRENT_PACKAGE_NAME + ".submodules_manager" )
sublime.set_timeout_async( reload_all_package_files, 3000 )
sublime.set_timeout_async( satisfy_dependencies, 3000 ) |
You are not using dependencies correctly. Your "Channel Manager" is essentially a package, not a dependency, because it interfaces with Sublime Text directly. This is undocumented behavior and likely to be removed (#800). I also think I already explained this to you in some pull request to the PCC, but that could've been someone else. By the way, submodules aren't included in zip- or tarballs, which PC downloads. Edit: Edit although it seems like you have some magic in place for that. This is quite a bit too hacky for my taste tbh. |
I have been working on this for months and I took a great care into restricting the user, not allowing he to install it any of it, if he is not very aware of what it is doing. I think this cannot be easily understood because I created new concepts by allowing several packages to be grouped by and distributed together. But the user still has the last word/say, and right before to install it, I provide a quick panel showing all the packages being installed and allowing the user to pick up which packages he want to install or not. This a pictures of the menu: Also, there an uninstaller, which does the same thing and ask the user, which packages he want to uninstall from all packages which where installed by the installer.
I know, and the submodules do not need to be included if the user is installing the package as
Indeed it is not like other dependencies, which just provide a API. It does actually interact with the in limited way. It is basically a installer. uninstaller and service provider. I put it as a dependency to decouple the installation, uninstallation and services, to allow different configurations to be applied as the ones provided by the packages SublimeStudio and SublimeAmxxSimpleIDE which require the
I do not know exactly where you say it interfaces with Sublime Text, perhaps it is because it brings up a quick_panel? I think you are mentioning the plugin channel_manager.py, indeed it is package like, but only installing the
What is supposed to be removed? The import I do like: from ChannelManager.channel_installer import main i.e., I do not put the dependencies files inside a Perhaps you mean this because on the future, the dependencies are supposed to be on a different folder as in If that is the case, can I just append the
There is not standard definition of what does is a dependency. I put It seems that for you, a dependency must only provide an API. However, my ChannelManager does exactly this. It is not a package, and it only provides services for other packages. If you only install Except for the plugin But even the The SublimeStudio and SublimeAmxxSimpleIDE are examples of packages which does require the |
Well, as soon as you have Python file in the repository root, ST will scan them for subclasses of its command and event listener classes. If it defines any of them, it immediately interfaces with ST.
The thing about your ChannelManager is that it does not provide this "API" in the usual manner, i.e. inside a recognized folder like Over all, it seems like you are developing your own package distribution infrastructure of some sort on top of Package Control and use some of its functionality in an undocumented way. If I were the maintainer of PC, I wouldn't be content with supporting this use pattern just for you, to be honest. |
Uh, I wasn't finished yet. Anyway:
https://packagecontrol.io/docs/dependencies
No, you place your python package (which is a folder with an |
Oops. Sorry, I did not pay attention to that. I always kept thinking why put everything under the Anyways, I was not loading anything into Sublime API, etc. I can refactor the code to do the imports into the all folder.
Let us see if it gets fixed after the refactoring.
It is not my own, it is new one. I wrote a pretty extensive
Hey, this is what you meant by I just reused the
What use pattern? The imports Importing like
Are you saying that the code in not working just because I not put the dependency code into the Then it would require change the Why I cannot just do imports like I would like the first one because I am very explicit about what is the code I am importing, and is reduced the chances of name collision. I do like the idea of putting all the dependencies on the system path because of the name collision. If I import everything explicitly by Then I think I fit the description:
Ok then, let us see if that fixes the package control installer, not installing all my packages dependencies just because their code is not inside a folder called |
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
issue: If a dependency fail running, the subsequent dependencies are not installed by Package Control wbond/package_control#1301
After refactoring all the code into the I had set on the
Still not a feature, then it was not installing the 2 remaining dependencies. Running
Hence the problem is that |
I suggest closing this in favor of #1391. |
Uh oh!
There was an error while loading. Please reload this page.
The text was updated successfully, but these errors were encountered: