Commit Graph

4055 Commits

Author SHA1 Message Date
Mitchell Hashimoto 3df6088db0 Make plugin loading more robust to errors 2013-02-03 14:13:27 -08:00
Mitchell Hashimoto 1162c2dbfc Instead of shelling out, use the RubyGems API to install plugins
This gets us an accurate name of the gem even if it is installed
from a file.
2013-02-03 13:59:43 -08:00
Mitchell Hashimoto 8cde263a14 Fix some locale stuff to `vagrant plugin` 2013-02-03 13:27:35 -08:00
Mitchell Hashimoto 368ca71d72 Remove the `gem` command. 2013-02-03 13:21:39 -08:00
Mitchell Hashimoto c8260162d4 Merge branch 'plugin-command'
This introduces a new `vagrant plugin` command and removes the old
`vagrant gem` command. Technically, `vagrant plugin` is still just using
RubyGems underneath to manage plugins, but it masks the entire RubyGem
experience away from the end user. This merge introduces three commands;
`list`, `install`, and `uninstall`. They do what they sound like they do.

Future enhancements will add more information such as what components a
plugin installs and activation/deactivation of plugins  that you want
to keep installed but don't want to run.
2013-02-03 13:19:05 -08:00
Mitchell Hashimoto 455745277c List plugins should have output when no plugins 2013-02-03 13:13:22 -08:00
Mitchell Hashimoto 5882d5dad6 VAGRANT_NO_PLUGINS can be used to skip plugin loading 2013-02-03 13:03:00 -08:00
Mitchell Hashimoto 9690754983 Plugin listing is a bit more sophisticated, shows version 2013-02-03 12:59:32 -08:00
Mitchell Hashimoto 693b825eb1 Don't use the RC file, use the JSOn state file 2013-02-03 12:53:52 -08:00
Mitchell Hashimoto bc54875a25 Move the plugins.json to the home directory 2013-02-03 12:49:21 -08:00
Mitchell Hashimoto b6821a4fc7 Fix some include requirements for pruning 2013-02-03 10:49:26 -08:00
Mitchell Hashimoto 0d7322578b `vagrant plugin uninstall` 2013-02-03 10:47:32 -08:00
Mitchell Hashimoto e055bc893b Sort the state file as well for sanity 2013-02-03 10:35:59 -08:00
Mitchell Hashimoto 76457eff16 Make sure the state file only contains unique fields 2013-02-03 10:34:43 -08:00
Mitchell Hashimoto 491356c938 Better logging for prune 2013-02-03 10:33:39 -08:00
Mitchell Hashimoto 60d21e35c9 Be silent when uninstalling gems 2013-02-03 10:32:31 -08:00
Mitchell Hashimoto 572142df7e Perform gem uninstallation for prune 2013-02-03 10:30:52 -08:00
Mitchell Hashimoto 472d4182c1 Basic logic behind prune action is good. 2013-02-03 10:15:46 -08:00
Mitchell Hashimoto f257d1211f List actually compares state with gems 2013-02-02 23:59:48 -08:00
Mitchell Hashimoto 8ac7b62075 A really basic "list" command 2013-02-02 23:52:34 -08:00
Mitchell Hashimoto d404eee770 Make the bundler environment error more correct 2013-02-02 23:41:18 -08:00
Mitchell Hashimoto 53667d44db Have a base class to invoke actions on the plugins 2013-02-02 23:38:44 -08:00
Mitchell Hashimoto 150cae86b7 Only show error if exit code != 0 of gem 2013-02-02 23:33:52 -08:00
Mitchell Hashimoto fa50f06a4c Error if RubyGems failed. 2013-02-02 23:31:53 -08:00
Mitchell Hashimoto a2ef7790de Start creating the plugin middleware sequences 2013-02-02 18:42:04 -08:00
Mitchell Hashimoto db2e27bab6 Initial plugin command plugin 2013-02-02 17:12:46 -08:00
Mitchell Hashimoto b3571eb5bb Add message about removing box so something is clearly happening 2013-02-02 16:43:16 -08:00
Mitchell Hashimoto ec995b5ddf Avoid cross-device moves when adding boxes [GH-1350] 2013-02-02 16:37:46 -08:00
Mitchell Hashimoto 2dc14af825 `vagrant up` says what provider it will use 2013-02-01 14:03:59 -08:00
Mitchell Hashimoto 26adfb0de6 Put the provider name in the status output 2013-02-01 13:54:52 -08:00
Mitchell Hashimoto 165dd63f78 New HandleBoxUrl built-in middleware to handlet the "box_url" config 2013-02-01 11:31:08 -08:00
Mitchell Hashimoto 3b75652256 Always log stdout/stderr for SSH 2013-02-01 10:56:00 -08:00
Mitchell Hashimoto 6d002eb4c1 Fix a little logging typo 2013-02-01 10:51:53 -08:00
Mitchell Hashimoto b037a8d89c Retry SSH on connection reset 2013-01-31 20:04:57 -08:00
Mitchell Hashimoto c8ae1a265a Extra protection in the rgloader file 2013-01-31 19:54:50 -08:00
Mitchell Hashimoto 4e6496bed7 Improve subprocess logging 2013-01-31 19:47:54 -08:00
Mitchell Hashimoto a8c7ad30ee Be a bit more fine grained about errors that are reported for Vfiles 2013-01-31 18:52:29 -08:00
Mitchell Hashimoto 67c2e205be Create rgloader/loader.rb files for encoded files 2013-01-31 18:48:56 -08:00
Mitchell Hashimoto ab4046d8af Fix issue where set name doesn't work if saved 2013-01-31 11:26:45 -08:00
Mitchell Hashimoto 1392d9b4a5 Detect if a VM name is already taken for VirtualBox 2013-01-30 23:22:45 -08:00
Mitchell Hashimoto 4fa194899d VirtualBox config: "name" to set the VM name [GH-1126] 2013-01-30 23:03:21 -08:00
Mitchell Hashimoto d19194d95b `vagrant provision` accepts `--provision-with` [GH-1167] 2013-01-30 22:54:28 -08:00
Mitchell Hashimoto 9d2f26604e Properly handle paused VirtualBox VMs [GH-1184] 2013-01-30 22:47:45 -08:00
Mitchell Hashimoto c3bacf3e1d Improved error message for bad SSH key encryption [GH-1211] 2013-01-30 22:26:30 -08:00
Mitchell Hashimoto 4ba0fc821e Support mounting NFS folders with spaces in FreeBSD [GH-1229] 2013-01-30 22:19:13 -08:00
Mitchell Hashimoto 76ca35a095 Sanitize folder names for default virtualbox name [GH-1223] 2013-01-30 22:17:10 -08:00
Mitchell Hashimoto 7fe19d3a11 Use box directory as temporary directory to avoid cross-device [GH-1199] 2013-01-30 21:54:07 -08:00
Mitchell Hashimoto c164a5ca81 Merge pull request #1300 from kainz/master
Avoid cross device activity for box creation by creating tmp dir in provider dir
2013-01-30 21:47:40 -08:00
Mitchell Hashimoto c75ec09014 Lower IO.select timeouts to improve subprocess speeds
We were getting bit if the process exited while we were doing an
IO.select because it would then wait the full timeout.
2013-01-30 21:29:04 -08:00
Mitchell Hashimoto e5f8faeeea Make error message for port collisions more correct [GH-1312] 2013-01-30 21:07:55 -08:00