Chris Roberts
3ace82cc5b
Update Vagrant.has_plugin? helper to function prior to plugin loading
...
Due to the Vagrantfile being loaded prior to plugin loading to determine
project local plugin information the Vagrant.has_plugin? helper will always
return false when the Vagrantfile is first loaded. To prevent this behavior
we can check for plugins in the plugin data files prior to the plugins
being loaded, and after they have been loaded we can fallback to the
original specification based check.
2018-08-31 14:03:42 -07:00
Chris Roberts
40f4e6f67e
Vagrant Environment isolated plugins
...
Adds support for plugins isolated to a specific `Vagrant::Environment`
which can be managed by the vagrant plugin command using the the
--local flag.
2018-07-17 14:49:41 -07:00
Chris Roberts
87b8321702
Remove win32 dependencies
2018-06-12 13:54:37 -07:00
Chris Roberts
d58096da31
Update plugin loading to prevent error suppression
...
Only catch exception types we care about when attempting to load
plugins. If no require call is successful, force an exception
instead of ignoring.
2018-05-08 13:47:31 -07:00
Chris Roberts
6ae1f4a2f6
Fix require for ffi-win32-extensions
...
Fixes #9698
2018-04-18 12:42:46 -07:00
Chris Roberts
9731720773
Update generated ssh private key file permissions on create
...
This updates the permissions on the automatically generated private
key file to only be readable by the user. Includes support for file
permission modification on Windows platform.
2018-04-10 14:15:14 -07:00
Chris Roberts
f3c5e86f28
Merge pull request #9504 from zachflower/feature/vagrant-aliases
...
Vagrant aliases
2018-04-06 15:39:18 -07:00
Chris Roberts
8ac0fedbbb
Suppress errors from invalid path encoding and carry on with best effort
...
Fixes #9299
2018-04-04 16:09:46 -07:00
Zachary Flower
bbb3cdaa9a
vagrant aliases proof-of-concept
2018-02-10 17:58:18 -07:00
Chris Roberts
522d503030
Use Ruby's resolver by default and allow replace to be disabled
2018-01-22 10:40:33 -08:00
Chris Roberts
6f663edad0
Scrub sensitive information prior to message output
...
This provides a simple wrapper around all output to
scrub any strings that have been registered as sensitive
before being output. Also included is a small change
to the initial debug output to only show vagrant specific
environment variables and not the full user environment.
2017-12-14 15:38:31 -08:00
Chris Roberts
da42bfa8ac
Provide optional timestamp on log output
...
Enable log message output to be prefixed with the date and time.
Include CLI flag to optionally enable `--timestamp` and a
convenience flag to enable debug logging with timestamps at
the same time `--debug-timestamp`.
2017-12-13 17:05:51 -08:00
Chris Roberts
564ed7456d
Warn when failing to require plugin instead of hard failure
2017-03-22 16:40:42 -07:00
Chris Roberts
25a2bdd279
Prevent generating environment variables with invalid empty names
2017-01-12 15:12:41 -08:00
Chris Roberts
9717432920
Add logger output when plugin loading is disabled
2016-11-28 16:55:38 -08:00
Chris Roberts
d87cf25ed2
Display original exception and backtraces in logger output
2016-11-28 07:48:16 -08:00
Chris Roberts
33c9d6183a
Provide more log information about configured plugins
2016-11-16 13:17:38 -08:00
Chris Roberts
e2d96f942f
Provide nice error output when plugin initialization fails
...
Include extra logging during initialization to display error if encountered
and solution set prior to performing activations.
2016-11-15 15:50:39 -08:00
Chris Roberts
44d3aedc5b
When bundler is in use, require `:plugins` group
2016-11-14 15:28:22 -08:00
Chris Roberts
ea13988367
Properly support plugin auto-loading with logging information
2016-11-11 14:24:25 -08:00
Chris Roberts
36d88ee268
Track installed gem version and display in startup logger information
2016-11-07 20:16:46 -08:00
Chris Roberts
1f5dd35d16
Remove bundler where no longer required
2016-11-07 20:00:38 -08:00
Chris Roberts
d5c5561302
Allow disable of user plugins if repair command is requested
2016-11-07 18:48:51 -08:00
Chris Roberts
1fb4553d14
[core] Remove bundler usage for plugin management
2016-11-07 18:48:51 -08:00
Mitchell Hashimoto
479323f1e8
for newer versions of Bundler, store the runtime
2015-07-09 22:12:47 -06:00
Seth Vargo
d8d5a66fa5
Add a function to get to the "original" environment with Vagrant
...
This function only works when used with the official Vagrant installer.
2015-07-09 12:34:04 -06:00
Aneesh Agrawal
16ac4e2321
If plugins are disabled, report them as not available.
...
Allows usage of VAGRANT_NO_PLUGINS env var to disable plugins.
Fixes #5430 .
2015-05-14 08:04:11 -04:00
mbrodala
cca19f8241
Check plugin name with version spec in has_plugin
...
If one passes a version spec to `Vagrant.has_plugin?`, the actual plugin name is ignored and any installed plugin which matches the version spec makes the check pass. Fix this by also checking for plugin name match in addition to the requested version spec.
2015-01-20 08:37:22 +01:00
Seth Vargo
5b9240ad8a
Add Push to the PLUGIN_COMPONENTS
2014-12-08 11:35:09 -08:00
Mitchell Hashimoto
2856df79ac
core: Vagrant.has_plugin? can take version requirements [GH-4650]
2014-10-23 10:52:02 -07:00
Mitchell Hashimoto
8a6bdbf710
core: Environment#machine_index
2014-04-21 13:51:17 -07:00
Mitchell Hashimoto
7710fd16fa
core: load system plugins if they are installed
2014-03-03 09:44:29 -08:00
Mitchell Hashimoto
a667893cbf
provisioners/shell: error if invalid encoding [GH-3000]
2014-02-23 21:50:53 -08:00
Mitchell Hashimoto
62028b2df3
core: log plugins and their versions
...
/cc tmatilai - Bundler makes it nice and easy.
2014-01-08 20:04:57 -08:00
Mitchell Hashimoto
7c995caae5
core: Catch plugin load errors and show them to the user ina friendly way
2014-01-08 14:45:43 -08:00
Mitchell Hashimoto
010874ffad
core: has_plugin? uses the new plugin manager class to check for gems
2014-01-08 10:50:28 -08:00
Mitchell Hashimoto
04a5e6bcd2
core: Remove Vagrant::Hosts and add Vagrant::Host, a CapabilityHost
2014-01-07 18:34:19 -08:00
Mitchell Hashimoto
4f623f6422
Remove temporary line
2014-01-07 10:52:07 -08:00
Mitchell Hashimoto
73c71dbcc6
Work some things around so that Bundler is not setup with no plugins
2014-01-05 16:16:04 -08:00
Mitchell Hashimoto
8cfa24143d
Put plugins in their own Gemfile group so we can load on their own
2014-01-05 15:57:10 -08:00
Mitchell Hashimoto
91751f6e41
load with bundler context
2014-01-05 15:26:44 -08:00
Mitchell Hashimoto
86610bf735
installing gems works
2014-01-05 14:54:50 -08:00
Mitchell Hashimoto
1eef75a715
commands/plugin: list uses PluginManager
2014-01-05 08:42:34 -08:00
Mitchell Hashimoto
8adef9c15f
warn if running in a bundler env, don't load plugins
2014-01-04 16:29:22 -08:00
Mitchell Hashimoto
f2c6175d16
Use bundler to load plugins
2014-01-04 16:15:12 -08:00
Mitchell Hashimoto
9333f550e5
style
2013-12-28 13:49:43 -07:00
Teemu Matilainen
42d156cce7
core: Log loaded plugin versions
...
One more piece of information to help support.
2013-12-23 18:23:30 -03:00
Teemu Matilainen
e5032071f6
core: Vagrant.has_plugin? tries to match gem name first
...
Search primary from the list of gem names which have been loaded by
`Vagrant.require_plugin`. Fall back to matching registered plugin names.
2013-12-20 17:36:10 -03:00
Teemu Matilainen
8dbad22d72
core: list VAGRANT_* env vars in debug log
...
Help support and debugging by printing all `VAGRNAT_*` environment
variables that have been set by either user or Vagrant.
2013-12-18 00:07:17 -03:00
Mitchell Hashimoto
255608d9c5
core: note Ruby and RubyGems version in logs
2013-12-03 23:44:08 -08:00