Commit Graph

135 Commits

Author SHA1 Message Date
Mitchell Hashimoto 42826356ad Basic "Box2" implementation.
This is the beginning of the new box internals. The basic idea is that
the new box has a new field: provider. The provider will describe what
provider that box was built with and what provider it is made to work
with.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto 70bdd9f56e Move host base class to a plugin component 2012-06-27 09:26:03 -07:00
Mitchell Hashimoto 53d8c28c8e Move guests to Vagrant.plugin("1", :guest) 2012-06-26 16:28:49 -07:00
Mitchell Hashimoto b23dda54b8 Move command base class to a plugin component 2012-06-26 16:18:02 -07:00
Mitchell Hashimoto 7258daf535 Support specifying a component for Vagrant.plugin
The future of subclassing things like configuration bases and so on will
be to use `Vagrant.plugin(version, component)`. For example:
`Vagrant.plugin("1", :provisioner)`.
2012-06-26 15:47:26 -07:00
Mitchell Hashimoto 2e00a007ce Move provisioner superclass into the V1 namespace 2012-06-26 15:06:04 -07:00
Mitchell Hashimoto ffab8cab68 Renamespace V1 plugin root to Vagrant::Plugin::V1::Plugin
This is mostly a transparent change to end users, but I'm going to put
all base classes for V1 into Vagrant::Plugin::V1.
2012-06-24 14:24:52 -07:00
Mitchell Hashimoto a677c15e86 Use `next` instead of `return` for 1.8.x compatibility.
Since we're not calling this lambda from inside a method, the `return`
causes a LocalJumpError on 1.8.x. It appears this functionality works
fine on 1.9.x but we'd like to support both. The correct behavior
appears to use `next`.
2012-06-23 10:47:01 -07:00
Mitchell Hashimoto d8c16035c8 Don't use Pathname#each_child for 1.8.7 compat [GH-979]
each_child is a 1.9.x feature. The implementation however is simple
enough that I copied it over and just use the 1.8.7 compatible version.
2012-06-22 20:47:43 -07:00
Mitchell Hashimoto 3204b3a580 Vagrant.configure and versioned configuration
Vagrant.configure is now how configuration is done in Vagrantfiles
(previously it was Vagrant::Config.run). This function takes a single
argument which is the version of configuration to use.

Various internals were updated for this new versioned configuration.

Note that multiple versions of configuration aren't yet used so aren't
fully supported by Vagrant, but the foundation is being set here.
2012-05-21 21:47:01 -07:00
Mitchell Hashimoto bc0643613a Vagrant.require_plugin [GH-916] 2012-05-06 14:01:10 -07:00
Mitchell Hashimoto 31ac7271aa Rename EasyCommand namespace to Easy 2012-05-05 22:16:13 -07:00
Mitchell Hashimoto 00aba5ac03 Plugin easy commands.
Easy commands are well... easy! They don't offer the full power of
creating a completely custom command class, but they let you do the
basics (what almost everyone needs) with minimal fuss. Example:

class MyPlugin < Vagrant.plugin("1")
  name "my-plugin"

  easy_command "foo" do |action|
    puts "HELLO!"
  end
end

