-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Remove dependency management from the todo #384
Comments
Yes. This feature is too hard problem than other features. |
@Shougo Could you explain what you mean with "to support vim-pi like plugin information file" some more? Sure if we all agree that vim-pi is the new vim plugin index then Vundle should use it to search for and get information about plugins but I still don't think Vundle should manage/install dependencies. |
Yes, Vundle can support plugin information system expect dependencies.
Because, other management systems like apt, yum, gem have dependencies feature. |
I don't agree for the reasons I noted in my initial post. Systems like apt, yum and gem are big and I would very much like Vundle to stay away of becoming like those. For me Vundle adds enough to make managing plugins as a user a nice experience and nothing more. I do agree that there should be plugin managers that do handle dependencies like VAM and NeoBundle. |
Yes, some people needs dependencies feature, but some people does not. |
Sure, as long it's in the |
What I'm suggesting is making it easy for Vundle and letting more advanced plugin manager handle it. Removing it from the todo would remove confusion about what to answer if people request it as a feature. If we've decided that it's not something that Vundle should handle it's easy to redirect that user to VAM or NeoBundle if they want that feature. @gmarik it would be interesting to know what you think about removing it. If you also think it should be something that we strive to in the end even though it's a low priority I'll shut up :) |
vim-pi can be used without the dependency feature of course. vim-pi is meant to be a source of all known widely used plugins and it should assign them a unique name so that you can install plugins by name and reference dependencies by name. We can "advance" vim-pi and start mirroring all sources which are not available by git as git (like vim-scripts or in collaboration with vim-scripts) to allow vundle to install all of those without implementing dozens of ways to download packages. @Shougo: Why is autoloading with dependencies a night mare? VAM has had this since the very beginning and it worked perfectly. I agree that things get more complicated if you allow parallel installs which is why we didn't implement it yet |
Please see the below tests in neobundle. " A
NeoBundleLazy 'Shougo/echodoc'
NeoBundle 'Shougo/unite-build', { 'depends' : 'Shougo/echodoc' }
echomsg neobundle#is_sourced('echodoc') == 1
echomsg neobundle#is_sourced('unite-build') == 1
" B
NeoBundle 'Shougo/unite-ssh', { 'depends' : 'Shougo/unite-sudo' }
NeoBundleLazy 'Shougo/unite-sudo'
echomsg neobundle#is_sourced('unite-ssh') == 1
echomsg neobundle#is_sourced('unite-sudo') == 1
" C
NeoBundleLazy 'Shougo/vimproc', { 'depends': 'Shougo/neocomplcache' }
NeoBundle 'Shougo/neocomplcache', 'ver.8'
echomsg neobundle#is_sourced('vimproc') == 0
echomsg neobundle#is_sourced('neocomplcache') == 1
" D
NeoBundleLazy 'Shougo/vimshell', { 'depends': 'Shougo/vinarise' }
NeoBundleLazy 'Shougo/vinarise'
echomsg neobundle#is_sourced('vimshell') == 0
echomsg neobundle#is_sourced('vinarise') == 0
NeoBundle 'Shougo/vimfiler', { 'depends' : 'foo/var' }
echomsg neobundle#config#check_not_exists(['vimfiler']) ==# ['var']
NeoBundleLazy 'Shougo/unite.vim', {
\ 'depends' : ['Shougo/unite-outline', 'basyura/TweetVim'],
\ 'autoload' : { 'commands' : 'Unite' } }
NeoBundleLazy 'Shougo/unite-outline', {
\ 'depends' : 'Shougo/unite.vim' }
echomsg neobundle#get('unite.vim').autoload.commands == 'Unite' |
I'm suggesting that we remove "dependencies" from the Vundle TODO list in the README file and decide that dependency management is something that should be handled by more advanced plugin managers like VAM and NeoBundle.
I don't like the idea that if I tell Vundle to install one plugin it installs 2 more dependencies. If one plugin depends on another it will have to tell me and I'll make a choice to include it into my vimrc. The vimrc will actually mirror the installed plugins and I'll know for sure which plugins are installed.
The text was updated successfully, but these errors were encountered: