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
Mitchell Hashimoto
e71007d47e
`vagrant destroy`
2011-12-17 11:05:49 -08:00
Mitchell Hashimoto
43cadfe830
`vagrant up`
2011-12-17 09:14:05 -08:00
Mitchell Hashimoto
27491b554c
Remove thor from requirements. Start revamping Vagrant::CLI
2011-12-16 23:34:30 -08:00
Mitchell Hashimoto
1fcca71ce9
Re-namespace all systems to the Vagrant::Guest module
2011-12-15 21:05:19 -08:00
Mitchell Hashimoto
eda286b476
Config classes are registered via a registry now
2011-12-15 20:32:33 -08:00
Mitchell Hashimoto
e5303a82e0
Autoload provisioners.
2011-12-14 22:49:14 -08:00
Mitchell Hashimoto
b428072bb5
Provisioners use the registry. Cleaned up the way config classes are searched for.
2011-12-14 22:43:45 -08:00
Mitchell Hashimoto
ee33588d10
Clean up system loading quite a bit
2011-12-12 00:03:28 -08:00
Mitchell Hashimoto
cdc01c449d
Re-order things in vagrant.rb slightly
2011-12-11 23:24:23 -08:00
Mitchell Hashimoto
668bab0ba9
Better host loading scheme
2011-12-11 23:22:44 -08:00
Mitchell Hashimoto
e201d9cacf
Rename action registry to just Vagrant::Registry
2011-12-11 18:22:06 -08:00
Mitchell Hashimoto
bbb8f0ac2c
Integrate new action runner/registry into Vagrant::Environment
2011-12-09 14:39:39 -08:00
Mitchell Hashimoto
e38e3cc652
Move VAGRANT_LOG logic into vagrant.rb so VAGRANT_LOG is always available
2011-12-03 17:12:07 -08:00
Mitchell Hashimoto
881045a85f
Find a way to autoload 'vagrant/ssh' since that is a slow loader.
...
This involved realizing that requiring 'openssl' in the context
of an autoload causes some strange exceptions down the road. See this
gist for the error: https://gist.github.com/dd0b105bf9edcb7daa85
2011-07-09 11:12:15 -07:00
Mitchell Hashimoto
29db4aefd5
Load vagrant/version so that `vagrant version` works again
2011-01-07 01:25:54 -08:00
Mitchell Hashimoto
9e27355d0e
Fix weird exception from autoloading Vagrant::SSH
2011-01-07 01:22:52 -08:00
Mitchell Hashimoto
8d529931ef
Be gone glob loader! Move everything to autoload or explicit require.
2011-01-07 01:12:16 -08:00
Mitchell Hashimoto
cb69377b06
Remove Radar until next release.
2010-09-21 10:11:16 -06:00
Mitchell Hashimoto
bae6c57230
Expose test helpers [closes GH-162]
2010-09-15 09:19:38 -06:00
Mitchell Hashimoto
d5fbf29ec0
Plugins. Documentation coming shortly.
2010-09-14 23:10:51 -06:00
Mitchell Hashimoto
0ee21998f6
New BoxCollection class to keep track of all boxes.
2010-09-11 10:17:26 -07:00
Mitchell Hashimoto
260f1dcec4
Refined some tests to use real Vagrantfiles instead of mocks
2010-09-03 19:25:48 -07:00
Mitchell Hashimoto
59e1e43c74
Autoload the util classes. HashWithIndifferentAccess for data store
2010-09-03 09:33:15 -07:00
Mitchell Hashimoto
4d87f198d7
Vagrant::DataStore which will be used soon for the dotfile in the project directory
2010-09-01 22:00:59 -07:00
Mitchell Hashimoto
d2d2404961
Split config classes out into multiple files for better organization
2010-09-01 20:37:11 -07:00
Mitchell Hashimoto
f697ca543e
Extremely basic Radar integration
2010-09-01 19:46:11 -07:00
Mitchell Hashimoto
3da94252b5
Get rid of util.rb. No longer used.
2010-09-01 14:30:31 -07:00
Mitchell Hashimoto
e7f06d7fb7
Remove ExceptionCatcher since exceptions are the way to report errors now
2010-09-01 10:04:37 -07:00
Mitchell Hashimoto
a7197b3566
Autoload errors. If nothing bad happens, all those error classes don't use any memory :)
2010-09-01 07:15:37 -07:00
Mitchell Hashimoto
e28947f18d
Use I18n gem for string database. Refactor exceptions to use I18n.
2010-08-26 21:56:38 -07:00
Mitchell Hashimoto
3da5fc87a3
Add NamedBase for commands which take a name for multivm (optionally)
2010-08-24 23:50:20 -07:00
Mitchell Hashimoto
2eb09c7aa2
Helpers to get target VMs in commands from parameters
2010-08-24 17:49:22 -07:00
Mitchell Hashimoto
004ba551a6
Moved errors out into its own file so that vagrant.rb doesn't get too cluttered
2010-08-24 11:18:29 -07:00
Mitchell Hashimoto
cc2dcf4d8f
Box command to show example of a GroupBase command
2010-08-24 11:15:36 -07:00
Mitchell Hashimoto
5af0537e56
Command::GroupBase for creating subcommands for Thor.
2010-08-24 10:58:36 -07:00
Mitchell Hashimoto
1facebc3d9
Got rid of global Vagrant.ui. Moved to Environment#ui
2010-08-24 10:37:00 -07:00
Mitchell Hashimoto
48b7596357
Init command. Tests for the base command.
2010-08-24 10:27:36 -07:00
Mitchell Hashimoto
0ddda8f591
Remove all old commands. They're all being rewritten
2010-08-24 09:19:16 -07:00
Mitchell Hashimoto
5e42f8bbb2
Began work on new CLI.
2010-08-23 23:44:42 -07:00
Mitchell Hashimoto
3b86122e09
Only calculate the source root once
2010-08-23 21:44:53 -07:00
Mitchell Hashimoto
4844d6c12f
Moved standard library requirements to the files which use them. Cleaned up vagrant.rb quite a bit.
2010-08-23 21:43:46 -07:00
Mitchell Hashimoto
cd82c8d7f8
Get rid of the PROJECT_ROOT constant.
2010-08-23 21:33:14 -07:00
Brian Donovan
c78a3f3e3f
Include util.rb early so the included hook is set up properly.
...
Fixes a NoMethodError running any command that invokes Environment.load!
2010-07-13 09:06:20 -07:00
Mitchell Hashimoto
e2badeb9e1
Concepts of "Hosts" introduced, preparing for host-specific behavior.
2010-07-10 22:07:10 -07:00
Mitchell Hashimoto
a0a6230455
Catch exceptions on download
2010-07-08 21:52:56 -07:00
Mitchell Hashimoto
f558304b50
Goodbye, Actions
2010-07-08 21:35:31 -07:00
Mitchell Hashimoto
64b533edc4
Builtin class and stubbed import middleware
2010-07-04 04:58:03 +02:00
Mitchell Hashimoto
ad96f0090a
Properly download boxes from HTTPS sources. [closes GH-84]
2010-05-29 10:54:27 -07:00
Mitchell Hashimoto
a5cb80f396
Removed old progress meter module from util
2010-05-20 22:54:48 -07:00
Mitchell Hashimoto
3cef90cfb9
Remove util.rb and that logger
2010-05-20 20:54:34 -07:00