NOTE: The "action" stuff isn't done yet, but will be soon!
2012-05-05 18:57:29 -07:00
Mitchell Hashimoto 9956e6d012 Better directory structure for plugins 2012-04-20 16:53:01 -07:00
Mitchell Hashimoto 1489854d70 Move commands into plugins 2012-04-19 13:59:48 -07:00
Mitchell Hashimoto 661f20bb91 Move hosts to a plugin system 2012-04-18 22:20:45 -07:00
Mitchell Hashimoto 1cbac3167f Move provisioners into plugins 2012-04-18 21:53:19 -07:00
Mitchell Hashimoto 1b2fa748f9 Move all guests to plugins, even the distros 2012-04-18 21:23:25 -07:00
Mitchell Hashimoto dd459170dd Start moving guest configuration out into plugins 2012-04-18 17:38:20 -07:00
Mitchell Hashimoto 98d6bf958e Move core config into a plugin 2012-04-17 22:12:27 -07:00
Mitchell Hashimoto 2eebc2cb68 Basic Plugin class 2012-04-15 15:34:44 -05:00
Mitchell Hashimoto b38083fb9b OpenBSD guest [GH-773] 2012-03-10 14:03:09 -08:00
Mitchell Hashimoto 97cf6ddfba Update CHANGELOG 2012-03-04 16:39:35 -08:00
Wayne E. Seguin 9990311f20 Added Fedora 16 handling. 2012-03-04 18:42:37 -05:00
Achim Herwig 7c1fcbdde0 Added openSuSE as host system.
Init script for NFS-server differs.
2012-02-28 11:55:39 +01:00
Mitchell Hashimoto 2f420705da Output version at the top of every log 2012-02-22 10:00:19 -08:00
Mitchell Hashimoto fbcb2c6ddc Merge branch 'f-vagrant-gem' 2012-02-07 22:42:34 -08:00
Mike Lundy 00953073e7 Add Gentoo support for NFS 2012-02-07 21:14:47 -08:00
Mitchell Hashimoto 13fddfa6f9 Load plugins with the private gem path.
This changed plugin loading semantics a tiny bit, since they are
no longer loaded when Vagrant is loaded but instead when the
Vagrant::Environment is initialized. I'll note this in the CHANGELOG.
2012-02-06 22:39:35 -05:00
Mitchell Hashimoto d19f7a44e5 Starting on the `vagrant gem` command. 2012-02-06 22:16:37 -05:00
Mitchell Hashimoto 88ba3a3619 Change middleware internals to make plugin lives easier [GH-684] 2012-01-28 17:31:50 -08:00
Mitchell Hashimoto 527b79853c Log output now goes on stderr by stdout 2012-01-19 17:12:18 -08:00
Mitchell Hashimoto 3ab8aaa1b0 Clarify invalid log level message [GH-645] 2012-01-18 09:40:51 -08:00
Mitchell Hashimoto ba5cd9b88a Windows host 2012-01-08 11:14:01 -08:00
Mitchell Hashimoto a94cf520c6 Log4r levels need to be defined before we can check for them 2012-01-07 21:16:40 -08:00
Mike Fiedler e05bfb7efc missing bracket closure fails rake tests 2012-01-07 21:16:28 -08:00
Mitchell Hashimoto 87b1a6660d Handle invalid log levels more gracefully 2012-01-07 21:16:22 -08:00
Mitchell Hashimoto 00a31ff27b Communication abstraction. Started SSH. 2012-01-06 20:07:31 -08:00
Mitchell Hashimoto 4c7059eaf6 Remove virtualbox dep 2011-12-21 14:36:51 -08:00
Mitchell Hashimoto 9debf5abe9 Attach a driver to each VM. Use that to detect VirtualBox. 2011-12-20 21:20:45 -08:00
Mitchell Hashimoto 98df762f8c `vagrant init` uses new OptParse based CLI 2011-12-17 21:06:00 -08:00
Mitchell Hashimoto 9bdff4c507 Styling 2011-12-17 19:53:57 -08:00
Mitchell Hashimoto e29c5436e1 Box commands 2011-12-17 19:52:48 -08:00
Mitchell Hashimoto 780722386b `vagrant status` 2011-12-17 17:36:11 -08:00
Mitchell Hashimoto 1176c65138 `vagrant ssh-config` 2011-12-17 17:29:52 -08:00
Mitchell Hashimoto e34f0a8af7 `vagrant ssh` 2011-12-17 17:24:02 -08:00
Mitchell Hashimoto 19adc3189d `vagrant package` 2011-12-17 16:58:54 -08:00
Mitchell Hashimoto bdc39aa2e0 Suspend command 2011-12-17 12:04:35 -08:00
Mitchell Hashimoto c5ec4b4a30 Provision, reload, resume 2011-12-17 11:53:26 -08:00
Mitchell Hashimoto 6c7e88c3ec `vagrant halt` 2011-12-17 11:14:56 -08:00