Merge pull request #13535 from chrisroberts/gem-activation

Update runtime dependency activations
This commit is contained in:
Chris Roberts 2024-11-08 08:33:41 -08:00 committed by GitHub
commit 280b5d8cf3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
344 changed files with 813 additions and 794 deletions

View file

@ -10,16 +10,6 @@ if Thread.respond_to?(:report_on_exception=)
Thread.report_on_exception = false
end
# Activate all the runtime dependencies before
# moving on.
begin
Gem::Specification.find_by_name("vagrant").runtime_dependencies.each do |dep|
gem(dep.name, dep.requirement.as_list)
end
rescue Gem::MissingSpecError
$stderr.puts "WARN: Failed to locate vagrant specification for dependency loading"
end
# Split arguments by "--" if its there, we'll recombine them later
argv = ARGV.dup
argv_extra = []
@ -117,7 +107,6 @@ end
env = nil
begin
require 'log4r'
require 'vagrant'
require 'vagrant/bundler'
require 'vagrant/cli'

View file

@ -1,14 +1,19 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
# Load the shared helpers first to make the custom
# require helper available.
require "vagrant/shared_helpers"
Vagrant.require "log4r"
# Add patches to log4r to support trace level
require "vagrant/patches/log4r"
require "vagrant/patches/net-ssh"
require "vagrant/patches/rubygems"
Vagrant.require "vagrant/patches/log4r"
Vagrant.require "vagrant/patches/net-ssh"
Vagrant.require "vagrant/patches/rubygems"
# Set our log levels and include trace
require 'log4r/configurator'
Vagrant.require 'log4r/configurator'
Log4r::Configurator.custom_levels(*(["TRACE"] + Log4r::Log4rConfig::LogLevels))
# Update the default formatter within the log4r library to ensure
@ -20,7 +25,7 @@ class Log4r::BasicFormatter
end
end
require "optparse"
Vagrant.require "optparse"
module Vagrant
# This is a customized OptionParser for Vagrant plugins. It
@ -45,10 +50,9 @@ module VagrantPlugins
end
# Load in our helpers and utilities
require "vagrant/shared_helpers"
require "rubygems"
require "vagrant/util"
require "vagrant/plugin/manager"
Vagrant.require "rubygems"
Vagrant.require "vagrant/util"
Vagrant.require "vagrant/plugin/manager"
# Enable logging if it is requested. We do this before
# anything else so that we can setup the output before
@ -105,19 +109,19 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != ""
end
end
require 'json'
require 'pathname'
require 'stringio'
Vagrant.require 'json'
Vagrant.require 'pathname'
Vagrant.require 'stringio'
require 'childprocess'
require 'i18n'
Vagrant.require 'childprocess'
Vagrant.require 'i18n'
# OpenSSL must be loaded here since when it is loaded via `autoload`
# there are issues with ciphers not being properly loaded.
require 'openssl'
Vagrant.require 'openssl'
# Always make the version available
require 'vagrant/version'
Vagrant.require 'vagrant/version'
global_logger = Log4r::Logger.new("vagrant::global")
Vagrant.global_logger = global_logger
global_logger.info("Vagrant version: #{Vagrant::VERSION}")
@ -138,7 +142,7 @@ vagrant_ssl_locations = [
if vagrant_ssl_locations.any? { |f| File.exist?(f) }
global_logger.debug("vagrant ssl helper found for loading ssl providers")
begin
require "vagrant/vagrant_ssl"
Vagrant.require "vagrant/vagrant_ssl"
Vagrant.vagrant_ssl_load
global_logger.debug("ssl providers successfully loaded")
rescue LoadError => err
@ -152,8 +156,8 @@ end
# We need these components always so instead of an autoload we
# just require them explicitly here.
require "vagrant/plugin"
require "vagrant/registry"
Vagrant.require "vagrant/plugin"
Vagrant.require "vagrant/registry"
module Vagrant
autoload :Action, 'vagrant/action'
@ -230,7 +234,7 @@ module Vagrant
end
# Now check the plugin gem names
require "vagrant/plugin/manager"
Vagrant.require "vagrant/plugin/manager"
Plugin::Manager.instance.plugin_installed?(name, version)
end

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'vagrant/action/builder'
Vagrant.require 'vagrant/action/builder'
module Vagrant
module Action

View file

@ -1,16 +1,16 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "digest/sha1"
require "log4r"
require "pathname"
require "uri"
Vagrant.require "digest/sha1"
Vagrant.require "log4r"
Vagrant.require "pathname"
Vagrant.require "uri"
require "vagrant/box_metadata"
require "vagrant/util/downloader"
require "vagrant/util/file_checksum"
require "vagrant/util/file_mutex"
require "vagrant/util/platform"
Vagrant.require "vagrant/box_metadata"
Vagrant.require "vagrant/util/downloader"
Vagrant.require "vagrant/util/file_checksum"
Vagrant.require "vagrant/util/file_mutex"
Vagrant.require "vagrant/util/platform"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "json"
Vagrant.require "json"
module Vagrant
module Action

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'vagrant/util/mime'
require 'tmpdir'
Vagrant.require 'vagrant/util/mime'
Vagrant.require 'tmpdir'
module Vagrant
module Action

View file

@ -1,6 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
Vagrant.require "log4r"
module Vagrant
module Action
module Builtin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/util/template_renderer"
Vagrant.require "vagrant/util/template_renderer"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "json"
Vagrant.require "json"
module Vagrant
module Action

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
require "timeout"
Vagrant.require "log4r"
Vagrant.require "timeout"
module Vagrant
module Action

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "thread"
require "log4r"
Vagrant.require "thread"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,13 +1,12 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "set"
Vagrant.require "set"
Vagrant.require "log4r"
Vagrant.require "socket"
require "log4r"
require "socket"
require "vagrant/util/is_port_open"
require "vagrant/util/ipv4_interfaces"
Vagrant.require "vagrant/util/is_port_open"
Vagrant.require "vagrant/util/ipv4_interfaces"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,10 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "json"
require "set"
require 'vagrant/util/scoped_hash_override'
Vagrant.require "json"
Vagrant.require "set"
Vagrant.require 'vagrant/util/scoped_hash_override'
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
require_relative "mixin_provisioners"

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
require_relative "mixin_provisioners"

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Action

View file

@ -1,9 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "pathname"
Vagrant.require "pathname"
require "vagrant/util/ssh"
Vagrant.require "vagrant/util/ssh"
module Vagrant
module Action

View file

@ -1,11 +1,11 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
require "vagrant/util/platform"
require "vagrant/util/ssh"
require "vagrant/util/shell_quote"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/ssh"
Vagrant.require "vagrant/util/shell_quote"
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
require_relative "mixin_synced_folders"

View file

@ -1,9 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
require 'vagrant/util/platform'
Vagrant.require 'vagrant/util/platform'
require_relative "mixin_synced_folders"

View file

@ -1,12 +1,11 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'fileutils'
require "pathname"
require 'vagrant/util/safe_chdir'
require 'vagrant/util/subprocess'
require 'vagrant/util/presence'
Vagrant.require 'fileutils'
Vagrant.require "pathname"
Vagrant.require 'vagrant/util/safe_chdir'
Vagrant.require 'vagrant/util/subprocess'
Vagrant.require 'vagrant/util/presence'
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "fileutils"
Vagrant.require "fileutils"
require_relative "package"
module Vagrant

View file

@ -1,11 +1,11 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'log4r'
Vagrant.require 'log4r'
require 'vagrant/action/hook'
require 'vagrant/util/busy'
require 'vagrant/util/experimental'
Vagrant.require 'vagrant/action/hook'
Vagrant.require 'vagrant/util/busy'
Vagrant.require 'vagrant/util/experimental'
module Vagrant
module Action

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
require 'vagrant/util/experimental'
Vagrant.require "log4r"
Vagrant.require 'vagrant/util/experimental'
module Vagrant
module Action

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/registry"
Vagrant.require "vagrant/registry"
module Vagrant
# This class imports and processes CLI aliases stored in ~/.vagrant.d/aliases

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'thread'
require "log4r"
Vagrant.require 'thread'
Vagrant.require "log4r"
module Vagrant
# This class executes multiple actions as a single batch, parallelizing

View file

@ -1,17 +1,17 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'fileutils'
require "tempfile"
Vagrant.require 'fileutils'
Vagrant.require "tempfile"
require "json"
require "log4r"
Vagrant.require "json"
Vagrant.require "log4r"
require "vagrant/box_metadata"
require "vagrant/util/downloader"
require "vagrant/util/platform"
require "vagrant/util/safe_chdir"
require "vagrant/util/subprocess"
Vagrant.require "vagrant/box_metadata"
Vagrant.require "vagrant/util/downloader"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/safe_chdir"
Vagrant.require "vagrant/util/subprocess"
module Vagrant
# Represents a "box," which is a package Vagrant environment that is used

View file

@ -1,15 +1,13 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "digest/sha1"
require "fileutils"
require "monitor"
require "tmpdir"
require "log4r"
require "vagrant/util/platform"
require "vagrant/util/subprocess"
Vagrant.require "digest/sha1"
Vagrant.require "fileutils"
Vagrant.require "monitor"
Vagrant.require "tmpdir"
Vagrant.require "log4r"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/subprocess"
module Vagrant
# Represents a collection a boxes found on disk. This provides methods

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "json"
Vagrant.require "json"
module Vagrant
# BoxMetadata represents metadata about a box, including the name

View file

@ -1,16 +1,16 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "monitor"
require "pathname"
require "set"
require "tempfile"
require "fileutils"
require "uri"
Vagrant.require "monitor"
Vagrant.require "pathname"
Vagrant.require "set"
Vagrant.require "tempfile"
Vagrant.require "fileutils"
Vagrant.require "uri"
require "rubygems/package"
require "rubygems/uninstaller"
require "rubygems/name_tuple"
Vagrant.require "rubygems/package"
Vagrant.require "rubygems/uninstaller"
Vagrant.require "rubygems/name_tuple"
require_relative "shared_helpers"
require_relative "version"

View file

@ -1,10 +1,10 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'log4r'
require 'optparse'
Vagrant.require 'log4r'
Vagrant.require 'optparse'
require 'vagrant/util/experimental'
Vagrant.require 'vagrant/util/experimental'
module Vagrant
# Manages the command line interface to Vagrant.

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/registry"
Vagrant.require "vagrant/registry"
module Vagrant
module Config

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/config/v1/root"
Vagrant.require "vagrant/config/v1/root"
module Vagrant
module Config

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "set"
Vagrant.require "set"
module Vagrant
module Config

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/config/v2/root"
Vagrant.require "vagrant/config/v2/root"
module Vagrant
module Config

View file

@ -1,9 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "set"
Vagrant.require "set"
require "vagrant/config/v2/util"
Vagrant.require "vagrant/config/v2/util"
module Vagrant
module Config

View file

@ -1,20 +1,20 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'fileutils'
require 'json'
require 'pathname'
require 'set'
require 'thread'
Vagrant.require 'fileutils'
Vagrant.require 'json'
Vagrant.require 'pathname'
Vagrant.require 'set'
Vagrant.require 'thread'
require 'log4r'
Vagrant.require 'log4r'
require 'vagrant/util/file_mode'
require 'vagrant/util/platform'
require 'vagrant/util/hash_with_indifferent_access'
require "vagrant/util/silence_warnings"
require "vagrant/vagrantfile"
require "vagrant/version"
Vagrant.require 'vagrant/util/file_mode'
Vagrant.require 'vagrant/util/platform'
Vagrant.require 'vagrant/util/hash_with_indifferent_access'
Vagrant.require "vagrant/util/silence_warnings"
Vagrant.require "vagrant/vagrantfile"
Vagrant.require "vagrant/version"
module Vagrant
# A "Vagrant environment" represents a configuration of how Vagrant

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'vagrant/machine_index/remote'
Vagrant.require 'vagrant/machine_index/remote'
module Vagrant
class Environment

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
require "vagrant/capability_host"
Vagrant.require "log4r"
Vagrant.require "vagrant/capability_host"
module Vagrant
# This class handles guest-OS specific interactions with a machine.

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/capability_host"
Vagrant.require "vagrant/capability_host"
module Vagrant
# This class handles host-OS specific interactions. It is responsible for

View file

@ -4,10 +4,9 @@
require_relative "./util/ssh"
require_relative "./action/builtin/mixin_synced_folders"
require "digest/md5"
require "thread"
require "log4r"
Vagrant.require "digest/md5"
Vagrant.require "thread"
Vagrant.require "log4r"
module Vagrant
# This represents a machine that Vagrant manages. This provides a singular

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'ostruct'
require "vagrant/util/scoped_hash_override"
Vagrant.require 'ostruct'
Vagrant.require "vagrant/util/scoped_hash_override"
module Vagrant
class Machine

View file

@ -1,12 +1,12 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "json"
require "pathname"
require "securerandom"
require "thread"
Vagrant.require "json"
Vagrant.require "pathname"
Vagrant.require "securerandom"
Vagrant.require "thread"
require "vagrant/util/silence_warnings"
Vagrant.require "vagrant/util/silence_warnings"
module Vagrant
# MachineIndex is able to manage the index of created Vagrant environments

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "fake_ftp"
Vagrant.require "fake_ftp"
module FakeFtp
class File

View file

@ -6,7 +6,7 @@
# information should be included in the output, we
# make some modifications to allow the trace check to
# still work while also supporting trace as a valid level
require "log4r/loggerfactory"
Vagrant.require "log4r/loggerfactory"
if !Log4r::Logger::LoggerFactory.respond_to?(:fake_define_methods)
class Log4r::Logger::LoggerFactory

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "net/ssh"
require "net/ssh/buffer"
Vagrant.require "net/ssh"
Vagrant.require "net/ssh/buffer"
# Set the version requirement for when net-ssh should be patched
NET_SSH_PATCH_REQUIREMENT = Gem::Requirement.new(">= 7.0.0", "<= 7.3")

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "pathname"
require "set"
Vagrant.require "pathname"
Vagrant.require "set"
require_relative "../bundler"
require_relative "../shared_helpers"

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Plugin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Plugin

View file

@ -1,9 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "json"
require "fileutils"
require "tempfile"
Vagrant.require "json"
Vagrant.require "fileutils"
Vagrant.require "tempfile"
module Vagrant
module Plugin

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
require "vagrant/plugin/v1/errors"
Vagrant.require "log4r"
Vagrant.require "vagrant/plugin/v1/errors"
module Vagrant
module Plugin

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'log4r'
require "vagrant/util/safe_puts"
Vagrant.require 'log4r'
Vagrant.require "vagrant/util/safe_puts"
module Vagrant
module Plugin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Plugin

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "set"
require "log4r"
Vagrant.require "set"
Vagrant.require "log4r"
module Vagrant
module Plugin

View file

@ -1,12 +1,12 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
# We don't autoload components because if we're loading anything in the
# V2 namespace anyways, then we're going to need the Components class.
require "vagrant/plugin/v2/components"
require "vagrant/plugin/v2/errors"
Vagrant.require "vagrant/plugin/v2/components"
Vagrant.require "vagrant/plugin/v2/errors"
module Vagrant
module Plugin

View file

@ -1,9 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'log4r'
require "vagrant/util/safe_puts"
Vagrant.require 'log4r'
Vagrant.require "vagrant/util/safe_puts"
module Vagrant
module Plugin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "timeout"
Vagrant.require "timeout"
module Vagrant
module Plugin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "set"
Vagrant.require "set"
module Vagrant
module Plugin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Plugin

View file

@ -1,11 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "set"
require "log4r"
require "vagrant/plugin/v2/components"
Vagrant.require "set"
Vagrant.require "log4r"
Vagrant.require "vagrant/plugin/v2/components"
module Vagrant
module Plugin

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/capability_host"
Vagrant.require "vagrant/capability_host"
module Vagrant
module Plugin

View file

@ -1,14 +1,14 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'fileutils'
require 'log4r'
require 'shellwords'
Vagrant.require 'fileutils'
Vagrant.require 'log4r'
Vagrant.require 'shellwords'
require Vagrant.source_root.join("plugins/provisioners/shell/provisioner")
require "vagrant/util/subprocess"
require "vagrant/util/platform"
require "vagrant/util/powershell"
Vagrant.require Vagrant.source_root.join("plugins/provisioners/shell/provisioner")
Vagrant.require "vagrant/util/subprocess"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/powershell"
module Vagrant
module Plugin

View file

@ -168,7 +168,7 @@ module Vagrant
if ENV["VAGRANT_ENABLE_RESOLV_REPLACE"]
if !ENV["VAGRANT_DISABLE_RESOLV_REPLACE"]
begin
require "resolv-replace"
Vagrant.require "resolv-replace"
true
rescue
false
@ -192,7 +192,7 @@ module Vagrant
# @return [Logger]
def self.global_logger
if @_global_logger.nil?
require "log4r"
Vagrant.require "log4r"
@_global_logger = Log4r::Logger.new("vagrant::global")
end
@_global_logger
@ -226,6 +226,68 @@ module Vagrant
@_default_cli_options.dup
end
# Loads the provided path. If the base of the path
# is a Vagrant runtime dependency, the gem will be
# activated with the proper constraint first.
#
# NOTE: This is currently disabled by default and
# will transition to enabled by default as more
# non-installer based environments are tested.
#
# @return [nil]
def self.require(path)
catch(:activation_complete) do
# If activation is not enabled, don't attempt activation
throw :activation_complete if ENV["VAGRANT_ENABLE_GEM_ACTIVATION"].nil?
# If it's a vagrant path, don't do anything.
throw :activation_complete if path.to_s.start_with?("vagrant/")
# Attempt to fetch the vagrant specification
if @_vagrant_spec.nil?
@_vagrant_activated_dependencies = {}
begin
@_vagrant_spec = Gem::Specification.find_by_name("vagrant")
rescue Gem::MissingSpecError
# If it couldn't be found, print a warning to stderr and bail
if !@_spec_load_failure_warning
$stderr.puts "WARN: Failed to locate vagrant specification for dependency loading"
@_spec_load_failure_warning = true
end
throw :activation_complete
end
end
# Attempt to get the name of the gem by the given path
dep_name = Gem::Specification.find_by_path(path)&.name
# Bail if a dependency name cannot be determined
throw :activation_complete if dep_name.nil?
# Bail if already activated
throw :activation_complete if @_vagrant_activated_dependencies[dep_name]
# Extract the dependency from the runtime dependency list
dependency = @_vagrant_spec.runtime_dependencies.detect do |d|
d.name == dep_name
end
# If the dependency isn't found, bail
throw :activation_complete if dependency.nil?
# Activate the gem
gem(dependency.name, dependency.requirement.as_list)
puts "Activated: #{dependency.name}"
@_vagrant_activated_dependencies[dependency.name] = true
end
# Finally, require the provided path.
::Kernel.require(path)
nil
end
# Check if Vagrant is running in server mode
#
# @return [Boolean]

View file

@ -1,14 +1,12 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "delegate"
require "io/console"
require "thread"
require "log4r"
require "vagrant/util/platform"
require "vagrant/util/safe_puts"
Vagrant.require "delegate"
Vagrant.require "io/console"
Vagrant.require "thread"
Vagrant.require "log4r"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/safe_puts"
module Vagrant
module UI

View file

@ -1,11 +1,11 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "tempfile"
require "fileutils"
require "pathname"
require "vagrant/util/directory"
require "vagrant/util/subprocess"
Vagrant.require "tempfile"
Vagrant.require "fileutils"
Vagrant.require "pathname"
Vagrant.require "vagrant/util/directory"
Vagrant.require "vagrant/util/subprocess"
module Vagrant
module Util

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
require "singleton"
Vagrant.require "log4r"
Vagrant.require "singleton"
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'thread'
Vagrant.require 'thread'
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'pathname'
Vagrant.require 'pathname'
module Vagrant
module Util

View file

@ -1,18 +1,18 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "cgi"
require "uri"
Vagrant.require "cgi"
Vagrant.require "uri"
require "log4r"
require "digest"
require "digest/md5"
require "digest/sha1"
require "vagrant/util/busy"
require "vagrant/util/platform"
require "vagrant/util/subprocess"
require "vagrant/util/curl_helper"
require "vagrant/util/file_checksum"
Vagrant.require "log4r"
Vagrant.require "digest"
Vagrant.require "digest/md5"
Vagrant.require "digest/sha1"
Vagrant.require "vagrant/util/busy"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/subprocess"
Vagrant.require "vagrant/util/curl_helper"
Vagrant.require "vagrant/util/file_checksum"
module Vagrant
module Util

View file

@ -6,7 +6,7 @@
# the moment, and this class isn't directly used. It is merely here for
# documentation of structure of the class.
require "vagrant/errors"
Vagrant.require "vagrant/errors"
class DigestClass
def update(string); end

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/util/platform"
Vagrant.require "vagrant/util/platform"
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "socket"
Vagrant.require "socket"
module Vagrant
module Util

View file

@ -1,11 +1,11 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "base64"
require "ed25519"
require "securerandom"
Vagrant.require "base64"
Vagrant.require "ed25519"
Vagrant.require "securerandom"
require "vagrant/util/retryable"
Vagrant.require "vagrant/util/retryable"
module Vagrant
module Util

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/util/credential_scrubber"
require "log4r/formatter/formatter"
Vagrant.require "vagrant/util/credential_scrubber"
Vagrant.require "log4r/formatter/formatter"
module Vagrant
module Util

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'mime/types'
require 'securerandom'
Vagrant.require 'mime/types'
Vagrant.require 'securerandom'
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "ipaddr"
Vagrant.require "ipaddr"
module Vagrant
module Util

View file

@ -1,15 +1,15 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "rbconfig"
require "shellwords"
require "tempfile"
require "tmpdir"
require "log4r"
Vagrant.require "rbconfig"
Vagrant.require "shellwords"
Vagrant.require "tempfile"
Vagrant.require "tmpdir"
Vagrant.require "log4r"
require "vagrant/util/subprocess"
require "vagrant/util/powershell"
require "vagrant/util/which"
Vagrant.require "vagrant/util/subprocess"
Vagrant.require "vagrant/util/powershell"
Vagrant.require "vagrant/util/which"
module Vagrant
module Util

View file

@ -1,8 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "base64"
require "tmpdir"
Vagrant.require "base64"
Vagrant.require "tmpdir"
require_relative "subprocess"
require_relative "which"

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'thread'
Vagrant.require 'thread'
module Vagrant
module Util

View file

@ -1,16 +1,16 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "log4r"
Vagrant.require "log4r"
require 'childprocess'
Vagrant.require 'childprocess'
require "vagrant/util/file_mode"
require "vagrant/util/platform"
require "vagrant/util/safe_exec"
require "vagrant/util/safe_puts"
require "vagrant/util/subprocess"
require "vagrant/util/which"
Vagrant.require "vagrant/util/file_mode"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/safe_exec"
Vagrant.require "vagrant/util/safe_puts"
Vagrant.require "vagrant/util/subprocess"
Vagrant.require "vagrant/util/which"
module Vagrant
module Util

View file

@ -1,15 +1,15 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'thread'
Vagrant.require 'thread'
require 'childprocess'
require 'log4r'
Vagrant.require 'childprocess'
Vagrant.require 'log4r'
require 'vagrant/util/io'
require 'vagrant/util/platform'
require 'vagrant/util/safe_chdir'
require 'vagrant/util/which'
Vagrant.require 'vagrant/util/io'
Vagrant.require 'vagrant/util/platform'
Vagrant.require 'vagrant/util/safe_chdir'
Vagrant.require 'vagrant/util/which'
module Vagrant
module Util

View file

@ -1,10 +1,10 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'ostruct'
require "pathname"
Vagrant.require 'ostruct'
Vagrant.require "pathname"
require 'erubi'
Vagrant.require 'erubi'
module Vagrant
module Util

View file

@ -1,13 +1,13 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "uri"
Vagrant.require "uri"
require "log4r"
require "vagrant/util/busy"
require "vagrant/util/platform"
require "vagrant/util/subprocess"
require "vagrant/util/curl_helper"
Vagrant.require "log4r"
Vagrant.require "vagrant/util/busy"
Vagrant.require "vagrant/util/platform"
Vagrant.require "vagrant/util/subprocess"
Vagrant.require "vagrant/util/curl_helper"
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/util/platform"
Vagrant.require "vagrant/util/platform"
module Vagrant
module Util

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "fiddle/import"
Vagrant.require "fiddle/import"
module Vagrant
module Util

View file

@ -1,8 +1,8 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "vagrant/util/template_renderer"
require "log4r"
Vagrant.require "vagrant/util/template_renderer"
Vagrant.require "log4r"
module Vagrant
# This class provides a way to load and access the contents

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'optparse'
Vagrant.require 'optparse'
require 'vagrant/util/install_cli_autocomplete'

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "optparse"
Vagrant.require "optparse"
require 'vagrant/util/install_cli_autocomplete'
module VagrantPlugins

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'optparse'
Vagrant.require 'optparse'
require_relative 'download_mixins'

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'optparse'
Vagrant.require 'optparse'
module VagrantPlugins
module CommandBox

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'optparse'
Vagrant.require 'optparse'
require_relative 'download_mixins'

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'optparse'
Vagrant.require 'optparse'
module VagrantPlugins
module CommandBox

View file

@ -1,7 +1,7 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require 'optparse'
Vagrant.require 'optparse'
module VagrantPlugins
module CommandBox

View file

@ -1,9 +1,9 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require "fileutils"
require 'optparse'
require "pathname"
Vagrant.require "fileutils"
Vagrant.require 'optparse'
Vagrant.require "pathname"
module VagrantPlugins
module CommandBox

Some files were not shown because too many files have changed in this diff Show more