Chris Roberts
0a6d985f89
Merge pull request #8191 from chrisroberts/plugins/ext-dir
...
Set base directory to parent directory within plugin specs
2017-02-01 13:12:27 -08:00
Chris Roberts
25a2bdd279
Prevent generating environment variables with invalid empty names
2017-01-12 15:12:41 -08:00
Chris Roberts
df00edf1a7
Set base directory to parent directory within plugin specs
...
This adjustment allows for extensions to be properly discovered after
plugin gem specifications have been activated.
2017-01-06 12:55:13 -08:00
Chris Roberts
23c41f4461
Merge pull request #7867 from bbrala/hyperv-package
...
Package Hyper-V boxes
2016-12-07 13:37:47 -08:00
Chris Roberts
23b4421309
Merge pull request #8094 from chrisroberts/bundler/env
...
Remove direct bundler usage within Env util
2016-12-07 06:56:01 -08:00
Chris Roberts
c20e160295
Remove direct bundler usage within Env util
2016-12-07 06:00:56 -08:00
Chris Roberts
c8d564e578
Prevent interaction when removing plugin gems
2016-12-06 07:07:52 -08:00
Chris Roberts
5b1b18d01a
Merge pull request #8068 from chrisroberts/bundler/install-solution-act
...
Detect load failure within solution set and retry if found
2016-12-05 13:28:58 -08:00
Chris Roberts
3dccd82a39
Explicitly require name_tuple
...
This does not get automatically loaded before usage so ensure
it is properly loaded for plugin usage.
2016-12-05 09:35:02 -08:00
Chris Roberts
ce35611c34
Detect load failure within solution set and retry if found
...
Installation solution sets in 2.2.5 can end up out of order (not seen
in 2.3.1) causing LoadErrors when the specification is in the solution
set during validation. This detects the missing spec within the solution
and if found will move spec to the start of the solution set and retry
solution activation.
2016-12-01 08:15:04 -08:00
Chris Roberts
9717432920
Add logger output when plugin loading is disabled
2016-11-28 16:55:38 -08:00
Chris Roberts
f1e623976b
Do not include default specifications within dependencies
2016-11-28 16:54:59 -08:00
Chris Roberts
d87cf25ed2
Display original exception and backtraces in logger output
2016-11-28 07:48:16 -08:00
Chris Roberts
2cc4b82198
Only read default specifications directory when within bundler context
2016-11-22 08:26:43 -08:00
Chris Roberts
a51949933f
Always apply builtin constraints within dependency restrictions
...
Include detection of running context (within Bundler or not) and
load the "buitin" gems based on that context.
2016-11-22 07:53:19 -08:00
Chris Roberts
53b9f1747c
Allow plugin_init_error to provide all information. Include final reset on specifications.
2016-11-17 16:40:51 -08:00
Chris Roberts
818f7acb7b
Provide better internal consistency of installed plugin gems.
...
Refactors reusable actions into isolated methods. Supports installation/removal
without activation to prevent unintended conflicts during upgrades and cleanup.
Introduced custom resolver set to handle multiple installed versions of gems
which enables proper cleanup.
2016-11-16 13:26:13 -08:00
Chris Roberts
06e1b2f52c
Include installed gem version plugin information. Clean after install and update.
2016-11-16 13:19:43 -08:00
Chris Roberts
fb85bb1c7b
Include plugin initialization error class
2016-11-16 13:18:35 -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
ac74774fcb
Merge pull request #8000 from chrisroberts/plugins/updates
...
Plugin handling updates
2016-11-14 13:24:52 -08:00
Chris Roberts
0f720a4386
Merge pull request #7985 from chrisroberts/shell-provisioner/checksum
...
Add md5 and sha1 checksum support to Downloader.
2016-11-14 13:19:22 -08:00
Chris Roberts
beffa70941
Downloader checksum output information and digester usage
...
Add more output information around type of checksum being validated.
Use builtin Digest#file to read target file for generation of hexdigest.
2016-11-14 10:22:25 -08:00
Chris Roberts
174fe65d66
Sort plugins by name when generating install list
2016-11-11 15:11:45 -08:00
Chris Roberts
3edd0b57e9
Add debug logging output to Bundler implementation
2016-11-11 15:08:59 -08:00
Chris Roberts
bd3f0c442c
Only use Gem sources that are provided
2016-11-11 14:50:20 -08:00
Chris Roberts
1691e3af58
Only install from defined sources unless install is local
2016-11-11 14:44:14 -08:00
Chris Roberts
d8455c0a9a
Add custom sources if not included
2016-11-11 14:33:26 -08:00
Chris Roberts
6e40d46c50
Fix up local gem plugin installation when not published remotely
2016-11-11 14:25:03 -08:00
Chris Roberts
ea13988367
Properly support plugin auto-loading with logging information
2016-11-11 14:24:25 -08:00
Chris Roberts
1ed27faa9f
Remove usage of $vagrant_bundler_runtime within enabled check
2016-11-11 14:23:55 -08:00
Chris Roberts
da45ca707c
Add md5 and sha1 checksum support to Downloader.
...
Allows checksum validation on downloaded files via Util::Downloader
using MD5 and/or SHA1 checksums. This also integrates checksum validation
support with the shell provisioner for downloaded remote files.
2016-11-09 16:05:39 -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
3fb5913af1
Update .init! to attempt repair if instructed
2016-11-07 18:48:51 -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
Chris Roberts
d1a778dbfb
Include error handling when subprocess commands fail
2016-10-31 07:42:30 -07:00
Chris Roberts
d490bb4b7a
Include autoloader for StringBlockEditor
2016-10-29 17:53:45 -07:00
Chris Roberts
c39b3fbb76
guests/openbsd: Check package installation after installing package
...
The `pkg_add` command will return `0` when a package requested for
installation is not found. This adds a validation check to ensure
the rsync package is actually installed on the guest.
2016-10-25 12:16:52 -07:00
Chris Roberts
28f2ed56cf
Merge pull request #7756 from alexoj/master
...
Fix Vagrant not prioritizing configured providers correctly
2016-10-07 17:14:54 -07:00
Björn Brala
6ed612e93b
Move package_setup_files to general lib to minimize code duplication
2016-10-07 17:31:15 +02:00
Bjorn Brala
5877e8fe22
Sart refactor duplicate classes
2016-10-06 08:55:59 +02:00
Chris Roberts
c3eb1e355b
Merge pull request #7802 from chrisroberts/safe_exec/windows
...
[windows] Use subprocess for safe_exec on windows
2016-09-30 14:42:40 -07:00
Chris Roberts
977733790a
Include debug notification when using subprocess
2016-09-30 12:16:53 -07:00
Chris Roberts
5872611d59
[windows] Use subprocess for safe_exec on windows
2016-09-15 13:08:58 -07:00
Jake Teton-Landis
ceb69e6266
Allow closing a Vagrant::Util::Subprocess's STDIN
...
Previously, there was no way to close the STDIN stream of a subprocess,
so commands that read from stdin in a subprocess would hang forever,
such as `/bin/sh -s`. If one tried to close the stdin, the
IO.select() call in Subprocess#execute would raise an error for calling
select() on a closed IO.
Here's a concrete example of a command that needs to close STDIN to work
properly:
```ruby
script = SOME_VERY_LONG_STRING
command = %w(ssh foo.example.com /bin/sh -s foo bar)
result = ::Vagrant::Util::Subprocess.execute(*command) do |type, data_or_io|
if type == :stdin
data_or_io.write(script)
data_or_io.write("\n")
data_or_io.close
next
end
puts "Remote: #{data_or_io}"
end
```
2016-09-04 16:45:38 -07:00
Alejandro Ojeda
50ca748b5c
Fix Vagrant not prioritizing configured providers correctly
...
Fixes #7135 : config.vm.provider not setting provider in multi-machine Vagrantfile
2016-08-25 03:34:23 +02:00