diff options
Diffstat (limited to 'Library')
147 files changed, 700 insertions, 707 deletions
diff --git a/Library/.rubocop.yml b/Library/.rubocop.yml index 7b3bdaeb6..dc21782e2 100644 --- a/Library/.rubocop.yml +++ b/Library/.rubocop.yml @@ -29,7 +29,7 @@ Layout/IndentArray: EnforcedStyle: special_inside_parentheses Layout/IndentHeredoc: - EnforcedStyle: unindent + EnforcedStyle: squiggly # conflicts with DSL-style path concatenation with `/` Layout/SpaceAroundOperators: diff --git a/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb b/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb index 3f63dae8f..7505ac49a 100644 --- a/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb +++ b/Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb @@ -253,7 +253,7 @@ module Hbc end def trash_paths(*paths, command: nil, **_) - result = command.run!("/usr/bin/osascript", args: ["-e", <<-'EOS'.undent, *paths]) + result = command.run!("/usr/bin/osascript", args: ["-e", <<~'EOS', *paths]) on run argv repeat with i from 1 to (count argv) set item i of argv to (item i of argv as POSIX file) diff --git a/Library/Homebrew/cask/lib/hbc/artifact/installer.rb b/Library/Homebrew/cask/lib/hbc/artifact/installer.rb index 588bcabd5..5cd388c7f 100644 --- a/Library/Homebrew/cask/lib/hbc/artifact/installer.rb +++ b/Library/Homebrew/cask/lib/hbc/artifact/installer.rb @@ -10,7 +10,7 @@ module Hbc module ManualInstaller def install_phase(**) - puts <<-EOS.undent + puts <<~EOS To complete the installation of Cask #{cask}, you must also run the installer at diff --git a/Library/Homebrew/cask/lib/hbc/audit.rb b/Library/Homebrew/cask/lib/hbc/audit.rb index bd25477ac..5180c5688 100644 --- a/Library/Homebrew/cask/lib/hbc/audit.rb +++ b/Library/Homebrew/cask/lib/hbc/audit.rb @@ -174,7 +174,7 @@ module Hbc add_warning "error retrieving appcast: #{result[:command_result].stderr}" else expected = cask.appcast.checkpoint - add_warning <<-EOS.undent unless expected == actual_checkpoint + add_warning <<~EOS unless expected == actual_checkpoint appcast checkpoint mismatch Expected: #{expected} Actual: #{actual_checkpoint} diff --git a/Library/Homebrew/cask/lib/hbc/cask_loader.rb b/Library/Homebrew/cask/lib/hbc/cask_loader.rb index 08d457643..c32b35584 100644 --- a/Library/Homebrew/cask/lib/hbc/cask_loader.rb +++ b/Library/Homebrew/cask/lib/hbc/cask_loader.rb @@ -190,7 +190,7 @@ module Hbc when 2..Float::INFINITY loaders = possible_tap_casks.map(&FromTapPathLoader.method(:new)) - raise CaskError, <<-EOS.undent + raise CaskError, <<~EOS Cask #{ref} exists in multiple taps: #{loaders.map { |loader| " #{loader.tap}/#{loader.token}" }.join("\n")} EOS diff --git a/Library/Homebrew/cask/lib/hbc/cli.rb b/Library/Homebrew/cask/lib/hbc/cli.rb index d260be4e3..9283802d5 100644 --- a/Library/Homebrew/cask/lib/hbc/cli.rb +++ b/Library/Homebrew/cask/lib/hbc/cli.rb @@ -235,7 +235,7 @@ module Hbc end def purpose - puts <<-EOS.undent + puts <<~EOS brew-cask provides a friendly homebrew-style CLI workflow for the administration of macOS applications distributed as binaries. diff --git a/Library/Homebrew/cask/lib/hbc/cli/create.rb b/Library/Homebrew/cask/lib/hbc/cli/create.rb index 8de101092..e6ca3d7bc 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/create.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/create.rb @@ -21,7 +21,7 @@ module Hbc end def self.template(cask_token) - <<-EOS.undent + <<~EOS cask '#{cask_token}' do version '' sha256 '' diff --git a/Library/Homebrew/cask/lib/hbc/cli/internal_audit_modified_casks.rb b/Library/Homebrew/cask/lib/hbc/cli/internal_audit_modified_casks.rb index b83224fb1..f06e2acc5 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/internal_audit_modified_casks.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/internal_audit_modified_casks.rb @@ -16,7 +16,7 @@ module Hbc super if args.count != 1 - raise ArgumentError, <<-EOS.undent + raise ArgumentError, <<~EOS This command requires exactly one argument. #{self.class.usage} @@ -31,7 +31,7 @@ module Hbc end def self.usage - <<-EOS.undent + <<~EOS Usage: brew cask _audit_modified_casks [options...] <commit range> Given a range of Git commits, find any Casks that were modified and run `brew diff --git a/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb b/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb index f2059605c..c962632bc 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb @@ -25,7 +25,7 @@ module Hbc single = versions.count == 1 - puts <<-EOS.undent + puts <<~EOS #{cask} #{versions.join(", ")} #{single ? "is" : "are"} still installed. Remove #{single ? "it" : "them all"} with `brew cask uninstall --force #{cask}`. EOS diff --git a/Library/Homebrew/cask/lib/hbc/container/air.rb b/Library/Homebrew/cask/lib/hbc/container/air.rb index 4b083e538..f2ebb6bcd 100644 --- a/Library/Homebrew/cask/lib/hbc/container/air.rb +++ b/Library/Homebrew/cask/lib/hbc/container/air.rb @@ -13,7 +13,7 @@ module Hbc def self.installer_cmd return @installer_cmd ||= INSTALLER_PATHNAME if installer_exist? - raise CaskError, <<-EOS.undent + raise CaskError, <<~EOS Adobe AIR runtime not present, try installing it via brew cask install adobe-air diff --git a/Library/Homebrew/cask/lib/hbc/dsl/caveats.rb b/Library/Homebrew/cask/lib/hbc/dsl/caveats.rb index 7d373b5f3..45ee5d160 100644 --- a/Library/Homebrew/cask/lib/hbc/dsl/caveats.rb +++ b/Library/Homebrew/cask/lib/hbc/dsl/caveats.rb @@ -9,22 +9,22 @@ module Hbc class DSL class Caveats < Base def path_environment_variable(path) - puts <<-EOS.undent - To use #{@cask}, you may need to add the #{path} directory - to your PATH environment variable, eg (for bash shell): + puts <<~EOS + To use #{@cask}, you may need to add the #{path} directory + to your PATH environment variable, eg (for bash shell): - export PATH=#{path}:"$PATH" + export PATH=#{path}:"$PATH" EOS end def zsh_path_helper(path) - puts <<-EOS.undent - To use #{@cask}, zsh users may need to add the following line to their - ~/.zprofile. (Among other effects, #{path} will be added to the - PATH environment variable): + puts <<~EOS + To use #{@cask}, zsh users may need to add the following line to their + ~/.zprofile. (Among other effects, #{path} will be added to the + PATH environment variable): - eval `/usr/libexec/path_helper -s` + eval `/usr/libexec/path_helper -s` EOS end @@ -32,7 +32,7 @@ module Hbc def files_in_usr_local localpath = "/usr/local" return unless HOMEBREW_PREFIX.to_s.downcase.start_with?(localpath) - puts <<-EOS.undent + puts <<~EOS Cask #{@cask} installs files under "#{localpath}". The presence of such files can cause warnings when running "brew doctor", which is considered to be a bug in Homebrew-Cask. @@ -42,72 +42,72 @@ module Hbc def depends_on_java(java_version = "any") if java_version == "any" - puts <<-EOS.undent - #{@cask} requires Java. You can install the latest version with + puts <<~EOS + #{@cask} requires Java. You can install the latest version with - brew cask install java + brew cask install java EOS elsif java_version.include?("9") || java_version.include?("+") - puts <<-EOS.undent - #{@cask} requires Java #{java_version}. You can install the latest version with + puts <<~EOS + #{@cask} requires Java #{java_version}. You can install the latest version with - brew cask install java + brew cask install java EOS else - puts <<-EOS.undent - #{@cask} requires Java #{java_version}. You can install it with + puts <<~EOS + #{@cask} requires Java #{java_version}. You can install it with - brew cask install caskroom/versions/java#{java_version} + brew cask install caskroom/versions/java#{java_version} EOS end end def logout - puts <<-EOS.undent - You must log out and log back in for the installation of #{@cask} - to take effect. + puts <<~EOS + You must log out and log back in for the installation of #{@cask} + to take effect. EOS end def reboot - puts <<-EOS.undent - You must reboot for the installation of #{@cask} to take effect. + puts <<~EOS + You must reboot for the installation of #{@cask} to take effect. EOS end def discontinued - puts <<-EOS.undent - #{@cask} has been officially discontinued upstream. - It may stop working correctly (or at all) in recent versions of macOS. + puts <<~EOS + #{@cask} has been officially discontinued upstream. + It may stop working correctly (or at all) in recent versions of macOS. EOS end def free_license(web_page) - puts <<-EOS.undent - The vendor offers a free license for #{@cask} at - #{web_page} + puts <<~EOS + The vendor offers a free license for #{@cask} at + #{web_page} EOS end def malware(radar_number) - puts <<-EOS.undent - #{@cask} has been reported to bundle malware. Like with any app, use at your own risk. + puts <<~EOS + #{@cask} has been reported to bundle malware. Like with any app, use at your own risk. - A report has been made to Apple about this app. Their certificate will hopefully be revoked. - See the public report at - #{Formatter.url("https://openradar.appspot.com/#{radar_number}")} + A report has been made to Apple about this app. Their certificate will hopefully be revoked. + See the public report at + #{Formatter.url("https://openradar.appspot.com/#{radar_number}")} - If this report is accurate, please duplicate it at - #{Formatter.url("https://bugreport.apple.com/")} - If this report is a mistake, please let us know by opening an issue at - #{Formatter.url("https://github.com/caskroom/homebrew-cask/issues/new")} + If this report is accurate, please duplicate it at + #{Formatter.url("https://bugreport.apple.com/")} + If this report is a mistake, please let us know by opening an issue at + #{Formatter.url("https://github.com/caskroom/homebrew-cask/issues/new")} EOS end diff --git a/Library/Homebrew/cask/lib/hbc/exceptions.rb b/Library/Homebrew/cask/lib/hbc/exceptions.rb index f7f9e43b6..2626a467a 100644 --- a/Library/Homebrew/cask/lib/hbc/exceptions.rb +++ b/Library/Homebrew/cask/lib/hbc/exceptions.rb @@ -44,7 +44,7 @@ module Hbc class CaskAlreadyInstalledError < AbstractCaskErrorWithToken def to_s - <<-EOS.undent + <<~EOS Cask '#{token}' is already installed. To re-install #{token}, run: @@ -80,7 +80,7 @@ module Hbc class CaskX11DependencyError < AbstractCaskErrorWithToken def to_s - <<-EOS.undent + <<~EOS Cask '#{token}' requires XQuartz/X11, which can be installed using Homebrew-Cask by running #{Formatter.identifier("brew cask install xquartz")} @@ -132,7 +132,7 @@ module Hbc class CaskSha256MissingError < CaskSha256Error def to_s - <<-EOS.undent + <<~EOS Cask '#{token}' requires a checksum: #{Formatter.identifier("sha256 '#{actual}'")} EOS @@ -148,7 +148,7 @@ module Hbc end def to_s - <<-EOS.undent + <<~EOS Checksum for Cask '#{token}' does not match. Expected: #{Formatter.success(expected.to_s)} @@ -162,7 +162,7 @@ module Hbc class CaskNoShasumError < CaskSha256Error def to_s - <<-EOS.undent + <<~EOS Cask '#{token}' does not have a sha256 checksum defined and was not installed. This means you have the #{Formatter.identifier("--require-sha")} option set, perhaps in your HOMEBREW_CASK_OPTS. EOS diff --git a/Library/Homebrew/cask/lib/hbc/installer.rb b/Library/Homebrew/cask/lib/hbc/installer.rb index 68b9595e1..1063f488b 100644 --- a/Library/Homebrew/cask/lib/hbc/installer.rb +++ b/Library/Homebrew/cask/lib/hbc/installer.rb @@ -326,7 +326,7 @@ module Hbc ], sudo: true) else - opoo <<-EOS.undent + opoo <<~EOS Accessibility access cannot be enabled automatically on this version of macOS. See System Preferences to enable it manually. EOS @@ -347,7 +347,7 @@ module Hbc ], sudo: true) else - opoo <<-EOS.undent + opoo <<~EOS Accessibility access cannot be disabled automatically on this version of macOS. See System Preferences to disable it manually. EOS diff --git a/Library/Homebrew/cask/lib/hbc/system_command.rb b/Library/Homebrew/cask/lib/hbc/system_command.rb index 9ce3de907..3c8311a3b 100644 --- a/Library/Homebrew/cask/lib/hbc/system_command.rb +++ b/Library/Homebrew/cask/lib/hbc/system_command.rb @@ -166,12 +166,12 @@ module Hbc _warn_plist_garbage(command, Regexp.last_match[2]) xml = Plist.parse_xml(output) unless xml.respond_to?(:keys) && !xml.keys.empty? - raise CaskError, <<-EOS - Empty result parsing plist output from command. - command was: - #{command} - output we attempted to parse: - #{output} + raise CaskError, <<~EOS + Empty result parsing plist output from command. + command was: + #{command} + output we attempted to parse: + #{output} EOS end xml diff --git a/Library/Homebrew/cask/lib/hbc/utils.rb b/Library/Homebrew/cask/lib/hbc/utils.rb index 22f826e74..0f44c0157 100644 --- a/Library/Homebrew/cask/lib/hbc/utils.rb +++ b/Library/Homebrew/cask/lib/hbc/utils.rb @@ -90,7 +90,7 @@ module Hbc end def self.error_message_with_suggestions - <<-EOS.undent + <<~EOS Follow the instructions here: #{Formatter.url(BUG_REPORTS_URL)} EOS diff --git a/Library/Homebrew/cask/lib/hbc/version.rb b/Library/Homebrew/cask/lib/hbc/version.rb index 2eb942b95..c7ce8e2d8 100644 --- a/Library/Homebrew/cask/lib/hbc/version.rb +++ b/Library/Homebrew/cask/lib/hbc/version.rb @@ -1,7 +1,7 @@ module Hbc def self.full_version @full_version ||= begin - <<-EOS.undent + <<~EOS Homebrew-Cask #{HOMEBREW_VERSION} caskroom/homebrew-cask #{Hbc.default_tap.version_string} EOS diff --git a/Library/Homebrew/caveats.rb b/Library/Homebrew/caveats.rb index ef8028339..485116cff 100644 --- a/Library/Homebrew/caveats.rb +++ b/Library/Homebrew/caveats.rb @@ -44,7 +44,7 @@ class Caveats def keg_only_text return unless f.keg_only? - s = <<-EOS.undent + s = <<~EOS This formula is keg-only, which means it was not symlinked into #{HOMEBREW_PREFIX}, because #{f.keg_only_reason.to_s.chomp}. EOS @@ -86,12 +86,12 @@ class Caveats case shell when :bash - <<-EOS.undent + <<~EOS Bash completion has been installed to: #{HOMEBREW_PREFIX}/etc/bash_completion.d EOS when :zsh - <<-EOS.undent + <<~EOS zsh #{installed.join(" and ")} have been installed to: #{HOMEBREW_PREFIX}/share/zsh/site-functions EOS @@ -111,7 +111,7 @@ class Caveats homebrew_site_packages = Language::Python.homebrew_site_packages user_site_packages = Language::Python.user_site_packages "python" pth_file = user_site_packages/"homebrew.pth" - instructions = <<-EOS.undent.gsub(/^/, " ") + instructions = <<~EOS.gsub(/^/, " ") mkdir -p #{user_site_packages} echo 'import site; site.addsitedir("#{homebrew_site_packages}")' >> #{pth_file} EOS @@ -119,7 +119,7 @@ class Caveats if f.keg_only? keg_site_packages = f.opt_prefix/"lib/python2.7/site-packages" unless Language::Python.in_sys_path?("python", keg_site_packages) - s = <<-EOS.undent + s = <<~EOS If you need Python to find bindings for this keg-only formula, run: echo #{keg_site_packages} >> #{homebrew_site_packages/f.name}.pth EOS @@ -131,7 +131,7 @@ class Caveats return if Language::Python.reads_brewed_pth_files?("python") if !Language::Python.in_sys_path?("python", homebrew_site_packages) - s = <<-EOS.undent + s = <<~EOS Python modules have been installed and Homebrew's site-packages is not in your Python sys.path, so you will not be able to import the modules this formula installed. If you plan to develop with these modules, @@ -139,7 +139,7 @@ class Caveats EOS s += instructions elsif keg.python_pth_files_installed? - s = <<-EOS.undent + s = <<~EOS This formula installed .pth files to Homebrew's site-packages and your Python isn't configured to process them, so you will not be able to import the modules this formula installed. If you plan to develop @@ -155,7 +155,7 @@ class Caveats return unless keg return unless keg.elisp_installed? - <<-EOS.undent + <<~EOS Emacs Lisp files have been installed to: #{HOMEBREW_PREFIX}/share/emacs/site-lisp/#{f.name} EOS diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index d8f669e85..290b748de 100644 --- a/Library/Homebrew/cmd/cleanup.rb +++ b/Library/Homebrew/cmd/cleanup.rb @@ -38,7 +38,7 @@ module Homebrew end def report_unremovable_kegs - ofail <<-EOS.undent + ofail <<~EOS Could not cleanup old kegs! Fix your permissions on: #{Cleanup.unremovable_kegs.join "\n "} EOS diff --git a/Library/Homebrew/cmd/diy.rb b/Library/Homebrew/cmd/diy.rb index a8f6440df..3980b3d9e 100644 --- a/Library/Homebrew/cmd/diy.rb +++ b/Library/Homebrew/cmd/diy.rb @@ -43,7 +43,7 @@ module Homebrew detected_name = basename[/(.*?)-?#{Regexp.escape(version)}/, 1] || basename canonical_name = Formulary.canonical_name(detected_name) - odie <<-EOS.undent if detected_name != canonical_name + odie <<~EOS if detected_name != canonical_name The detected name #{detected_name.inspect} exists in Homebrew as an alias of #{canonical_name.inspect}. Consider using the canonical name instead: brew diy --name=#{canonical_name} diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index cca2dca03..7b1778e63 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -43,7 +43,7 @@ module Homebrew out = checks.send(method) next if out.nil? || out.empty? if first_warning - $stderr.puts <<-EOS.undent + $stderr.puts <<~EOS #{Tty.bold}Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks!#{Tty.reset} diff --git a/Library/Homebrew/cmd/gist-logs.rb b/Library/Homebrew/cmd/gist-logs.rb index 012121b08..45537602b 100644 --- a/Library/Homebrew/cmd/gist-logs.rb +++ b/Library/Homebrew/cmd/gist-logs.rb @@ -29,7 +29,7 @@ module Homebrew files["00.config.out"] = { content: s.string } files["00.doctor.out"] = { content: `brew doctor 2>&1` } unless f.core_formula? - tap = <<-EOS.undent + tap = <<~EOS Formula: #{f.name} Tap: #{f.tap} Path: #{f.path} @@ -47,7 +47,7 @@ module Homebrew if ARGV.include?("--new-issue") || ARGV.switch?("n") if GitHub.api_credentials_type == :none - puts <<-EOS.undent + puts <<~EOS You can create a new personal access token: #{GitHub::ALL_SCOPES_URL} and then set the new HOMEBREW_GITHUB_API_TOKEN as the authentication method. @@ -64,7 +64,7 @@ module Homebrew def brief_build_info(f) build_time_str = f.logs.ctime.strftime("%Y-%m-%d %H:%M:%S") - s = <<-EOS.undent + s = <<~EOS Homebrew build logs for #{f.full_name} on #{OS_VERSION} EOS if ARGV.include?("--with-hostname") diff --git a/Library/Homebrew/cmd/help.rb b/Library/Homebrew/cmd/help.rb index a0c44854b..c85916f9b 100644 --- a/Library/Homebrew/cmd/help.rb +++ b/Library/Homebrew/cmd/help.rb @@ -1,4 +1,4 @@ -HOMEBREW_HELP = <<-EOS.unindent.freeze +HOMEBREW_HELP = <<~EOS.freeze Example usage: brew search [TEXT|/REGEX/] brew (info|home|options) [FORMULA...] diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 6ee24a7fa..83bb712ab 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -128,7 +128,7 @@ module Homebrew "#{c.name}#{reason}" end.sort! unless conflicts.empty? - puts <<-EOS.undent + puts <<~EOS Conflicts with: #{conflicts.join("\n ")} EOS diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index ca8f29477..575dbc4b3 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -110,17 +110,17 @@ module Homebrew ARGV.formulae.each do |f| # head-only without --HEAD is an error if !ARGV.build_head? && f.stable.nil? && f.devel.nil? - raise <<-EOS.undent - #{f.full_name} is a head-only formula - Install with `brew install --HEAD #{f.full_name}` + raise <<~EOS + #{f.full_name} is a head-only formula + Install with `brew install --HEAD #{f.full_name}` EOS end # devel-only without --devel is an error if !ARGV.build_devel? && f.stable.nil? && f.head.nil? - raise <<-EOS.undent - #{f.full_name} is a devel-only formula - Install with `brew install --devel #{f.full_name}` + raise <<~EOS + #{f.full_name} is a devel-only formula + Install with `brew install --devel #{f.full_name}` EOS end @@ -150,12 +150,12 @@ module Homebrew # sure --force flag is passed. if f.outdated? optlinked_version = Keg.for(f.opt_prefix).version - onoe <<-EOS.undent + onoe <<~EOS #{f.full_name} #{optlinked_version} is already installed To upgrade to #{f.version}, run `brew upgrade #{f.name}` EOS else - opoo <<-EOS.undent + opoo <<~EOS #{f.full_name} #{f.pkg_version} is already installed EOS end @@ -173,13 +173,13 @@ module Homebrew msg = "#{f.full_name} #{installed_version} is already installed" linked_not_equals_installed = f.linked_version != installed_version if f.linked? && linked_not_equals_installed - msg = <<-EOS.undent + msg = <<~EOS #{msg} The currently linked version is #{f.linked_version} You can use `brew switch #{f} #{installed_version}` to link this version. EOS elsif !f.linked? || f.keg_only? - msg = <<-EOS.undent + msg = <<~EOS #{msg}, it's just not linked. You can use `brew link #{f}` to link this version. EOS @@ -188,7 +188,7 @@ module Homebrew elsif !f.any_version_installed? && old_formula = f.old_installed_formulae.first msg = "#{old_formula.full_name} #{old_formula.installed_version} already installed" if !old_formula.linked? && !old_formula.keg_only? - msg = <<-EOS.undent + msg = <<~EOS #{msg}, it's just not linked. You can use `brew link #{old_formula.full_name}` to link this version. EOS @@ -197,7 +197,7 @@ module Homebrew elsif f.migration_needed? && !ARGV.force? # Check if the formula we try to install is the same as installed # but not migrated one. If --force passed then install anyway. - opoo <<-EOS.undent + opoo <<~EOS #{f.oldname} already installed, it's just not migrated You can migrate formula with `brew migrate #{f}` Or you can force install it with `brew install #{f} --force` @@ -283,7 +283,7 @@ module Homebrew def check_ppc case Hardware::CPU.type when :ppc - abort <<-EOS.undent + abort <<~EOS Sorry, Homebrew does not support your computer's CPU architecture. For PPC support, see: https://github.com/mistydemeo/tigerbrew EOS @@ -308,7 +308,7 @@ module Homebrew def check_cellar FileUtils.mkdir_p HOMEBREW_CELLAR unless File.exist? HOMEBREW_CELLAR rescue - raise <<-EOS.undent + raise <<~EOS Could not create #{HOMEBREW_CELLAR} Check you have permission to write to #{HOMEBREW_CELLAR.parent} EOS diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb index 6c4b912e8..5afb19ed6 100644 --- a/Library/Homebrew/cmd/link.rb +++ b/Library/Homebrew/cmd/link.rb @@ -29,7 +29,7 @@ module Homebrew keg_only = keg_only?(keg.rack) if HOMEBREW_PREFIX.to_s == "/usr/local" && keg_only && keg.name.start_with?("openssl", "libressl") - opoo <<-EOS.undent + opoo <<~EOS Refusing to link: #{keg.name} Linking keg-only #{keg.name} means you may end up linking against the insecure, deprecated system OpenSSL while using the headers from Homebrew's #{keg.name}. diff --git a/Library/Homebrew/cmd/linkapps.rb b/Library/Homebrew/cmd/linkapps.rb index 8713b609e..e8d482529 100644 --- a/Library/Homebrew/cmd/linkapps.rb +++ b/Library/Homebrew/cmd/linkapps.rb @@ -19,7 +19,7 @@ module Homebrew module_function def linkapps - opoo <<-EOS.undent + opoo <<~EOS `brew linkapps` has been deprecated and will eventually be removed! Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using diff --git a/Library/Homebrew/cmd/log.rb b/Library/Homebrew/cmd/log.rb index 9323c762d..898e921ba 100644 --- a/Library/Homebrew/cmd/log.rb +++ b/Library/Homebrew/cmd/log.rb @@ -31,7 +31,7 @@ module Homebrew end if File.exist? "#{repo}/.git/shallow" - opoo <<-EOS.undent + opoo <<~EOS #{name} is a shallow clone so only partial output will be shown. To get a full clone run: git -C "#{git_cd}" fetch --unshallow diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index d0f85a858..4ba5247f1 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -87,7 +87,7 @@ module Homebrew arg.include?(char) && !arg.start_with?("/") end end - ohai <<-EOS.undent + ohai <<~EOS Did you mean to perform a regular expression search? Surround your query with /slashes/ to search locally by regex. EOS diff --git a/Library/Homebrew/cmd/sh.rb b/Library/Homebrew/cmd/sh.rb index 69f329cb3..3fe5f3005 100644 --- a/Library/Homebrew/cmd/sh.rb +++ b/Library/Homebrew/cmd/sh.rb @@ -27,14 +27,14 @@ module Homebrew end ENV["PS1"] = 'brew \[\033[1;32m\]\w\[\033[0m\]$ ' ENV["VERBOSE"] = "1" - puts <<-EOS.undent_________________________________________________________72 - Your shell has been configured to use Homebrew's build environment; - this should help you build stuff. Notably though, the system versions of - gem and pip will ignore our configuration and insist on using the - environment they were built under (mostly). Sadly, scons will also - ignore our configuration. - When done, type `exit'. - EOS + puts <<~EOS + Your shell has been configured to use Homebrew's build environment; + this should help you build stuff. Notably though, the system versions of + gem and pip will ignore our configuration and insist on using the + environment they were built under (mostly). Sadly, scons will also + ignore our configuration. + When done, type `exit'. + EOS $stdout.flush exec ENV["SHELL"] end diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb index 4839ba1e0..f95b6c7bb 100644 --- a/Library/Homebrew/cmd/uninstall.rb +++ b/Library/Homebrew/cmd/uninstall.rb @@ -131,7 +131,7 @@ module Homebrew class DeveloperDependentsMessage < DependentsMessage def output - opoo <<-EOS.undent + opoo <<~EOS #{list reqs} #{are_required_by_deps}. You can silence this warning with: #{sample_command} @@ -141,7 +141,7 @@ module Homebrew class NondeveloperDependentsMessage < DependentsMessage def output - ofail <<-EOS.undent + ofail <<~EOS Refusing to uninstall #{list reqs} because #{they reqs} #{are_required_by_deps}. You can override this and force removal with: diff --git a/Library/Homebrew/cmd/unlinkapps.rb b/Library/Homebrew/cmd/unlinkapps.rb index 56dba3603..7f401aaeb 100644 --- a/Library/Homebrew/cmd/unlinkapps.rb +++ b/Library/Homebrew/cmd/unlinkapps.rb @@ -20,7 +20,7 @@ module Homebrew module_function def unlinkapps - opoo <<-EOS.undent + opoo <<~EOS `brew unlinkapps` has been deprecated and will eventually be removed! Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" `.app` bundles that can be relocated. Instead, please consider using `brew cask` and migrate formulae using `.app`s to casks. diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index e3d3c10bb..98823a152 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -33,7 +33,7 @@ module Homebrew # Use an extra newline and bold to avoid this being missed. ohai "Homebrew has enabled anonymous aggregate user behaviour analytics." - puts <<-EOS.undent + puts <<~EOS #{Tty.bold}Read the analytics documentation (and how to opt-out) here: #{Formatter.url("https://docs.brew.sh/Analytics.html")}#{Tty.reset} @@ -167,7 +167,7 @@ module Homebrew end if @migration_failed - opoo <<-EOS.undent + opoo <<~EOS Failed to migrate #{legacy_cache} to #{HOMEBREW_CACHE}. Please do so manually. EOS @@ -176,7 +176,7 @@ module Homebrew FileUtils.rm_rf legacy_cache if legacy_cache.exist? FileUtils.touch migration_attempted_file - opoo <<-EOS.undent + opoo <<~EOS Failed to delete #{legacy_cache}. Please do so manually. EOS @@ -191,7 +191,7 @@ module Homebrew ohai "Migrating HOMEBREW_REPOSITORY (please wait)..." unless HOMEBREW_PREFIX.writable_real? - ofail <<-EOS.undent + ofail <<~EOS #{HOMEBREW_PREFIX} is not writable. You should change the ownership and permissions of #{HOMEBREW_PREFIX} @@ -205,7 +205,7 @@ module Homebrew new_homebrew_repository = Pathname.new "/usr/local/Homebrew" new_homebrew_repository.rmdir_if_possible if new_homebrew_repository.exist? - ofail <<-EOS.undent + ofail <<~EOS #{new_homebrew_repository} already exists. Please remove it manually or uninstall and reinstall Homebrew into a new location as the migration cannot be done automatically. @@ -258,7 +258,7 @@ module Homebrew end unless unremovable_paths.empty? - ofail <<-EOS.undent + ofail <<~EOS Could not remove old HOMEBREW_REPOSITORY paths! Please do this manually with: sudo rm -rf #{unremovable_paths.join " "} @@ -274,7 +274,7 @@ module Homebrew begin FileUtils.ln_s(src.relative_path_from(dst.parent), dst) rescue Errno::EACCES, Errno::ENOENT - ofail <<-EOS.undent + ofail <<~EOS Could not create symlink at #{dst}! Please do this manually with: sudo ln -sf #{src} #{dst} @@ -285,13 +285,13 @@ module Homebrew link_completions_manpages_and_docs(new_homebrew_repository) ohai "Migrated HOMEBREW_REPOSITORY to #{new_homebrew_repository}!" - puts <<-EOS.undent + puts <<~EOS Homebrew no longer needs to have ownership of /usr/local. If you wish you can return /usr/local to its default ownership with: sudo chown root:wheel #{HOMEBREW_PREFIX} EOS rescue => e - ofail <<-EOS.undent + ofail <<~EOS #{Tty.bold}Failed to migrate HOMEBREW_REPOSITORY to #{new_homebrew_repository}!#{Tty.reset} The error was: #{e} @@ -309,7 +309,7 @@ module Homebrew Utils::Link.link_manpages(repository, command) Utils::Link.link_docs(repository, command) rescue => e - ofail <<-EOS.undent + ofail <<~EOS Failed to link all completions, docs and manpages: #{e} EOS @@ -449,7 +449,7 @@ class Reporter next unless (HOMEBREW_PREFIX/"Caskroom"/new_name).exist? new_tap = Tap.fetch(new_tap_name) new_tap.install unless new_tap.installed? - ohai "#{name} has been moved to Homebrew.", <<-EOS.undent + ohai "#{name} has been moved to Homebrew.", <<~EOS To uninstall the cask run: brew cask uninstall --force #{name} EOS @@ -480,14 +480,14 @@ class Reporter system HOMEBREW_BREW_FILE, "prune" ohai "brew cask install #{new_name}" system HOMEBREW_BREW_FILE, "cask", "install", new_name - ohai <<-EOS.undent + ohai <<~EOS #{name} has been moved to Homebrew-Cask. The existing keg has been unlinked. Please uninstall the formula when convenient by running: brew uninstall --force #{name} EOS else - ohai "#{name} has been moved to Homebrew-Cask.", <<-EOS.undent + ohai "#{name} has been moved to Homebrew-Cask.", <<~EOS To uninstall the formula and install the cask run: brew uninstall --force #{name} brew cask install #{new_name} diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index f1ce3c7da..de886ff3d 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -26,7 +26,7 @@ module Homebrew Homebrew.perform_preinstall_checks if ARGV.include?("--all") - opoo <<-EOS.undent + opoo <<~EOS We decided to not change the behaviour of `brew upgrade` so `brew upgrade --all` is equivalent to `brew upgrade` without any other arguments (so the `--all` is a no-op and can be removed). diff --git a/Library/Homebrew/compat/formula_specialties.rb b/Library/Homebrew/compat/formula_specialties.rb index 78966625e..3f8102575 100644 --- a/Library/Homebrew/compat/formula_specialties.rb +++ b/Library/Homebrew/compat/formula_specialties.rb @@ -31,7 +31,7 @@ class AmazonWebServicesFormula < Formula def standard_instructions(home_name, home_value = libexec) odeprecated "AmazonWebServicesFormula#standard_instructions", "Formula#caveats" - <<-EOS.undent + <<~EOS Before you can use these tools you must export some variables to your $SHELL. To export the needed variables, add them to your dotfiles. diff --git a/Library/Homebrew/compat/hbc/cli.rb b/Library/Homebrew/compat/hbc/cli.rb index 0173bce9c..60d298ed6 100644 --- a/Library/Homebrew/compat/hbc/cli.rb +++ b/Library/Homebrew/compat/hbc/cli.rb @@ -5,7 +5,7 @@ module Hbc include Options option "--binarydir=PATH", (lambda do |*| - opoo <<-EOS.undent + opoo <<~EOS Option --binarydir is obsolete! Homebrew-Cask now uses the same location as your Homebrew installation for executable links. EOS diff --git a/Library/Homebrew/cxxstdlib.rb b/Library/Homebrew/cxxstdlib.rb index 8a67a9c53..7a833c92c 100644 --- a/Library/Homebrew/cxxstdlib.rb +++ b/Library/Homebrew/cxxstdlib.rb @@ -5,7 +5,7 @@ class CxxStdlib class CompatibilityError < StandardError def initialize(formula, dep, stdlib) - super <<-EOS.undent + super <<~EOS #{formula.full_name} dependency #{dep.name} was built with a different C++ standard library (#{stdlib.type_string} from #{stdlib.compiler}). This may cause problems at runtime. EOS diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index a9d27afa9..ec26eb9cd 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -368,7 +368,7 @@ class FormulaAuditor if valid_versioned_aliases.empty? if formula.tap - problem <<-EOS.undent + problem <<~EOS Formula has other versions so create a versioned alias: cd #{formula.tap.alias_dir} ln -s #{formula.path.to_s.gsub(formula.tap.path, "..")} #{alias_name} @@ -379,7 +379,7 @@ class FormulaAuditor end unless invalid_versioned_aliases.empty? - problem <<-EOS.undent + problem <<~EOS Formula has invalid versioned aliases: #{invalid_versioned_aliases.join("\n ")} EOS @@ -476,7 +476,7 @@ class FormulaAuditor when "gfortran" problem "Use `depends_on :fortran` instead of `depends_on 'gfortran'`" when "ruby" - problem <<-EOS.undent + problem <<~EOS Don't use "ruby" as a dependency. If this formula requires a minimum Ruby version not provided by the system you should use the RubyRequirement: @@ -484,7 +484,7 @@ class FormulaAuditor where "1.8" is the minimum version of Ruby required. EOS when "open-mpi", "mpich" - problem <<-EOS.undent + problem <<~EOS There are multiple conflicting ways to install MPI. Use an MPIRequirement: depends_on :mpi => [<lang list>] Where <lang list> is a comma delimited list that can include: @@ -492,7 +492,7 @@ class FormulaAuditor EOS when *BUILD_TIME_DEPS next if dep.build? || dep.run? - problem <<-EOS.undent + problem <<~EOS #{dep} dependency should be depends_on "#{dep}" => :build Or if it is indeed a runtime dependency @@ -541,7 +541,7 @@ class FormulaAuditor first_word = reason.split[0] if reason =~ /\A[A-Z]/ && !reason.start_with?(*whitelist) - problem <<-EOS.undent + problem <<~EOS '#{first_word}' from the keg_only reason should be '#{first_word.downcase}'. EOS end @@ -1010,7 +1010,7 @@ class FormulaAuditor return unless formula.tap&.official? return unless formula.tap.tap_migrations.key?(formula.name) - problem <<-EOS.undent + problem <<~EOS #{formula.name} seems to be listed in tap_migrations.json! Please remove #{formula.name} from present tap & tap_migrations.json before submitting it to Homebrew/homebrew-#{formula.tap.repo}. @@ -1021,7 +1021,7 @@ class FormulaAuditor return unless formula.prefix.directory? return unless Keg.new(formula.prefix).empty_installation? - problem <<-EOS.undent + problem <<~EOS The installation seems to be empty. Please ensure the prefix is set correctly and expected files are installed. The prefix configure/make argument may be case-sensitive. diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index fb862c773..a54211f5c 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -324,7 +324,7 @@ module Homebrew "#{key}: old: #{old_value}, new: #{value}" end - odie <<-EOS.undent + odie <<~EOS --keep-old was passed but there are changes in: #{mismatches.join("\n")} EOS @@ -428,7 +428,7 @@ module Homebrew end unless mismatches.empty? - odie <<-EOS.undent + odie <<~EOS --keep-old was passed but there are changes in: #{mismatches.join("\n")} EOS diff --git a/Library/Homebrew/dev-cmd/bump-formula-pr.rb b/Library/Homebrew/dev-cmd/bump-formula-pr.rb index 87d8274cc..fe7e6be3d 100644 --- a/Library/Homebrew/dev-cmd/bump-formula-pr.rb +++ b/Library/Homebrew/dev-cmd/bump-formula-pr.rb @@ -91,7 +91,7 @@ module Homebrew pull_requests = fetch_pull_requests(formula) return unless pull_requests return if pull_requests.empty? - duplicates_message = <<-EOS.undent + duplicates_message = <<~EOS These open pull requests may be duplicates: #{pull_requests.map { |pr| "#{pr["title"]} #{pr["html_url"]}" }.join("\n")} EOS @@ -101,7 +101,7 @@ module Homebrew elsif !ARGV.force? && ARGV.flag?("--quiet") odie error_message elsif !ARGV.force? - odie <<-EOS.undent + odie <<~EOS #{duplicates_message.chomp} #{error_message} EOS @@ -247,13 +247,13 @@ module Homebrew if new_formula_version < old_formula_version formula.path.atomic_write(backup_file) unless ARGV.dry_run? - odie <<-EOS.undent + odie <<~EOS You probably need to bump this formula manually since changing the version from #{old_formula_version} to #{new_formula_version} would be a downgrade. EOS elsif new_formula_version == old_formula_version formula.path.atomic_write(backup_file) unless ARGV.dry_run? - odie <<-EOS.undent + odie <<~EOS You probably need to bump this formula manually since the new version and old version are both #{new_formula_version}. EOS @@ -312,17 +312,15 @@ module Homebrew remote = Utils.popen_read("hub fork 2>&1")[/remote:? (\S+)/, 1] if remote.to_s.empty? odie "cannot get remote from 'hub'!" if remote.to_s.empty? safe_system "git", "push", "--set-upstream", remote, "#{branch}:#{branch}" - pr_message = <<-EOS.undent + pr_message = <<~EOS #{formula.name} #{new_formula_version}#{devel_message} Created with `brew bump-formula-pr`. EOS user_message = ARGV.value("message") if user_message - pr_message += <<-EOS.undent - + pr_message += <<~EOS --- - #{user_message} EOS end diff --git a/Library/Homebrew/dev-cmd/create.rb b/Library/Homebrew/dev-cmd/create.rb index e423842ba..e5481b532 100644 --- a/Library/Homebrew/dev-cmd/create.rb +++ b/Library/Homebrew/dev-cmd/create.rb @@ -71,7 +71,7 @@ module Homebrew if Formula.aliases.include? fc.name realname = Formulary.canonical_name(fc.name) - raise <<-EOS.undent + raise <<~EOS The formula #{realname} is already aliased to #{fc.name} Please check that you are not creating a duplicate. To force creation use --force. @@ -165,7 +165,7 @@ class FormulaCreator path.write ERB.new(template, nil, ">").result(binding) end - def template; <<-EOS.undent + def template; <<~EOS # Documentation: https://docs.brew.sh/Formula-Cookbook.html # http://www.rubydoc.info/github/Homebrew/brew/master/Formula # PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST! diff --git a/Library/Homebrew/dev-cmd/edit.rb b/Library/Homebrew/dev-cmd/edit.rb index b1e485fe2..0039b4cce 100644 --- a/Library/Homebrew/dev-cmd/edit.rb +++ b/Library/Homebrew/dev-cmd/edit.rb @@ -11,7 +11,7 @@ module Homebrew def edit unless (HOMEBREW_REPOSITORY/".git").directory? - raise <<-EOS.undent + raise <<~EOS Changes will be lost! The first time you `brew update', all local changes will be lost, you should thus `brew update' before you `brew edit'! diff --git a/Library/Homebrew/dev-cmd/mirror.rb b/Library/Homebrew/dev-cmd/mirror.rb index 6445bc34c..bf19ee3c5 100644 --- a/Library/Homebrew/dev-cmd/mirror.rb +++ b/Library/Homebrew/dev-cmd/mirror.rb @@ -20,7 +20,7 @@ module Homebrew package_url = "#{bintray_repo_url}/#{bintray_package}" unless system "curl", "--silent", "--fail", "--output", "/dev/null", package_url - package_blob = <<-EOS.undent + package_blob = <<~EOS {"name": "#{bintray_package}", "public_download_numbers": true, "public_stats": true} diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb index 964ba2f5d..1c3bf20eb 100644 --- a/Library/Homebrew/dev-cmd/tap-new.rb +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -24,7 +24,7 @@ module Homebrew (tap.path/"Formula").mkpath - readme = <<-EOS.undent + readme = <<~EOS # #{titleized_user} #{titleized_repo} ## How do I install these formulae? @@ -43,7 +43,7 @@ module Homebrew EOS write_path(tap, "README.md", readme) - travis = <<-EOS.undent + travis = <<~EOS language: ruby os: osx env: OSX=10.12 diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb index 1f1cdbeed..ee189ad5e 100644 --- a/Library/Homebrew/dev-cmd/update-test.rb +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -88,7 +88,7 @@ module Homebrew safe_system "brew", "update", "--verbose" actual_end_commit = Utils.popen_read("git", "rev-parse", branch).chomp if start_commit != end_commit && start_commit == actual_end_commit - raise <<-EOS.undent + raise <<~EOS brew update didn't update #{branch}! Start commit: #{start_commit} Expected end commit: #{end_commit} diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 9ab83c1a2..88d461e0a 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -92,7 +92,7 @@ module Homebrew def check_for_installed_developer_tools return if DevelopmentTools.installed? - <<-EOS.undent + <<~EOS No developer tools installed. #{DevelopmentTools.installation_instructions} EOS @@ -101,7 +101,7 @@ module Homebrew def check_build_from_source return unless ENV["HOMEBREW_BUILD_FROM_SOURCE"] - <<-EOS.undent + <<~EOS You have HOMEBREW_BUILD_FROM_SOURCE set. This environment variable is intended for use by Homebrew developers. If you are encountering errors, please try unsetting this. Please do not file issues if you encounter @@ -114,7 +114,7 @@ module Homebrew bad_paths = PATH.new(ENV["HOMEBREW_PATH"]).select { |p| p.end_with?("/") } return if bad_paths.empty? - inject_file_list bad_paths, <<-EOS.undent + inject_file_list bad_paths, <<~EOS Some directories in your path end in a slash. Directories in your path should not end in a slash. This can break other doctor checks. The following directories should be edited: @@ -136,7 +136,7 @@ module Homebrew # Only warn if Python lives with Anaconda, since is most problematic case. return unless python_directory == anaconda_directory - <<-EOS.undent + <<~EOS Anaconda is known to frequently break Homebrew builds, including Vim and MacVim, due to bundling many duplicates of system and Homebrew-available tools. @@ -182,7 +182,7 @@ module Homebrew "sentinel.dylib", # SentinelOne ] - __check_stray_files "/usr/local/lib", "*.dylib", white_list, <<-EOS.undent + __check_stray_files "/usr/local/lib", "*.dylib", white_list, <<~EOS Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. @@ -209,7 +209,7 @@ module Homebrew "libtrustedcomponents.a", # Symantec Endpoint Protection ] - __check_stray_files "/usr/local/lib", "*.a", white_list, <<-EOS.undent + __check_stray_files "/usr/local/lib", "*.a", white_list, <<~EOS Unbrewed static libraries were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. @@ -229,7 +229,7 @@ module Homebrew "libublio.pc", # NTFS-3G ] - __check_stray_files "/usr/local/lib/pkgconfig", "*.pc", white_list, <<-EOS.undent + __check_stray_files "/usr/local/lib/pkgconfig", "*.pc", white_list, <<~EOS Unbrewed .pc files were found in /usr/local/lib/pkgconfig. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. @@ -250,7 +250,7 @@ module Homebrew "libublio.la", # NTFS-3G ] - __check_stray_files "/usr/local/lib", "*.la", white_list, <<-EOS.undent + __check_stray_files "/usr/local/lib", "*.la", white_list, <<~EOS Unbrewed .la files were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. @@ -269,7 +269,7 @@ module Homebrew "ntfs-3g/**/*.h", # NTFS-3G ] - __check_stray_files "/usr/local/include", "**/*.h", white_list, <<-EOS.undent + __check_stray_files "/usr/local/include", "**/*.h", white_list, <<~EOS Unbrewed header files were found in /usr/local/include. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. @@ -291,7 +291,7 @@ module Homebrew end return if broken_symlinks.empty? - inject_file_list broken_symlinks, <<-EOS.undent + inject_file_list broken_symlinks, <<~EOS Broken symlinks were found. Remove them with `brew prune`: EOS end @@ -300,7 +300,7 @@ module Homebrew world_writable = HOMEBREW_TEMP.stat.mode & 0777 == 0777 return if !world_writable || HOMEBREW_TEMP.sticky? - <<-EOS.undent + <<~EOS #{HOMEBREW_TEMP} is world-writable but does not have the sticky bit set. Please execute `sudo chmod +t #{HOMEBREW_TEMP}` in your Terminal. EOS @@ -309,7 +309,7 @@ module Homebrew def check_access_homebrew_repository return if HOMEBREW_REPOSITORY.writable_real? - <<-EOS.undent + <<~EOS #{HOMEBREW_REPOSITORY} is not writable. You should change the ownership and permissions of #{HOMEBREW_REPOSITORY} @@ -330,7 +330,7 @@ module Homebrew return if not_writable_dirs.empty? - <<-EOS.undent + <<~EOS The following directories are not writable: #{not_writable_dirs.join("\n")} @@ -348,7 +348,7 @@ module Homebrew return unless Language::Python.homebrew_site_packages.exist? return if Language::Python.homebrew_site_packages.writable_real? - <<-EOS.undent + <<~EOS #{Language::Python.homebrew_site_packages} isn't writable. This can happen if you "sudo pip install" software that isn't managed by Homebrew. If you install a formula with Python modules, the install @@ -364,7 +364,7 @@ module Homebrew return unless HOMEBREW_LOCK_DIR.exist? return if HOMEBREW_LOCK_DIR.writable_real? - <<-EOS.undent + <<~EOS #{HOMEBREW_LOCK_DIR} isn't writable. Homebrew writes lock files to this location. @@ -378,7 +378,7 @@ module Homebrew return unless HOMEBREW_LOGS.exist? return if HOMEBREW_LOGS.writable_real? - <<-EOS.undent + <<~EOS #{HOMEBREW_LOGS} isn't writable. Homebrew writes debugging logs to this location. @@ -392,7 +392,7 @@ module Homebrew return unless HOMEBREW_CACHE.exist? return if HOMEBREW_CACHE.writable_real? - <<-EOS.undent + <<~EOS #{HOMEBREW_CACHE} isn't writable. This can happen if you run `brew install` or `brew fetch` as another user. Homebrew caches downloaded files to this location. @@ -407,7 +407,7 @@ module Homebrew return unless HOMEBREW_CELLAR.exist? return if HOMEBREW_CELLAR.writable_real? - <<-EOS.undent + <<~EOS #{HOMEBREW_CELLAR} isn't writable. You should change the ownership and permissions of #{HOMEBREW_CELLAR} @@ -421,7 +421,7 @@ module Homebrew return unless (HOMEBREW_REPOSITORY/"Cellar").exist? return unless (HOMEBREW_PREFIX/"Cellar").exist? - <<-EOS.undent + <<~EOS You have multiple Cellars. You should delete #{HOMEBREW_REPOSITORY}/Cellar: rm -rf #{HOMEBREW_REPOSITORY}/Cellar @@ -445,13 +445,13 @@ module Homebrew .select { |bn| File.exist? "/usr/bin/#{bn}" } unless conflicts.empty? - message = inject_file_list conflicts, <<-EOS.undent + message = inject_file_list conflicts, <<~EOS /usr/bin occurs before #{HOMEBREW_PREFIX}/bin This means that system-provided programs will be used instead of those provided by Homebrew. The following tools exist at both paths: EOS - message += <<-EOS.undent + message += <<~EOS Consider setting your PATH so that #{HOMEBREW_PREFIX}/bin occurs before /usr/bin. Here is a one-liner: @@ -472,7 +472,7 @@ module Homebrew def check_user_path_2 return if @seen_prefix_bin - <<-EOS.undent + <<~EOS Homebrew's bin was not found in your PATH. Consider setting the PATH for example like so #{Utils::Shell.prepend_path_in_profile("#{HOMEBREW_PREFIX}/bin")} @@ -486,7 +486,7 @@ module Homebrew sbin = HOMEBREW_PREFIX/"sbin" return unless sbin.directory? && !sbin.children.empty? - <<-EOS.undent + <<~EOS Homebrew's sbin was not found in your PATH but you have installed formulae that put executables in #{HOMEBREW_PREFIX}/sbin. Consider setting the PATH for example like so @@ -500,7 +500,7 @@ module Homebrew end return unless curlrc_found - <<-EOS.undent + <<~EOS You have a curlrc file If you have trouble downloading packages with Homebrew, then maybe this is the problem? If the following command doesn't work, then try removing @@ -526,7 +526,7 @@ module Homebrew end return if gettext&.linked_keg&.directory? && homebrew_owned - inject_file_list @found, <<-EOS.undent + inject_file_list @found, <<~EOS gettext files detected at a system prefix. These files can cause compilation and link failures, especially if they are compiled with improper architectures. Consider removing these files: @@ -544,13 +544,13 @@ module Homebrew end if libiconv&.linked_keg&.directory? unless libiconv.keg_only? - <<-EOS.undent + <<~EOS A libiconv formula is installed and linked. This will break stuff. For serious. Unlink it. EOS end else - inject_file_list @found, <<-EOS.undent + inject_file_list @found, <<~EOS libiconv files detected at a system prefix other than /usr. Homebrew doesn't provide a libiconv formula, and expects to link against the system version in /usr. libiconv in other prefixes can cause @@ -588,7 +588,7 @@ module Homebrew return if scripts.empty? - inject_file_list scripts, <<-EOS.undent + inject_file_list scripts, <<~EOS "config" scripts exist outside your system or Homebrew directories. `./configure` scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when @@ -605,13 +605,13 @@ module Homebrew return if dyld_vars.empty? values = dyld_vars.map { |var| "#{var}: #{ENV.fetch(var)}" } - message = inject_file_list values, <<-EOS.undent + message = inject_file_list values, <<~EOS Setting DYLD_* vars can break dynamic linking. Set variables: EOS if dyld_vars.include? "DYLD_INSERT_LIBRARIES" - message += <<-EOS.undent + message += <<~EOS Setting DYLD_INSERT_LIBRARIES can cause Go builds to fail. Having this set is common if you use this software: @@ -624,7 +624,7 @@ module Homebrew def check_ssl_cert_file return unless ENV.key?("SSL_CERT_FILE") - <<-EOS.undent + <<~EOS Setting SSL_CERT_FILE can break downloading files; if that happens you should unset it before running Homebrew. @@ -638,7 +638,7 @@ module Homebrew return unless HOMEBREW_CELLAR.exist? return unless HOMEBREW_CELLAR.symlink? - <<-EOS.undent + <<~EOS Symlinked Cellars can cause problems. Your Homebrew Cellar is a symlink: #{HOMEBREW_CELLAR} which resolves to: #{HOMEBREW_CELLAR.realpath} @@ -675,7 +675,7 @@ module Homebrew return if where_cellar == where_tmp - <<-EOS.undent + <<~EOS Your Cellar and TEMP directories are on different volumes. macOS won't move relative symlinks across volumes unless the target file already exists. Brews known to be affected by this are Git and Narwhal. @@ -692,7 +692,7 @@ module Homebrew git = Formula["git"] git_upgrade_cmd = git.any_version_installed? ? "upgrade" : "install" - <<-EOS.undent + <<~EOS An outdated version (#{Utils.git_version}) of Git was detected in your PATH. Git 1.8.5 or newer is required to perform checkouts over HTTPS from GitHub and to support the 'git -C <path>' option. @@ -704,7 +704,7 @@ module Homebrew def check_for_git return if Utils.git_available? - <<-EOS.undent + <<~EOS Git could not be found in your PATH. Homebrew uses Git for several internal functions, and some formulae use Git checkouts instead of stable tarballs. You may want to install Git: @@ -718,7 +718,7 @@ module Homebrew autocrlf = HOMEBREW_REPOSITORY.cd { `git config --get core.autocrlf`.chomp } return unless autocrlf == "true" - <<-EOS.undent + <<~EOS Suspicious Git newline settings found. The detected Git newline settings will cause checkout problems: @@ -736,7 +736,7 @@ module Homebrew origin = HOMEBREW_REPOSITORY.git_origin if origin.nil? - <<-EOS.undent + <<~EOS Missing Homebrew/brew git origin remote. Without a correctly configured origin, Homebrew won't update @@ -744,7 +744,7 @@ module Homebrew git -C "#{HOMEBREW_REPOSITORY}" remote add origin #{Formatter.url("https://github.com/Homebrew/brew.git")} EOS elsif origin !~ %r{Homebrew/brew(\.git|/)?$} - <<-EOS.undent + <<~EOS Suspicious Homebrew/brew git origin remote found. With a non-standard origin, Homebrew won't pull updates from @@ -765,7 +765,7 @@ module Homebrew origin = coretap_path.git_origin if origin.nil? - <<-EOS.undent + <<~EOS Missing #{CoreTap.instance} git origin remote. Without a correctly configured origin, Homebrew won't update @@ -775,7 +775,7 @@ module Homebrew elsif origin !~ %r{Homebrew/homebrew-core(\.git|/)?$} return if ENV["CI"] && origin.include?("Homebrew/homebrew-test-bot") - <<-EOS.undent + <<~EOS Suspicious #{CoreTap.instance} git origin remote found. With a non-standard origin, Homebrew won't pull updates from @@ -793,7 +793,7 @@ module Homebrew branch = coretap_path.git_branch return if branch.nil? || branch =~ /master/ - <<-EOS.undent + <<~EOS Homebrew/homebrew-core is not on the master branch Check out the master branch by running: @@ -821,7 +821,7 @@ module Homebrew end return if linked.empty? - inject_file_list linked.map(&:full_name), <<-EOS.undent + inject_file_list linked.map(&:full_name), <<~EOS Some keg-only formula are linked into the Cellar. Linking a keg-only formula, such as gettext, into the cellar with `brew link <formula>` will cause other formulae to detect them during @@ -847,7 +847,7 @@ module Homebrew .select { |framework| File.exist? framework } return if frameworks_found.empty? - inject_file_list frameworks_found, <<-EOS.undent + inject_file_list frameworks_found, <<~EOS Some frameworks can be picked up by CMake's build system and likely cause the build to fail. To compile CMake, you may wish to move these out of the way: @@ -858,7 +858,7 @@ module Homebrew tmpdir = ENV["TMPDIR"] return if tmpdir.nil? || File.directory?(tmpdir) - <<-EOS.undent + <<~EOS TMPDIR #{tmpdir.inspect} doesn't exist. EOS end @@ -871,7 +871,7 @@ module Homebrew end return if missing.empty? - <<-EOS.undent + <<~EOS Some installed formula are missing dependencies. You should `brew install` the missing dependencies: brew install #{missing.sort_by(&:full_name) * " "} @@ -886,7 +886,7 @@ module Homebrew return if `git status --untracked-files=all --porcelain -- Library/Homebrew/ 2>/dev/null`.chomp.empty? end - <<-EOS.undent + <<~EOS You have uncommitted modifications to Homebrew If this is a surprise to you, then you should stash these modifications. Stashing returns Homebrew to a pristine state but can be undone @@ -898,7 +898,7 @@ module Homebrew def check_for_enthought_python return unless which "enpkg" - <<-EOS.undent + <<~EOS Enthought Python was found in your PATH. This can cause build problems, as this software installs its own copies of iconv and libxml2 into directories that are picked up by @@ -909,7 +909,7 @@ module Homebrew def check_for_library_python return unless File.exist?("/Library/Frameworks/Python.framework") - <<-EOS.undent + <<~EOS Python is installed at /Library/Frameworks/Python.framework Homebrew only supports building against the System-provided Python or a @@ -922,12 +922,12 @@ module Homebrew message = "" ["", "3"].map do |suffix| next unless paths.include?((HOMEBREW_PREFIX/"share/python#{suffix}").to_s) - message += <<-EOS.undent - #{HOMEBREW_PREFIX}/share/python#{suffix} is not needed in PATH. + message += <<~EOS + #{HOMEBREW_PREFIX}/share/python#{suffix} is not needed in PATH. EOS end unless message.empty? - message += <<-EOS.undent + message += <<~EOS Formerly homebrew put Python scripts you installed via `pip` or `pip3` (or `easy_install`) into that directory above but now it can be removed @@ -949,7 +949,7 @@ module Homebrew return if Regexp.last_match(1).nil? return if Regexp.last_match(1) == "2" - <<-EOS.undent + <<~EOS python is symlinked to python#{Regexp.last_match(1)} This will confuse build scripts and in general lead to subtle breakage. EOS @@ -962,7 +962,7 @@ module Homebrew gnubin = %W[#{coreutils.opt_libexec}/gnubin #{coreutils.libexec}/gnubin] return if (paths & gnubin).empty? - <<-EOS.undent + <<~EOS Putting non-prefixed coreutils in your path can cause gmp builds to fail. EOS rescue FormulaUnavailableError @@ -977,7 +977,7 @@ module Homebrew default_names = Tab.for_name("findutils").with? "default-names" return if !default_names && (paths & gnubin).empty? - <<-EOS.undent + <<~EOS Putting non-prefixed findutils in your path can cause python builds to fail. EOS rescue FormulaUnavailableError @@ -987,7 +987,7 @@ module Homebrew def check_for_pydistutils_cfg_in_home return unless File.exist? "#{ENV["HOME"]}/.pydistutils.cfg" - <<-EOS.undent + <<~EOS A .pydistutils.cfg file was found in $HOME, which may cause Python builds to fail. See: #{Formatter.url("https://bugs.python.org/issue6138")} @@ -1009,7 +1009,7 @@ module Homebrew end.map(&:basename) return if unlinked.empty? - inject_file_list unlinked, <<-EOS.undent + inject_file_list unlinked, <<~EOS You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run `brew link` on these: @@ -1019,7 +1019,7 @@ module Homebrew def check_for_old_env_vars return unless ENV["HOMEBREW_KEEP_INFO"] - <<-EOS.undent + <<~EOS `HOMEBREW_KEEP_INFO` is no longer used info files are no longer deleted by default; you may remove this environment variable. @@ -1033,7 +1033,7 @@ module Homebrew return unless Language::Python.in_sys_path?("python", homebrew_site_packages) user_site_packages = Language::Python.user_site_packages "python" - <<-EOS.undent + <<~EOS Your default Python does not recognize the Homebrew site-packages directory as a special site-packages directory, which means that .pth files will not be followed. This means you will not be able to import @@ -1063,8 +1063,7 @@ module Homebrew message = "You have external commands with conflicting names.\n" cmd_map.each do |cmd_name, cmd_paths| - message += inject_file_list cmd_paths, <<-EOS.undent - + message += inject_file_list cmd_paths, <<~EOS Found command `#{cmd_name}` in following places: EOS end @@ -1087,7 +1086,7 @@ module Homebrew end return if bad_tap_files.empty? bad_tap_files.keys.map do |tap| - <<-EOS.undent + <<~EOS Found Ruby file outside #{tap} tap formula directory (#{tap.formula_dir}): #{bad_tap_files[tap].join("\n ")} diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index e69a56ddf..f9a359450 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -159,7 +159,7 @@ class VCSDownloadStrategy < AbstractDownloadStrategy return unless @ref_type == :tag return unless @revision && current_revision return if current_revision == @revision - raise <<-EOS.undent + raise <<~EOS #{@ref} tag should be #{@revision} but is actually #{current_revision} EOS @@ -553,9 +553,9 @@ class GitHubPrivateRepositoryDownloadStrategy < CurlDownloadStrategy rescue GitHub::HTTPNotFoundError # We only handle HTTPNotFoundError here, # becase AuthenticationFailedError is handled within util/github. - message = <<-EOS.undent - HOMEBREW_GITHUB_API_TOKEN can not access the repository: #{@owner}/#{@repo} - This token may not have permission to access the repository or the url of formula may be incorrect. + message = <<~EOS + HOMEBREW_GITHUB_API_TOKEN can not access the repository: #{@owner}/#{@repo} + This token may not have permission to access the repository or the url of formula may be incorrect. EOS raise CurlDownloadStrategyError, message end diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 22a7fe023..7705f9d49 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -185,7 +185,7 @@ class TapFormulaAmbiguityError < RuntimeError "#{Tap.fetch(match[:user], match[:repo])}/#{path.basename(".rb")}" end - super <<-EOS.undent + super <<~EOS Formulae found in multiple taps: #{formulae.map { |f| "\n * #{f}" }.join} Please use the fully-qualified name e.g. #{formulae.first} to refer the formula. @@ -205,7 +205,7 @@ class TapFormulaWithOldnameAmbiguityError < RuntimeError "#{Regexp.last_match(1)}/#{Regexp.last_match(2)}" end - super <<-EOS.undent + super <<~EOS Formulae with '#{name}' old name found in multiple taps: #{taps.map { |t| "\n * #{t}" }.join} Please use the fully-qualified name e.g. #{taps.first}/#{name} to refer the formula or use its new name. @@ -219,7 +219,7 @@ class TapUnavailableError < RuntimeError def initialize(name) @name = name - super <<-EOS.undent + super <<~EOS No available tap #{name}. EOS end @@ -235,7 +235,7 @@ class TapRemoteMismatchError < RuntimeError @expected_remote = expected_remote @actual_remote = actual_remote - super <<-EOS.undent + super <<~EOS Tap #{name} remote mismatch. #{expected_remote} != #{actual_remote} EOS @@ -248,7 +248,7 @@ class TapAlreadyTappedError < RuntimeError def initialize(name) @name = name - super <<-EOS.undent + super <<~EOS Tap #{name} already tapped. EOS end @@ -260,7 +260,7 @@ class TapAlreadyUnshallowError < RuntimeError def initialize(name) @name = name - super <<-EOS.undent + super <<~EOS Tap #{name} already a full clone. EOS end @@ -279,7 +279,7 @@ end class OperationInProgressError < RuntimeError def initialize(name) - message = <<-EOS.undent + message = <<~EOS Operation already in progress for #{name} Another active Homebrew process is already using #{name}. Please wait for it to finish or terminate it to continue. @@ -327,7 +327,7 @@ class FormulaConflictError < RuntimeError message = [] message << "Cannot install #{formula.full_name} because conflicting formulae are installed." message.concat conflicts.map { |c| conflict_message(c) } << "" - message << <<-EOS.undent + message << <<~EOS Please `brew unlink #{conflicts.map(&:name) * " "}` before continuing. Unlinking removes a formula's symlinks from #{HOMEBREW_PREFIX}. You can @@ -341,7 +341,7 @@ end class FormulaAmbiguousPythonError < RuntimeError def initialize(formula) - super <<-EOS.undent + super <<~EOS The version of python to use with the virtualenv in the `#{formula.full_name}` formula cannot be guessed automatically. If the simultaneous use of python and python3 is intentional, please add `:using => "python"` or `:using => "python3"` to @@ -398,18 +398,18 @@ class BuildError < RuntimeError if formula.tap.official? puts Formatter.error(Formatter.url(OS::ISSUES_URL), label: "READ THIS") elsif issues_url = formula.tap.issues_url - puts <<-EOS.undent + puts <<~EOS If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): #{Formatter.url(issues_url)} EOS else - puts <<-EOS.undent + puts <<~EOS If reporting this issue please do so to (not Homebrew/brew or Homebrew/core): #{formula.tap} EOS end else - puts <<-EOS.undent + puts <<~EOS Do not report this issue to Homebrew/brew or Homebrew/core! EOS end @@ -445,7 +445,7 @@ class BuildToolsError < RuntimeError package_text = "a binary package" end - super <<-EOS.undent + super <<~EOS The following #{formula_text}: #{formulae.join(", ")} cannot be installed as #{package_text} and must be built from source. @@ -467,7 +467,7 @@ class BuildFlagsError < RuntimeError require_text = "requires" end - super <<-EOS.undent + super <<~EOS The following #{flag_text}: #{flags.join(", ")} #{require_text} building tools, but none are installed. @@ -481,7 +481,7 @@ end # the compilers available on the user's system class CompilerSelectionError < RuntimeError def initialize(formula) - super <<-EOS.undent + super <<~EOS #{formula.full_name} cannot be built with any available compilers. #{DevelopmentTools.custom_installation_instructions} EOS @@ -491,7 +491,7 @@ end # Raised in Resource.fetch class DownloadError < RuntimeError def initialize(resource, cause) - super <<-EOS.undent + super <<~EOS Failed to download resource #{resource.download_name.inspect} #{cause.message} EOS @@ -530,7 +530,7 @@ class ChecksumMismatchError < RuntimeError @expected = expected @hash_type = expected.hash_type.to_s.upcase - super <<-EOS.undent + super <<~EOS #{@hash_type} mismatch Expected: #{expected} Actual: #{actual} @@ -557,7 +557,7 @@ class MissingApplyError < RuntimeError; end class BottleFormulaUnavailableError < RuntimeError def initialize(bottle_path, formula_path) - super <<-EOS.undent + super <<~EOS This bottle does not contain the formula file: #{bottle_path} #{formula_path} diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 63a0f3e40..d9da014f0 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -124,7 +124,7 @@ module HomebrewArgvExtension Keg.new(prefix) end rescue FormulaUnavailableError - raise <<-EOS.undent + raise <<~EOS Multiple kegs installed to #{rack} However we don't know which one you refer to. Please delete (with rm -rf!) all but one and then try again. diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb index 15488ee19..5a6b779d0 100644 --- a/Library/Homebrew/extend/ENV/shared.rb +++ b/Library/Homebrew/extend/ENV/shared.rb @@ -233,7 +233,7 @@ module SharedEnvExtension if ARGV.include? "--default-fortran-flags" flags = FC_FLAG_VARS.reject { |key| self[key] } elsif values_at(*FC_FLAG_VARS).compact.empty? - opoo <<-EOS.undent + opoo <<~EOS No Fortran optimization information was provided. You may want to consider setting FCFLAGS and FFLAGS or pass the `--default-fortran-flags` option to `brew install` if your compiler is compatible with GCC. @@ -286,15 +286,15 @@ module SharedEnvExtension begin gcc_formula = gcc_version_formula(name) rescue FormulaUnavailableError => e - raise <<-EOS.undent - Homebrew GCC requested, but formula #{e.name} not found! + raise <<~EOS + Homebrew GCC requested, but formula #{e.name} not found! EOS end return if gcc_formula.opt_prefix.exist? - raise <<-EOS.undent - The requested Homebrew GCC was not installed. You must: - brew install #{gcc_formula.full_name} + raise <<~EOS + The requested Homebrew GCC was not installed. You must: + brew install #{gcc_formula.full_name} EOS end diff --git a/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb b/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb index 3fd847bc4..3553ada74 100644 --- a/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb +++ b/Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb @@ -18,7 +18,7 @@ class OsxfuseRequirement < Requirement def message msg = "libfuse is required to install this formula.\n" if libfuse_formula_exists? - msg + <<-EOS.undent + msg + <<~EOS Run "brew install libfuse" to install it. EOS else diff --git a/Library/Homebrew/extend/os/mac/development_tools.rb b/Library/Homebrew/extend/os/mac/development_tools.rb index 1931b398d..d37e778ca 100644 --- a/Library/Homebrew/extend/os/mac/development_tools.rb +++ b/Library/Homebrew/extend/os/mac/development_tools.rb @@ -24,18 +24,18 @@ class DevelopmentTools def installation_instructions if MacOS.version >= "10.9" - <<-EOS.undent + <<~EOS Install the Command Line Tools: xcode-select --install EOS elsif MacOS.version == "10.8" || MacOS.version == "10.7" - <<-EOS.undent + <<~EOS Install the Command Line Tools from https://developer.apple.com/download/more/ or via Xcode's preferences. EOS else - <<-EOS.undent + <<~EOS Install Xcode from https://developer.apple.com/download/more/ EOS @@ -44,19 +44,19 @@ class DevelopmentTools def custom_installation_instructions if MacOS.version > :leopard - <<-EOS.undent + <<~EOS Install GNU's GCC brew install gcc EOS elsif MacOS.version > :tiger - <<-EOS.undent + <<~EOS Install GNU's GCC brew install gcc@4.6 EOS else # Tiger doesn't ship with apple-gcc42, and this is required to build # some software that doesn't build properly with FSF GCC. - <<-EOS.undent + <<~EOS Install Apple's GCC brew install apple-gcc42 or GNU's GCC diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 9f7b18b49..be0ce9351 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -41,7 +41,7 @@ module Homebrew return end - <<-EOS.undent + <<~EOS You are using macOS #{MacOS.version}. #{who} do not provide support for this #{what}. You may encounter build failures or other breakages. @@ -59,7 +59,7 @@ module Homebrew # Homebrew/brew is currently using. return if ENV["TRAVIS"] - message = <<-EOS.undent + message = <<~EOS Your Xcode (#{MacOS::Xcode.version}) is outdated. Please update to Xcode #{MacOS::Xcode.latest_version} (or delete it). #{MacOS::Xcode.update_instructions} @@ -67,7 +67,7 @@ module Homebrew if OS::Mac.prerelease? current_path = Utils.popen_read("/usr/bin/xcode-select", "-p") - message += <<-EOS.undent + message += <<~EOS If #{MacOS::Xcode.latest_version} is installed, you may need to: sudo xcode-select --switch /Applications/Xcode.app Current developer directory is: @@ -87,7 +87,7 @@ module Homebrew # Homebrew/brew is currently using. return if ENV["TRAVIS"] - <<-EOS.undent + <<~EOS A newer Command Line Tools release is available. #{MacOS::CLT.update_instructions} EOS @@ -99,7 +99,7 @@ module Homebrew return unless MacOS.version == :el_capitan return unless MacOS::Xcode.version >= "8" - <<-EOS.undent + <<~EOS You have Xcode 8 installed without the CLT; this causes certain builds to fail on OS X El Capitan (10.11). Please install the CLT via: @@ -111,7 +111,7 @@ module Homebrew return unless MacOS::Xcode.installed? return unless MacOS::Xcode.below_minimum_version? - <<-EOS.undent + <<~EOS Your Xcode (#{MacOS::Xcode.version}) is too outdated. Please update to Xcode #{MacOS::Xcode.latest_version} (or delete it). #{MacOS::Xcode.update_instructions} @@ -122,7 +122,7 @@ module Homebrew return unless MacOS::CLT.installed? return unless MacOS::CLT.below_minimum_version? - <<-EOS.undent + <<~EOS Your Command Line Tools are too outdated. #{MacOS::CLT.update_instructions} EOS @@ -140,7 +140,7 @@ module Homebrew "Please install Xcode #{MacOS::Xcode.latest_version}." end - <<-EOS.undent + <<~EOS You seem to have osx-gcc-installer installed. Homebrew doesn't support osx-gcc-installer. It causes many builds to fail and is an unlicensed distribution of really old Xcode files. @@ -154,7 +154,7 @@ module Homebrew uninstaller = Pathname.new("/Developer/Library/uninstall-developer-folder") return unless ((MacOS::Xcode.version || "0") >= "4.3") && uninstaller.exist? - <<-EOS.undent + <<~EOS You have leftover files from an older version of Xcode. You should delete them using: #{uninstaller} @@ -170,7 +170,7 @@ module Homebrew return if libs.empty? return if libs.include? "/usr/lib/libxcselect.dylib" - <<-EOS.undent + <<~EOS You have an outdated version of /usr/bin/install_name_tool installed. This will cause binary package installations to fail. This can happen if you install osx-gcc-installer or RailsInstaller. @@ -183,7 +183,7 @@ module Homebrew ponk = MacOS.macports_or_fink return if ponk.empty? - <<-EOS.undent + <<~EOS You have MacPorts or Fink installed: #{ponk.join(", ")} @@ -199,7 +199,7 @@ module Homebrew return if RUBY_VERSION == ruby_version return if ARGV.homebrew_developer? && OS::Mac.prerelease? - <<-EOS.undent + <<~EOS Ruby version #{RUBY_VERSION} is unsupported on #{MacOS.version}. Homebrew is developed and tested on Ruby #{ruby_version}, and may not work correctly on other Rubies. Patches are accepted as long as they don't cause breakage @@ -212,7 +212,7 @@ module Homebrew return if prefix.nil? return unless prefix.to_s.include?(" ") - <<-EOS.undent + <<~EOS Xcode is installed to a directory with a space in the name. This will cause some formulae to fail to build. EOS @@ -222,7 +222,7 @@ module Homebrew prefix = MacOS::Xcode.prefix return if prefix.nil? || prefix.exist? - <<-EOS.undent + <<~EOS The directory Xcode is reportedly installed to doesn't exist: #{prefix} You may need to `xcode-select` the proper path if you have moved Xcode. @@ -236,7 +236,7 @@ module Homebrew path = MacOS::Xcode.bundle_path path = "/Developer" if path.nil? || !path.directory? - <<-EOS.undent + <<~EOS Your Xcode is configured with an invalid path. You should change it to the correct path: sudo xcode-select -switch #{path} @@ -247,7 +247,7 @@ module Homebrew return unless MacOS.version <= "10.8" return if Formula["curl"].installed? - <<-EOS.undent + <<~EOS The system curl on 10.8 and below is often incapable of supporting modern secure connections & will fail on fetching formulae. @@ -261,7 +261,7 @@ module Homebrew return unless MacOS.version >= :yosemite return if ENV["SSL_CERT_DIR"].nil? - <<-EOS.undent + <<~EOS SSL_CERT_DIR support was removed from Apple's curl. If fetching formulae fails you should: unset SSL_CERT_DIR @@ -274,7 +274,7 @@ module Homebrew # license or no "xc*" tool will work. return unless `/usr/bin/xcrun clang 2>&1` =~ /license/ && !$CHILD_STATUS.success? - <<-EOS.undent + <<~EOS You have not agreed to the Xcode license. Builds will fail! Agree to the license by opening Xcode.app or running: sudo xcodebuild -license @@ -289,7 +289,7 @@ module Homebrew latest_version = Version.create(MacOS::XQuartz.latest_version) return if installed_version >= latest_version - <<-EOS.undent + <<~EOS Your XQuartz (#{installed_version}) is outdated. Please install XQuartz #{latest_version} (or delete the current version). XQuartz can be updated using Homebrew-Cask by running @@ -301,7 +301,7 @@ module Homebrew return unless MacOS::XQuartz.version return unless MacOS::XQuartz.version.include? "beta" - <<-EOS.undent + <<~EOS The following beta release of XQuartz is installed: #{MacOS::XQuartz.version} XQuartz beta releases include address sanitization, and do not work with @@ -337,7 +337,7 @@ module Homebrew end case_sensitive_vols.uniq! - <<-EOS.undent + <<~EOS The filesystem on #{case_sensitive_vols.join(",")} appears to be case-sensitive. The default macOS filesystem is case-insensitive. Please report any apparent problems. EOS @@ -346,7 +346,7 @@ module Homebrew def check_homebrew_prefix return if HOMEBREW_PREFIX.to_s == "/usr/local" - <<-EOS.undent + <<~EOS Your Homebrew's prefix is not /usr/local. You can install Homebrew anywhere you want but some bottles (binary packages) can only be used with a /usr/local prefix and some formulae (packages) @@ -360,7 +360,7 @@ module Homebrew mono_config = Pathname.new("/usr/bin/pkg-config") if mono_config.exist? && mono_config.realpath.to_s.include?("Mono.framework") - <<-EOS.undent + <<~EOS You have a non-Homebrew 'pkg-config' in your PATH: /usr/bin/pkg-config => #{mono_config.realpath} @@ -371,7 +371,7 @@ module Homebrew `sudo rm /usr/bin/pkg-config` and upgrade to the latest version of Mono. EOS elsif binary.to_s != "#{HOMEBREW_PREFIX}/bin/pkg-config" - <<-EOS.undent + <<~EOS You have a non-Homebrew 'pkg-config' in your PATH: #{binary} diff --git a/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb b/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb index 32e5774f6..901d8945f 100644 --- a/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb +++ b/Library/Homebrew/extend/os/mac/formula_cellar_checks.rb @@ -19,7 +19,7 @@ module FormulaCellarChecks return if files.empty? - <<-EOS.undent + <<~EOS Header files that shadow system header files were installed to "#{formula.include}" The offending files are: #{files * "\n "} @@ -35,7 +35,7 @@ module FormulaCellarChecks end return if system_openssl.empty? - <<-EOS.undent + <<~EOS object files were linked against system openssl These object files were linked against the deprecated system OpenSSL or the system's private LibreSSL. @@ -52,7 +52,7 @@ module FormulaCellarChecks end return if framework_links.empty? - <<-EOS.undent + <<~EOS python modules have explicit framework links These python extension modules were linked directly to a Python framework binary. They should be linked with -undefined dynamic_lookup @@ -67,13 +67,13 @@ module FormulaCellarChecks checker = LinkageChecker.new(keg, formula) return unless checker.broken_dylibs? - output = <<-EOS.undent + output = <<~EOS #{formula} has broken dynamic library links: #{checker.broken_dylibs.to_a * "\n "} EOS tab = Tab.for_keg(keg) if tab.poured_from_bottle - output += <<-EOS.undent + output += <<~EOS Rebuild this from source with: brew reinstall --build-from-source #{formula} If that's successful, file an issue#{formula.tap ? " here:\n #{formula.tap.issues_url}" : "."} diff --git a/Library/Homebrew/extend/os/mac/missing_formula.rb b/Library/Homebrew/extend/os/mac/missing_formula.rb index bcf0eb25d..ea6d50112 100644 --- a/Library/Homebrew/extend/os/mac/missing_formula.rb +++ b/Library/Homebrew/extend/os/mac/missing_formula.rb @@ -5,12 +5,12 @@ module Homebrew case name.downcase when "xcode" if MacOS.version >= :lion - <<-EOS.undent - Xcode can be installed from the App Store. + <<~EOS + Xcode can be installed from the App Store. EOS else - <<-EOS.undent - Xcode can be installed from #{Formatter.url("https://developer.apple.com/download/more/")}. + <<~EOS + Xcode can be installed from #{Formatter.url("https://developer.apple.com/download/more/")}. EOS end else diff --git a/Library/Homebrew/extend/os/mac/requirements/osxfuse_requirement.rb b/Library/Homebrew/extend/os/mac/requirements/osxfuse_requirement.rb index 8c898a272..3f10a951a 100644 --- a/Library/Homebrew/extend/os/mac/requirements/osxfuse_requirement.rb +++ b/Library/Homebrew/extend/os/mac/requirements/osxfuse_requirement.rb @@ -26,7 +26,7 @@ class NonBinaryOsxfuseRequirement < Requirement satisfy(build_env: false) { HOMEBREW_PREFIX.to_s != "/usr/local" || !OsxfuseRequirement.binary_osxfuse_installed? } def message - <<-EOS.undent + <<~EOS osxfuse is already installed from the binary distribution and conflicts with this formula. EOS diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index e3d6880ba..b4c7ca959 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -403,7 +403,7 @@ class Pathname mkpath targets.each do |target| target = Pathname.new(target) # allow pathnames or strings - join(target.basename).write <<-EOS.undent + join(target.basename).write <<~EOS #!/bin/bash exec "#{target}" "$@" EOS @@ -415,9 +415,9 @@ class Pathname env_export = "" env.each { |key, value| env_export += "#{key}=\"#{value}\" " } dirname.mkpath - write <<-EOS.undent - #!/bin/bash - #{env_export}exec "#{target}" "$@" + write <<~EOS + #!/bin/bash + #{env_export}exec "#{target}" "$@" EOS end @@ -435,7 +435,7 @@ class Pathname # Writes an exec script that invokes a java jar def write_jar_script(target_jar, script_name, java_opts = "") mkpath - join(script_name).write <<-EOS.undent + join(script_name).write <<~EOS #!/bin/bash exec java #{java_opts} -jar #{target_jar} "$@" EOS diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index b96f12994..2e9e89b38 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -8,7 +8,7 @@ class String alias unindent undent # eg: - # if foo then <<-EOS.undent_________________________________________________________72 + # if foo then <<~EOS_________________________________________________________72 # Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do # eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad # minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 61042aae7..1765f20c1 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -839,7 +839,7 @@ class Formula # This method can be overridden to provide a plist. # For more examples read Apple's handy manpage: # https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/plist.5.html - # <pre>def plist; <<-EOS.undent + # <pre>def plist; <<~EOS # <?xml version="1.0" encoding="UTF-8"?> # <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> # <plist version="1.0"> @@ -986,13 +986,13 @@ class Formula # to installation through a different package manager on a different OS. # @return [String] # <pre>def caveats - # <<-EOS.undent + # <<~EOS # Are optional. Something the user should know? # EOS # end</pre> # # <pre>def caveats - # s = <<-EOS.undent + # s = <<~EOS # Print some important notice to the user when `brew info <formula>` is # called or when brewing a formula. # This is optional. You can use all the vars like #{version} here. @@ -1691,7 +1691,7 @@ class Formula # keep Homebrew's site-packages in sys.path when using system Python user_site_packages = home/"Library/Python/2.7/lib/python/site-packages" user_site_packages.mkpath - (user_site_packages/"homebrew.pth").write <<-EOS.undent + (user_site_packages/"homebrew.pth").write <<~EOS import site; site.addsitedir("#{HOMEBREW_PREFIX}/lib/python2.7/site-packages") import sys, os; sys.path = (os.environ["PYTHONPATH"].split(os.pathsep) if "PYTHONPATH" in os.environ else []) + ["#{HOMEBREW_PREFIX}/lib/python2.7/site-packages"] + sys.path EOS @@ -2394,7 +2394,7 @@ class Formula # and building the software was ok. # <pre>system bin/"foobar", "--version"</pre> # - # <pre>(testpath/"test.file").write <<-EOS.undent + # <pre>(testpath/"test.file").write <<~EOS # writing some test file, if you need to # EOS # assert_equal "OK", shell_output("test_command test.file").strip</pre> diff --git a/Library/Homebrew/formula_cellar_checks.rb b/Library/Homebrew/formula_cellar_checks.rb index 6c433e420..471a5ea2f 100644 --- a/Library/Homebrew/formula_cellar_checks.rb +++ b/Library/Homebrew/formula_cellar_checks.rb @@ -12,7 +12,7 @@ module FormulaCellarChecks prefix_bin = prefix_bin.realpath return if ORIGINAL_PATHS.include? prefix_bin - <<-EOS.undent + <<~EOS #{prefix_bin} is not in your PATH You can amend this by altering your #{Utils::Shell.profile} file EOS @@ -22,7 +22,7 @@ module FormulaCellarChecks # Check for man pages that aren't in share/man return unless (formula.prefix/"man").directory? - <<-EOS.undent + <<~EOS A top-level "man" directory was found Homebrew requires that man pages live under share. This can often be fixed by passing "--mandir=\#{man}" to configure. @@ -33,7 +33,7 @@ module FormulaCellarChecks # Check for info pages that aren't in share/info return unless (formula.prefix/"info").directory? - <<-EOS.undent + <<~EOS A top-level "info" directory was found Homebrew suggests that info pages live under share. This can often be fixed by passing "--infodir=\#{info}" to configure. @@ -45,7 +45,7 @@ module FormulaCellarChecks jars = formula.lib.children.select { |g| g.extname == ".jar" } return if jars.empty? - <<-EOS.undent + <<~EOS JARs were installed to "#{formula.lib}" Installing JARs to "lib" can cause conflicts between packages. For Java software, it is typically better for the formula to @@ -67,7 +67,7 @@ module FormulaCellarChecks end return if non_libraries.empty? - <<-EOS.undent + <<~EOS Non-libraries were installed to "#{formula.lib}" Installing non-libraries to "lib" is discouraged. The offending files are: @@ -81,7 +81,7 @@ module FormulaCellarChecks non_exes = bin.children.select { |g| g.directory? || !g.executable? } return if non_exes.empty? - <<-EOS.undent + <<~EOS Non-executables were installed to "#{bin}" The offending files are: #{non_exes * "\n "} @@ -94,7 +94,7 @@ module FormulaCellarChecks generics = bin.children.select { |g| generic_names.include? g.basename.to_s } return if generics.empty? - <<-EOS.undent + <<~EOS Generic binaries were installed to "#{bin}" Binaries with generic names are likely to conflict with other software, and suggest that this software should be installed to "libexec" and then @@ -109,7 +109,7 @@ module FormulaCellarChecks pth_found = Dir["#{lib}/python{2.7,3}*/site-packages/easy-install.pth"].map { |f| File.dirname(f) } return if pth_found.empty? - <<-EOS.undent + <<~EOS easy-install.pth files were found These .pth files are likely to cause link conflicts. Please invoke setup.py using Language::Python.setup_install_args. @@ -128,7 +128,7 @@ module FormulaCellarChecks end return unless bad_dir_name - <<-EOS + <<~EOS Emacs Lisp files were installed into the wrong site-lisp subdirectory. They should be installed into: #{share}/emacs/site-lisp/#{name} @@ -142,7 +142,7 @@ module FormulaCellarChecks elisps = (share/"emacs/site-lisp").children.select { |file| %w[.el .elc].include? file.extname } return if elisps.empty? - <<-EOS.undent + <<~EOS Emacs Lisp files were linked directly to #{HOMEBREW_PREFIX}/share/emacs/site-lisp This may cause conflicts with other packages. They should instead be installed into: diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 7cd87e751..42abe5171 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -93,7 +93,7 @@ class FormulaInstaller return false if formula.bottle_disabled? unless formula.pour_bottle? if install_bottle_options[:warn] && formula.pour_bottle_check_unsatisfied_reason - opoo <<-EOS.undent + opoo <<~EOS Building #{formula.full_name} from source: #{formula.pour_bottle_check_unsatisfied_reason} EOS @@ -104,7 +104,7 @@ class FormulaInstaller bottle = formula.bottle_specification unless bottle.compatible_cellar? if install_bottle_options[:warn] - opoo <<-EOS.undent + opoo <<~EOS Building #{formula.full_name} from source: The bottle needs a #{bottle.cellar} Cellar (yours is #{HOMEBREW_CELLAR}). EOS @@ -165,14 +165,14 @@ class FormulaInstaller end unless recursive_dependencies.empty? - raise CannotInstallFormulaError, <<-EOS.undent + raise CannotInstallFormulaError, <<~EOS #{formula.full_name} contains a recursive dependency on itself: #{recursive_dependencies.join("\n ")} EOS end if recursive_formulae.flat_map(&:recursive_dependencies).map(&:to_s).include?(formula.name) - raise CannotInstallFormulaError, <<-EOS.undent + raise CannotInstallFormulaError, <<~EOS #{formula.full_name} contains a recursive dependency on itself! EOS end @@ -188,7 +188,7 @@ class FormulaInstaller version_conflicts += version_hash[unversioned_name] end unless version_conflicts.empty? - raise CannotInstallFormulaError, <<-EOS.undent + raise CannotInstallFormulaError, <<~EOS #{formula.full_name} contains conflicting version recursive dependencies: #{version_conflicts.to_a.join ", "} View these with `brew deps --tree #{formula.full_name}`. @@ -221,16 +221,16 @@ class FormulaInstaller # function but after instantiating this class so that it can avoid having to # relink the active keg if possible (because it is slow). if formula.linked_keg.directory? - message = <<-EOS.undent + message = <<~EOS #{formula.name} #{formula.linked_version} is already installed EOS message += if formula.outdated? && !formula.head? - <<-EOS.undent + <<~EOS To upgrade to #{formula.pkg_version}, run `brew upgrade #{formula.name}` EOS else # some other version is already installed *and* linked - <<-EOS.undent + <<~EOS To install #{formula.pkg_version}, first run `brew unlink #{formula.name}` EOS end @@ -355,7 +355,7 @@ class FormulaInstaller rescue FormulaUnavailableError => e # If the formula name doesn't exist any more then complain but don't # stop installation from continuing. - opoo <<-EOS.undent + opoo <<~EOS #{formula}: #{e.message} 'conflicts_with \"#{c.name}\"' should be removed from #{formula.path.basename}. EOS diff --git a/Library/Homebrew/formula_support.rb b/Library/Homebrew/formula_support.rb index 2c9c19187..53fd61db8 100644 --- a/Library/Homebrew/formula_support.rb +++ b/Library/Homebrew/formula_support.rb @@ -33,33 +33,33 @@ class KegOnlyReason def to_s return @explanation unless @explanation.empty? case @reason - when :versioned_formula then <<-EOS.undent + when :versioned_formula then <<~EOS this is an alternate version of another formula EOS - when :provided_by_macos, :provided_by_osx then <<-EOS.undent + when :provided_by_macos, :provided_by_osx then <<~EOS macOS already provides this software and installing another version in parallel can cause all kinds of trouble EOS - when :shadowed_by_macos, :shadowed_by_osx then <<-EOS.undent + when :shadowed_by_macos, :shadowed_by_osx then <<~EOS macOS provides similar software and installing this software in parallel can cause all kinds of trouble EOS - when :provided_pre_mountain_lion then <<-EOS.undent + when :provided_pre_mountain_lion then <<~EOS macOS already provides this software in versions before Mountain Lion EOS - when :provided_pre_mavericks then <<-EOS.undent + when :provided_pre_mavericks then <<~EOS macOS already provides this software in versions before Mavericks EOS - when :provided_pre_el_capitan then <<-EOS.undent + when :provided_pre_el_capitan then <<~EOS macOS already provides this software in versions before El Capitan EOS - when :provided_pre_high_sierra then <<-EOS.undent + when :provided_pre_high_sierra then <<~EOS macOS already provides this software in versions before High Sierra EOS - when :provided_until_xcode43 then <<-EOS.undent + when :provided_until_xcode43 then <<~EOS Xcode provides this software prior to version 4.3 EOS - when :provided_until_xcode5 then <<-EOS.undent + when :provided_until_xcode5 then <<~EOS Xcode provides this software prior to version 5 EOS else diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index fddeac631..7eb85ed97 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -128,7 +128,7 @@ module Formulary formula = begin Formulary.from_contents name, @bottle_filename, contents, spec rescue FormulaUnreadableError => e - opoo <<-EOS.undent + opoo <<~EOS Unreadable formula in #{@bottle_filename}: #{e} EOS @@ -443,7 +443,7 @@ module Formulary if possible_pinned_tap_formulae.size == 1 selected_formula = factory(possible_pinned_tap_formulae.first, spec) if core_path(ref).file? - opoo <<-EOS.undent + opoo <<~EOS #{ref} is provided by core, but is now shadowed by #{selected_formula.full_name}. To refer to the core formula, use Homebrew/core/#{ref} instead. EOS diff --git a/Library/Homebrew/gpg.rb b/Library/Homebrew/gpg.rb index de2089dda..ec4e62450 100644 --- a/Library/Homebrew/gpg.rb +++ b/Library/Homebrew/gpg.rb @@ -32,7 +32,7 @@ class Gpg def self.create_test_key(path) odie "No GPG present to test against!" unless available? - (path/"batch.gpg").write <<-EOS.undent + (path/"batch.gpg").write <<~EOS Key-Type: RSA Key-Length: 2048 Subkey-Type: RSA diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 677a97c85..bb9778c81 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -6,7 +6,7 @@ require "ostruct" class Keg class AlreadyLinkedError < RuntimeError def initialize(keg) - super <<-EOS.undent + super <<~EOS Cannot link #{keg.name} Another version is already linked: #{keg.linked_keg_record.resolved_path} EOS @@ -32,9 +32,9 @@ class Keg rescue NotAKegError, Errno::ENOENT "already exists. You may want to remove it:\n rm '#{dst}'\n" else - <<-EOS.undent - is a symlink belonging to #{conflict.name}. You can unlink it: - brew unlink #{conflict.name} + <<~EOS + is a symlink belonging to #{conflict.name}. You can unlink it: + brew unlink #{conflict.name} EOS end @@ -42,7 +42,7 @@ class Keg s = [] s << "Could not symlink #{src}" s << "Target #{dst}" << suggestion - s << <<-EOS.undent + s << <<~EOS To force the link and overwrite all conflicting files: brew link --overwrite #{keg.name} @@ -54,7 +54,7 @@ class Keg end class DirectoryNotWritableError < LinkError - def to_s; <<-EOS.undent + def to_s; <<~EOS Could not symlink #{src} #{dst.dirname} is not writable. EOS diff --git a/Library/Homebrew/language/python.rb b/Library/Homebrew/language/python.rb index bfec556d0..931cc59fc 100644 --- a/Library/Homebrew/language/python.rb +++ b/Library/Homebrew/language/python.rb @@ -46,7 +46,7 @@ module Language end def self.in_sys_path?(python, path) - script = <<-EOS.undent + script = <<~EOS import os, sys [os.path.realpath(p) for p in sys.path].index(os.path.realpath("#{path}")) EOS @@ -54,7 +54,7 @@ module Language end def self.setup_install_args(prefix) - shim = <<-EOS.undent + shim = <<~EOS import setuptools, tokenize __file__ = 'setup.py' exec(compile(getattr(tokenize, 'open', open)(__file__).read() diff --git a/Library/Homebrew/migrator.rb b/Library/Homebrew/migrator.rb index 0eb7492df..8664d474b 100644 --- a/Library/Homebrew/migrator.rb +++ b/Library/Homebrew/migrator.rb @@ -6,7 +6,7 @@ require "tab" class Migrator class MigrationNeededError < RuntimeError def initialize(formula) - super <<-EOS.undent + super <<~EOS #{formula.oldname} was renamed to #{formula.name} and needs to be migrated. Please run `brew migrate #{formula.oldname}` EOS @@ -33,10 +33,9 @@ class Migrator "Please try to use fully-qualified #{tap}/#{formula.oldname} to refer the formula.\n" end - super <<-EOS.undent - #{formula.name} from #{formula.tap} is given, but old name #{formula.oldname} was installed from #{tap ? tap : "path or url"}. - - #{msg}To force migrate use `brew migrate --force #{formula.oldname}`. + super <<~EOS + #{formula.name} from #{formula.tap} is given, but old name #{formula.oldname} was installed from #{tap ? tap : "path or url"}. + #{msg}To force migrate use `brew migrate --force #{formula.oldname}`. EOS end end diff --git a/Library/Homebrew/missing_formula.rb b/Library/Homebrew/missing_formula.rb index a3d182a2b..97ed5749a 100644 --- a/Library/Homebrew/missing_formula.rb +++ b/Library/Homebrew/missing_formula.rb @@ -12,10 +12,10 @@ module Homebrew def blacklisted_reason(name) case name.downcase - when "gem", /^rubygems?$/ then <<-EOS.undent + when "gem", /^rubygems?$/ then <<~EOS Homebrew provides gem via: `brew install ruby`. EOS - when "tex", "tex-live", "texlive", "latex" then <<-EOS.undent + when "tex", "tex-live", "texlive", "latex" then <<~EOS Installing TeX from source is weird and gross, requires a lot of patches, and only builds 32-bit (and thus can't use Homebrew dependencies) @@ -24,42 +24,42 @@ module Homebrew You can install it with Homebrew-Cask: brew cask install mactex EOS - when "pip" then <<-EOS.undent + when "pip" then <<~EOS Homebrew provides pip via: `brew install python`. However you will then have two Pythons installed on your Mac, so alternatively you can install pip via the instructions at: #{Formatter.url("https://pip.readthedocs.io/en/stable/installing/")} EOS - when "pil" then <<-EOS.undent + when "pil" then <<~EOS Instead of PIL, consider `pip2 install pillow`. EOS - when "macruby" then <<-EOS.undent + when "macruby" then <<~EOS MacRuby is not packaged and is on an indefinite development hiatus. You can read more about it at: #{Formatter.url("https://github.com/MacRuby/MacRuby")} EOS when /(lib)?lzma/ "lzma is now part of the xz formula." - when "gtest", "googletest", "google-test" then <<-EOS.undent + when "gtest", "googletest", "google-test" then <<~EOS Installing gtest system-wide is not recommended; it should be vendored in your projects that use it. EOS - when "gmock", "googlemock", "google-mock" then <<-EOS.undent + when "gmock", "googlemock", "google-mock" then <<~EOS Installing gmock system-wide is not recommended; it should be vendored in your projects that use it. EOS - when "sshpass" then <<-EOS.undent + when "sshpass" then <<~EOS We won't add sshpass because it makes it too easy for novice SSH users to ruin SSH's security. EOS - when "gsutil" then <<-EOS.undent + when "gsutil" then <<~EOS Install gsutil with `pip2 install gsutil` EOS - when "gfortran" then <<-EOS.undent + when "gfortran" then <<~EOS GNU Fortran is now provided as part of GCC, and can be installed with: brew install gcc EOS - when "play" then <<-EOS.undent + when "play" then <<~EOS Play 2.3 replaces the play command with activator: brew install typesafe-activator @@ -67,7 +67,7 @@ module Homebrew #{Formatter.url("https://www.playframework.com/documentation/2.3.x/Migration23")} #{Formatter.url("https://www.playframework.com/documentation/2.3.x/Highlights23")} EOS - when "haskell-platform" then <<-EOS.undent + when "haskell-platform" then <<~EOS We no longer package haskell-platform. Consider installing ghc and cabal-install instead: brew install ghc cabal-install @@ -75,10 +75,10 @@ module Homebrew You can install with Homebrew-Cask: brew cask install haskell-platform EOS - when "mysqldump-secure" then <<-EOS.undent + when "mysqldump-secure" then <<~EOS The creator of mysqldump-secure tried to game our popularity metrics. EOS - when "ngrok" then <<-EOS.undent + when "ngrok" then <<~EOS Upstream sunsetted 1.x in March 2016 and 2.x is not open-source. If you wish to use the 2.x release you can install with Homebrew-Cask: @@ -98,12 +98,12 @@ module Homebrew new_tap_user, new_tap_repo, = new_tap.split("/") new_tap_name = "#{new_tap_user}/#{new_tap_repo}" - message = <<-EOS.undent + message = <<~EOS It was migrated from #{old_tap} to #{new_tap}. EOS break if new_tap_name == CoreTap.instance.name - message += <<-EOS.undent + message += <<~EOS You can access it again by running: brew tap #{new_tap_name} EOS @@ -124,7 +124,7 @@ module Homebrew unless silent ohai "Searching for a previously deleted formula..." if (tap.path/".git/shallow").exist? - opoo <<-EOS.undent + opoo <<~EOS #{tap} is shallow clone. To get complete history run: git -C "$(brew --repo #{tap})" fetch --unshallow @@ -147,7 +147,7 @@ module Homebrew commit_message.sub!(/ \(#(\d+)\)$/, " (#{tap.issues_url}/\\1)") commit_message.gsub!(/(Closes|Fixes) #(\d+)/, "\\1 #{tap.issues_url}/\\2") - <<-EOS.undent + <<~EOS #{name} was deleted from #{tap.name} in commit #{short_hash}: #{commit_message} diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index 9dbb252e4..9796339e6 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -208,7 +208,7 @@ module OS send(:"#{method}_version") == build end rescue IndexError - onoe <<-EOS.undent + onoe <<~EOS Homebrew doesn't know what compiler versions ship with your version of Xcode (#{Xcode.version}). Please `brew update` and if that doesn't help, file an issue with the output of `brew --config`: diff --git a/Library/Homebrew/os/mac/keg.rb b/Library/Homebrew/os/mac/keg.rb index 6caadb1d7..6f2d65fb4 100644 --- a/Library/Homebrew/os/mac/keg.rb +++ b/Library/Homebrew/os/mac/keg.rb @@ -5,7 +5,7 @@ class Keg puts "Changing dylib ID of #{file}\n from #{file.dylib_id}\n to #{id}" if ARGV.debug? MachO::Tools.change_dylib_id(file, id, strict: false) rescue MachO::MachOError - onoe <<-EOS.undent + onoe <<~EOS Failed changing dylib ID of #{file} from #{file.dylib_id} to #{id} @@ -19,7 +19,7 @@ class Keg puts "Changing install name in #{file}\n from #{old}\n to #{new}" if ARGV.debug? MachO::Tools.change_install_name(file, old, new, strict: false) rescue MachO::MachOError - onoe <<-EOS.undent + onoe <<~EOS Failed changing install name in #{file} from #{old} to #{new} diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 5071aafcf..83924a2be 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -86,11 +86,11 @@ module OS def update_instructions if MacOS.version >= "10.9" && !OS::Mac.prerelease? - <<-EOS.undent + <<~EOS Xcode can be updated from the App Store. EOS else - <<-EOS.undent + <<~EOS Xcode can be updated from https://developer.apple.com/download/more/ EOS @@ -199,11 +199,11 @@ module OS def update_instructions if MacOS.version >= "10.9" - <<-EOS.undent + <<~EOS Update them from Software Update in the App Store. EOS elsif MacOS.version == "10.8" || MacOS.version == "10.7" - <<-EOS.undent + <<~EOS The standalone package can be obtained from https://developer.apple.com/download/more/ or it can be installed via Xcode's preferences. diff --git a/Library/Homebrew/patch.rb b/Library/Homebrew/patch.rb index 8a1b00930..a44add10e 100644 --- a/Library/Homebrew/patch.rb +++ b/Library/Homebrew/patch.rb @@ -139,7 +139,7 @@ class ExternalPatch if patch_files.empty? children = patch_dir.children if children.length != 1 || !children.first.file? - raise MissingApplyError, <<-EOS.undent + raise MissingApplyError, <<~EOS There should be exactly one patch file in the staging directory unless the "apply" method was used one or more times in the patch-do block. EOS diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb index 1ec8580c4..a69c68466 100644 --- a/Library/Homebrew/requirement.rb +++ b/Library/Homebrew/requirement.rb @@ -35,18 +35,16 @@ class Requirement _, _, class_name = self.class.to_s.rpartition "::" s = "#{class_name} unsatisfied!\n" if cask - s += <<-EOS.undent - + s += <<~EOS You can install with Homebrew-Cask: - brew cask install #{cask} + brew cask install #{cask} EOS end if download - s += <<-EOS.undent - + s += <<~EOS You can download from: - #{download} + #{download} EOS end s diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index bac7d5790..35a0c242c 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -34,16 +34,16 @@ class XcodeRequirement < Requirement def message version = " #{@version}" if @version - message = <<-EOS.undent + message = <<~EOS A full installation of Xcode.app#{version} is required to compile this software. Installing just the Command Line Tools is not sufficient. EOS if MacOS.version >= :lion - message + <<-EOS.undent + message + <<~EOS Xcode can be installed from the App Store. EOS else - message + <<-EOS.undent + message + <<~EOS Xcode can be installed from #{Formatter.url("https://developer.apple.com/download/more/")}. EOS end @@ -83,7 +83,7 @@ class TeXRequirement < Requirement satisfy { which("tex") || which("latex") } def message - s = <<-EOS.undent + s = <<~EOS A LaTeX distribution is required for Homebrew to install this formula. Make sure that "/usr/texbin", or the location you installed it to, is in diff --git a/Library/Homebrew/requirements/language_module_requirement.rb b/Library/Homebrew/requirements/language_module_requirement.rb index 392bc9b7a..5ddce7a66 100644 --- a/Library/Homebrew/requirements/language_module_requirement.rb +++ b/Library/Homebrew/requirements/language_module_requirement.rb @@ -13,16 +13,15 @@ class LanguageModuleRequirement < Requirement satisfy(build_env: false) { quiet_system(*the_test) } def message - s = <<-EOS.undent + s = <<~EOS Unsatisfied dependency: #{@module_name} Homebrew does not provide special #{@language.to_s.capitalize} dependencies; install with: `#{command_line} #{@module_name}` EOS unless [:python, :perl, :ruby].include? @language - s += <<-EOS.undent - - You may need to: `brew install #{@language}` + s += <<~EOS + You may need to: `brew install #{@language}` EOS end diff --git a/Library/Homebrew/requirements/maximum_macos_requirement.rb b/Library/Homebrew/requirements/maximum_macos_requirement.rb index 6e798b478..9a8851390 100644 --- a/Library/Homebrew/requirements/maximum_macos_requirement.rb +++ b/Library/Homebrew/requirements/maximum_macos_requirement.rb @@ -11,7 +11,7 @@ class MaximumMacOSRequirement < Requirement satisfy(build_env: false) { MacOS.version <= @version } def message - <<-EOS.undent + <<~EOS This formula either does not compile or function as expected on macOS versions newer than #{@version.pretty_name} due to an upstream incompatibility. EOS diff --git a/Library/Homebrew/requirements/unsigned_kext_requirement.rb b/Library/Homebrew/requirements/unsigned_kext_requirement.rb index 2ffc8fda3..b58a20ea6 100644 --- a/Library/Homebrew/requirements/unsigned_kext_requirement.rb +++ b/Library/Homebrew/requirements/unsigned_kext_requirement.rb @@ -6,7 +6,7 @@ class UnsignedKextRequirement < Requirement satisfy(build_env: false) { MacOS.version < :yosemite } def message - s = <<-EOS.undent + s = <<~EOS Building this formula from source isn't possible due to OS X Yosemite (10.10) and above's strict unsigned kext ban. EOS diff --git a/Library/Homebrew/rubocops/conflicts_cop.rb b/Library/Homebrew/rubocops/conflicts_cop.rb index 6f05d0567..1cca3f8ae 100644 --- a/Library/Homebrew/rubocops/conflicts_cop.rb +++ b/Library/Homebrew/rubocops/conflicts_cop.rb @@ -6,7 +6,7 @@ module RuboCop module FormulaAudit # This cop audits versioned Formulae for `conflicts_with` class Conflicts < FormulaCop - MSG = <<-EOS.undent + MSG = <<~EOS.freeze Versioned formulae should not use `conflicts_with`. Use `keg_only :versioned_formula` instead. EOS diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb index fccce0ded..7531e62b7 100644 --- a/Library/Homebrew/rubocops/extend/formula_cop.rb +++ b/Library/Homebrew/rubocops/extend/formula_cop.rb @@ -167,19 +167,19 @@ module RuboCop type_match && name_match end - def_node_search :required_dependency?, <<-EOS.undent + def_node_search :required_dependency?, <<~EOS (send nil :depends_on ({str sym} _)) EOS - def_node_search :required_dependency_name?, <<-EOS.undent + def_node_search :required_dependency_name?, <<~EOS (send nil :depends_on ({str sym} %1)) EOS - def_node_search :dependency_type_hash_match?, <<-EOS.undent + def_node_search :dependency_type_hash_match?, <<~EOS (hash (pair ({str sym} _) ({str sym} %1))) EOS - def_node_search :dependency_name_hash_match?, <<-EOS.undent + def_node_search :dependency_name_hash_match?, <<~EOS (hash (pair ({str sym} %1) ({str sym} _))) EOS diff --git a/Library/Homebrew/rubocops/formula_desc_cop.rb b/Library/Homebrew/rubocops/formula_desc_cop.rb index 2ef60303d..05f60c9d5 100644 --- a/Library/Homebrew/rubocops/formula_desc_cop.rb +++ b/Library/Homebrew/rubocops/formula_desc_cop.rb @@ -29,7 +29,7 @@ module RuboCop desc_length = "#{@formula_name}: #{string_content(desc)}".length max_desc_length = 80 return if desc_length <= max_desc_length - problem <<-EOS.undent + problem <<~EOS Description is too long. "name: desc" should be less than #{max_desc_length} characters. Length is calculated as #{@formula_name} + desc. (currently #{desc_length}) EOS diff --git a/Library/Homebrew/rubocops/lines_cop.rb b/Library/Homebrew/rubocops/lines_cop.rb index a45f673c6..4172aad96 100644 --- a/Library/Homebrew/rubocops/lines_cop.rb +++ b/Library/Homebrew/rubocops/lines_cop.rb @@ -109,7 +109,7 @@ module RuboCop end find_method_with_args(body_node, :skip_clean, :all) do - problem <<-EOS.undent.chomp + problem <<~EOS.chomp `skip_clean :all` is deprecated; brew no longer strips symbols Pass explicit paths to prevent Homebrew from removing empty folders. EOS @@ -131,7 +131,7 @@ module RuboCop end # Node Pattern search for Language::Node - def_node_search :languageNodeModule?, <<-EOS.undent + def_node_search :languageNodeModule?, <<~EOS (const (const nil :Language) :Node) EOS end diff --git a/Library/Homebrew/rubocops/patches_cop.rb b/Library/Homebrew/rubocops/patches_cop.rb index 7ee1a127a..a752f1019 100644 --- a/Library/Homebrew/rubocops/patches_cop.rb +++ b/Library/Homebrew/rubocops/patches_cop.rb @@ -28,7 +28,7 @@ module RuboCop gh_patch_param_pattern = %r{https?://github\.com/.+/.+/(?:commit|pull)/[a-fA-F0-9]*.(?:patch|diff)} if regex_match_group(patch, gh_patch_param_pattern) if patch_url !~ /\?full_index=\w+$/ - problem <<-EOS.undent + problem <<~EOS GitHub patches should use the full_index parameter: #{patch_url}?full_index=1 EOS @@ -41,7 +41,7 @@ module RuboCop %r{gist\.githubusercontent\.com/.+/raw}]) if regex_match_group(patch, gh_patch_patterns) if patch_url !~ /[a-fA-F0-9]{40}/ - problem <<-EOS.undent.chomp + problem <<~EOS.chomp GitHub/Gist patches should specify a revision: #{patch_url} EOS @@ -50,7 +50,7 @@ module RuboCop gh_patch_diff_pattern = %r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)} if match_obj = regex_match_group(patch, gh_patch_diff_pattern) - problem <<-EOS.undent + problem <<~EOS use GitHub pull request URLs: https://github.com/#{match_obj[1]}/#{match_obj[2]}/pull/#{match_obj[3]}.patch Rather than patch-diff: @@ -59,21 +59,21 @@ module RuboCop end if regex_match_group(patch, %r{macports/trunk}) - problem <<-EOS.undent.chomp + problem <<~EOS.chomp MacPorts patches should specify a revision instead of trunk: #{patch_url} EOS end if regex_match_group(patch, %r{^http://trac\.macports\.org}) - problem <<-EOS.undent.chomp + problem <<~EOS.chomp Patches from MacPorts Trac should be https://, not http: #{patch_url} EOS end return unless regex_match_group(patch, %r{^http://bugs\.debian\.org}) - problem <<-EOS.undent.chomp + problem <<~EOS.chomp Patches from Debian should be https://, not http: #{patch_url} EOS diff --git a/Library/Homebrew/rubocops/urls_cop.rb b/Library/Homebrew/rubocops/urls_cop.rb index 071a4c42d..414f633c9 100644 --- a/Library/Homebrew/rubocops/urls_cop.rb +++ b/Library/Homebrew/rubocops/urls_cop.rb @@ -104,7 +104,7 @@ module RuboCop end if url =~ %r{^https?://prdownloads\.} - problem <<-EOS.undent.chomp + problem <<~EOS.chomp Don't use prdownloads in SourceForge urls (url is #{url}). See: http://librelist.com/browser/homebrew/2011/1/12/prdownloads-is-bad/ EOS @@ -121,7 +121,7 @@ module RuboCop # one out of the grab bag. unsecure_deb_pattern = %r{^http://http\.debian\.net/debian/(.*)}i audit_urls(urls, unsecure_deb_pattern) do |match, _| - problem <<-EOS.undent + problem <<~EOS Please use a secure mirror for Debian URLs. We recommend: https://mirrors.ocf.berkeley.edu/debian/#{match[1]} @@ -176,7 +176,7 @@ module RuboCop # Don't use GitHub codeload URLs codeload_gh_pattern = %r{https?://codeload\.github\.com/(.+)/(.+)/(?:tar\.gz|zip)/(.+)} audit_urls(urls, codeload_gh_pattern) do |match, url| - problem <<-EOS.undent + problem <<~EOS Use GitHub archive URLs: https://github.com/#{match[1]}/#{match[2]}/archive/#{match[3]}.tar.gz Rather than codeload: diff --git a/Library/Homebrew/sandbox.rb b/Library/Homebrew/sandbox.rb index 7d23e5966..ea74fae09 100644 --- a/Library/Homebrew/sandbox.rb +++ b/Library/Homebrew/sandbox.rb @@ -138,7 +138,7 @@ class Sandbox end class SandboxProfile - SEATBELT_ERB = <<-EOS.undent + SEATBELT_ERB = <<~EOS.freeze (version 1) (debug deny) ; log all denied operations to /var/log/system.log <%= rules.join("\n") %> diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index c12c121e4..ebfc4cd80 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -267,7 +267,7 @@ class Tap return if options[:clone_target] return unless private? return if quiet - puts <<-EOS.undent + puts <<~EOS It looks like you tapped a private repository. To avoid entering your credentials each time you update, you can use git HTTP credential caching or issue the following command: diff --git a/Library/Homebrew/test/cask/artifact/app_spec.rb b/Library/Homebrew/test/cask/artifact/app_spec.rb index 4ead8b7f9..285cc4f31 100644 --- a/Library/Homebrew/test/cask/artifact/app_spec.rb +++ b/Library/Homebrew/test/cask/artifact/app_spec.rb @@ -82,12 +82,12 @@ describe Hbc::Artifact::App, :cask do describe "target is both writable and user-owned" do it "overwrites the existing app" do - stdout = <<-EOS.undent + stdout = <<~EOS ==> Removing App '#{target_path}'. ==> Moving App 'Caffeine.app' to '#{target_path}'. EOS - stderr = <<-EOS.undent + stderr = <<~EOS Warning: It seems there is already an App at '#{target_path}'; overwriting. EOS @@ -117,12 +117,12 @@ describe Hbc::Artifact::App, :cask do expect(command).to receive(:run).with("/usr/bin/chflags", args: ["-R", "--", "000", target_path], must_succeed: false) .and_call_original - stdout = <<-EOS.undent + stdout = <<~EOS ==> Removing App '#{target_path}'. ==> Moving App 'Caffeine.app' to '#{target_path}'. EOS - stderr = <<-EOS.undent + stderr = <<~EOS Warning: It seems there is already an App at '#{target_path}'; overwriting. EOS @@ -162,12 +162,12 @@ describe Hbc::Artifact::App, :cask do let(:force) { true } it "overwrites the existing app" do - stdout = <<-EOS.undent + stdout = <<~EOS ==> Removing App '#{target_path}'. ==> Moving App 'Caffeine.app' to '#{target_path}'. EOS - stderr = <<-EOS.undent + stderr = <<~EOS Warning: It seems there is already an App at '#{target_path}'; overwriting. EOS diff --git a/Library/Homebrew/test/cask/artifact/pkg_spec.rb b/Library/Homebrew/test/cask/artifact/pkg_spec.rb index 7f1b64d1a..89916d283 100644 --- a/Library/Homebrew/test/cask/artifact/pkg_spec.rb +++ b/Library/Homebrew/test/cask/artifact/pkg_spec.rb @@ -29,7 +29,7 @@ describe Hbc::Artifact::Pkg, :cask do file = double(path: Pathname.new("/tmp/choices.xml")) - expect(file).to receive(:write).with(<<-EOS.undent) + expect(file).to receive(:write).with(<<~EOS) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> diff --git a/Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb b/Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb index 7f2ef75b3..8367dc27d 100644 --- a/Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb +++ b/Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb @@ -61,7 +61,7 @@ describe Hbc::Artifact::App, :cask do target_path_mini.mkpath expect { - expect(install_phase).to output(<<-EOS.undent).to_stdout + expect(install_phase).to output(<<~EOS).to_stdout ==> Moving App 'Caffeine Pro.app' to '#{target_path_pro}' EOS }.to raise_error(Hbc::CaskError, "It seems there is already an App at '#{target_path_mini}'.") @@ -75,7 +75,7 @@ describe Hbc::Artifact::App, :cask do target_path_pro.mkpath expect { - expect(install_phase).to output(<<-EOS.undent).to_stdout + expect(install_phase).to output(<<~EOS).to_stdout ==> Moving App 'Caffeine Mini.app' to '#{target_path_mini}' EOS }.to raise_error(Hbc::CaskError, "It seems there is already an App at '#{target_path_pro}'.") diff --git a/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb b/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb index b9872ab9e..7edfb9e1c 100644 --- a/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb +++ b/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb @@ -11,7 +11,7 @@ shared_examples "#uninstall_phase or #zap_phase" do let(:launchctl_remove_cmd) { %w[/bin/launchctl remove my.fancy.package.service] } let(:unknown_response) { "launchctl list returned unknown response\n" } let(:service_info) do - <<-EOS.undent + <<~EOS { "LimitLoadToSessionType" = "Aqua"; "Label" = "my.fancy.package.service"; diff --git a/Library/Homebrew/test/cask/cli/cat_spec.rb b/Library/Homebrew/test/cask/cli/cat_spec.rb index 6b54a2e4b..e1db1b17d 100644 --- a/Library/Homebrew/test/cask/cli/cat_spec.rb +++ b/Library/Homebrew/test/cask/cli/cat_spec.rb @@ -7,7 +7,7 @@ describe Hbc::CLI::Cat, :cask do describe "given a basic Cask" do let(:basic_cask_content) { - <<-EOS.undent + <<~EOS cask 'basic-cask' do version '1.2.3' sha256 '8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b' diff --git a/Library/Homebrew/test/cask/cli/cleanup_spec.rb b/Library/Homebrew/test/cask/cli/cleanup_spec.rb index 7cf00352d..cbef71be8 100644 --- a/Library/Homebrew/test/cask/cli/cleanup_spec.rb +++ b/Library/Homebrew/test/cask/cli/cleanup_spec.rb @@ -32,7 +32,7 @@ describe Hbc::CLI::Cleanup, :cask do expect { subject.run - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout ==> Removing cached downloads for #{cask_token} #{cached_downloads[0]} ==> This operation has freed approximately #{disk_usage_readable(cleanup_size)} of disk space. @@ -52,7 +52,7 @@ describe Hbc::CLI::Cleanup, :cask do expect { subject.run - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout ==> Removing cached downloads #{cached_download} ==> This operation has freed approximately #{disk_usage_readable(cleanup_size)} of disk space. @@ -70,7 +70,7 @@ describe Hbc::CLI::Cleanup, :cask do expect { subject.run - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout ==> Removing cached downloads older than 10 days old Nothing to do EOS diff --git a/Library/Homebrew/test/cask/cli/create_spec.rb b/Library/Homebrew/test/cask/cli/create_spec.rb index 60c03db75..1b15ecd40 100644 --- a/Library/Homebrew/test/cask/cli/create_spec.rb +++ b/Library/Homebrew/test/cask/cli/create_spec.rb @@ -28,7 +28,7 @@ describe Hbc::CLI::Create, :cask do it "drops a template down for the specified Cask" do described_class.run("new-cask") template = File.read(Hbc::CaskLoader.path("new-cask")) - expect(template).to eq <<-EOS.undent + expect(template).to eq <<~EOS cask 'new-cask' do version '' sha256 '' diff --git a/Library/Homebrew/test/cask/cli/info_spec.rb b/Library/Homebrew/test/cask/cli/info_spec.rb index e24eead11..0fc751e06 100644 --- a/Library/Homebrew/test/cask/cli/info_spec.rb +++ b/Library/Homebrew/test/cask/cli/info_spec.rb @@ -8,7 +8,7 @@ describe Hbc::CLI::Info, :cask do it "displays some nice info about the specified Cask" do expect { described_class.run("local-caffeine") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine: 1.2.3 http://example.com/local-caffeine Not installed @@ -22,7 +22,7 @@ describe Hbc::CLI::Info, :cask do describe "given multiple Casks" do let(:expected_output) { - <<-EOS.undent + <<~EOS local-caffeine: 1.2.3 http://example.com/local-caffeine Not installed @@ -52,7 +52,7 @@ describe Hbc::CLI::Info, :cask do it "should print caveats if the Cask provided one" do expect { described_class.run("with-caveats") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout with-caveats: 1.2.3 http://example.com/local-caffeine Not installed @@ -78,7 +78,7 @@ describe Hbc::CLI::Info, :cask do it 'should not print "Caveats" section divider if the caveats block has no output' do expect { described_class.run("with-conditional-caveats") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout with-conditional-caveats: 1.2.3 http://example.com/local-caffeine Not installed @@ -93,7 +93,7 @@ describe Hbc::CLI::Info, :cask do it "prints languages specified in the Cask" do expect { described_class.run("with-languages") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout with-languages: 1.2.3 http://example.com/local-caffeine Not installed @@ -110,7 +110,7 @@ describe Hbc::CLI::Info, :cask do it 'does not print "Languages" section divider if the languages block has no output' do expect { described_class.run("without-languages") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout without-languages: 1.2.3 http://example.com/local-caffeine Not installed diff --git a/Library/Homebrew/test/cask/cli/install_spec.rb b/Library/Homebrew/test/cask/cli/install_spec.rb index c918a3529..25d6cdc93 100644 --- a/Library/Homebrew/test/cask/cli/install_spec.rb +++ b/Library/Homebrew/test/cask/cli/install_spec.rb @@ -6,7 +6,7 @@ describe Hbc::CLI::Install, :cask do it_behaves_like "a command that handles invalid options" it "displays the installation progress" do - output = Regexp.new <<-EOS.undent + output = Regexp.new <<~EOS ==> Downloading file:.*caffeine.zip ==> Verifying checksum for Cask local-caffeine ==> Installing Cask local-caffeine diff --git a/Library/Homebrew/test/cask/cli/list_spec.rb b/Library/Homebrew/test/cask/cli/list_spec.rb index 301ca9b89..eef233acc 100644 --- a/Library/Homebrew/test/cask/cli/list_spec.rb +++ b/Library/Homebrew/test/cask/cli/list_spec.rb @@ -12,7 +12,7 @@ describe Hbc::CLI::List, :cask do expect { described_class.run - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine local-transmission EOS @@ -31,7 +31,7 @@ describe Hbc::CLI::List, :cask do expect { described_class.run("--full-name") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine local-transmission third-party/tap/third-party-cask @@ -41,7 +41,7 @@ describe Hbc::CLI::List, :cask do describe "lists versions" do let(:casks) { ["local-caffeine", "local-transmission"] } let(:expected_output) { - <<-EOS.undent + <<~EOS local-caffeine 1.2.3 local-transmission 2.61 EOS @@ -78,7 +78,7 @@ describe Hbc::CLI::List, :cask do expect { described_class.run("local-transmission", "local-caffeine") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout ==> Apps #{Hbc.appdir.join("Transmission.app")} (#{Hbc.appdir.join("Transmission.app").abv}) ==> Apps diff --git a/Library/Homebrew/test/cask/cli/outdated_spec.rb b/Library/Homebrew/test/cask/cli/outdated_spec.rb index 5bbf18d21..1ee6a6d7d 100644 --- a/Library/Homebrew/test/cask/cli/outdated_spec.rb +++ b/Library/Homebrew/test/cask/cli/outdated_spec.rb @@ -23,7 +23,7 @@ describe Hbc::CLI::Outdated, :cask do it "checks all the installed Casks when no token is provided" do expect { described_class.run - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine (1.2.2) != 1.2.3 local-transmission (2.60) != 2.61 EOS @@ -32,7 +32,7 @@ describe Hbc::CLI::Outdated, :cask do it "checks only the tokens specified in the command line" do expect { described_class.run("local-caffeine") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine (1.2.2) != 1.2.3 EOS end @@ -40,7 +40,7 @@ describe Hbc::CLI::Outdated, :cask do it 'ignores "auto_updates" and "latest" Casks even when their tokens are provided in the command line' do expect { described_class.run("local-caffeine", "auto-updates", "version-latest-string") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine (1.2.2) != 1.2.3 EOS end @@ -54,7 +54,7 @@ describe Hbc::CLI::Outdated, :cask do it "lists only the names (no versions) of the outdated Casks with --quiet" do expect { described_class.run("--verbose", "--quiet") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine local-transmission EOS @@ -65,7 +65,7 @@ describe Hbc::CLI::Outdated, :cask do it 'includes the Casks with "auto_updates true" or "version latest" with --greedy' do expect { described_class.run("--greedy") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout auto-updates (2.57) != 2.61 local-caffeine (1.2.2) != 1.2.3 local-transmission (2.60) != 2.61 @@ -79,7 +79,7 @@ describe Hbc::CLI::Outdated, :cask do expect { described_class.run("--greedy") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine (1.2.2) != 1.2.3 local-transmission (2.60) != 2.61 version-latest-string (latest) != latest diff --git a/Library/Homebrew/test/cask/cli/reinstall_spec.rb b/Library/Homebrew/test/cask/cli/reinstall_spec.rb index 95294b695..5e551e5b5 100644 --- a/Library/Homebrew/test/cask/cli/reinstall_spec.rb +++ b/Library/Homebrew/test/cask/cli/reinstall_spec.rb @@ -8,7 +8,7 @@ describe Hbc::CLI::Reinstall, :cask do Hbc::Installer.new(caffeine).install - output = Regexp.new <<-EOS.undent + output = Regexp.new <<~EOS ==> Downloading file:.*caffeine.zip Already downloaded: .*local-caffeine--1.2.3.zip ==> Verifying checksum for Cask local-caffeine diff --git a/Library/Homebrew/test/cask/cli/search_spec.rb b/Library/Homebrew/test/cask/cli/search_spec.rb index a4f796f3c..cd1a7bd43 100644 --- a/Library/Homebrew/test/cask/cli/search_spec.rb +++ b/Library/Homebrew/test/cask/cli/search_spec.rb @@ -12,7 +12,7 @@ describe Hbc::CLI::Search, :cask do expect { Hbc::CLI::Search.run("local") - }.to output(<<-EOS.undent).to_stdout.as_tty + }.to output(<<~EOS).to_stdout.as_tty ==> Partial Matches local-caffeine local-transmission @@ -24,7 +24,7 @@ describe Hbc::CLI::Search, :cask do expect { Hbc::CLI::Search.run("local") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine local-transmission EOS @@ -35,7 +35,7 @@ describe Hbc::CLI::Search, :cask do expect { Hbc::CLI::Search.run("local") - }.to output(<<-EOS.undent).to_stdout + }.to output(<<~EOS).to_stdout local-caffeine local-transmission EOS @@ -45,7 +45,7 @@ describe Hbc::CLI::Search, :cask do it "shows that there are no Casks matching a search term that did not result in anything" do expect { Hbc::CLI::Search.run("foo-bar-baz") - }.to output(<<-EOS.undent).to_stdout.as_tty + }.to output(<<~EOS).to_stdout.as_tty No Cask found for "foo-bar-baz". EOS end @@ -84,7 +84,7 @@ describe Hbc::CLI::Search, :cask do it "accepts a regexp argument" do expect { Hbc::CLI::Search.run("/^local-c[a-z]ffeine$/") - }.to output(<<-EOS.undent).to_stdout.as_tty + }.to output(<<~EOS).to_stdout.as_tty ==> Regexp Matches local-caffeine EOS @@ -93,7 +93,7 @@ describe Hbc::CLI::Search, :cask do it "returns both exact and partial matches" do expect { Hbc::CLI::Search.run("test-opera") - }.to output(<<-EOS.undent).to_stdout.as_tty + }.to output(<<~EOS).to_stdout.as_tty ==> Exact Match test-opera ==> Partial Matches @@ -104,7 +104,7 @@ describe Hbc::CLI::Search, :cask do it "does not search the Tap name" do expect { Hbc::CLI::Search.run("caskroom") - }.to output(<<-EOS.undent).to_stdout.as_tty + }.to output(<<~EOS).to_stdout.as_tty No Cask found for "caskroom". EOS end diff --git a/Library/Homebrew/test/cask/cli/uninstall_spec.rb b/Library/Homebrew/test/cask/cli/uninstall_spec.rb index 80b7edbd3..1ab8f7e4d 100644 --- a/Library/Homebrew/test/cask/cli/uninstall_spec.rb +++ b/Library/Homebrew/test/cask/cli/uninstall_spec.rb @@ -10,7 +10,7 @@ describe Hbc::CLI::Uninstall, :cask do Hbc::Installer.new(caffeine).install - output = Regexp.new <<-EOS.undent + output = Regexp.new <<~EOS ==> Uninstalling Cask local-caffeine ==> Removing App '.*Caffeine.app'. EOS @@ -107,7 +107,7 @@ describe Hbc::CLI::Uninstall, :cask do timestamped_versions.each do |timestamped_version| caskroom_path.join(".metadata", *timestamped_version, "Casks").tap(&:mkpath) .join("#{token}.rb").open("w") do |caskfile| - caskfile.puts <<-EOS.undent + caskfile.puts <<~EOS cask '#{token}' do version '#{timestamped_version[0]}' end @@ -153,7 +153,7 @@ describe Hbc::CLI::Uninstall, :cask do saved_caskfile.dirname.mkpath - IO.write saved_caskfile, <<-EOS.undent + IO.write saved_caskfile, <<~EOS cask 'ive-been-renamed' do version :latest diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index 28cf6f4b2..a17acfca6 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -20,7 +20,7 @@ describe Hbc::DSL, :cask do } it "prints a warning that it has encountered an unexpected method" do - expected = Regexp.compile(<<-EOS.undent.lines.map(&:chomp).join("")) + expected = Regexp.compile(<<~EOS.lines.map(&:chomp).join("")) (?m) Warning: .* @@ -232,7 +232,7 @@ describe Hbc::DSL, :cask do expect(cask.caveats).to be_empty cask = Hbc::Cask.new("cask-with-caveats") do - def caveats; <<-EOS.undent + def caveats; <<~EOS When you install this Cask, you probably want to know this. EOS end diff --git a/Library/Homebrew/test/cask/pkg_spec.rb b/Library/Homebrew/test/cask/pkg_spec.rb index 07443e76e..f92d6854e 100644 --- a/Library/Homebrew/test/cask/pkg_spec.rb +++ b/Library/Homebrew/test/cask/pkg_spec.rb @@ -123,7 +123,7 @@ describe Hbc::Pkg, :cask do end let(:pkg_info_plist) do - <<-EOS.undent + <<~EOS <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> diff --git a/Library/Homebrew/test/cask/system_command_result_spec.rb b/Library/Homebrew/test/cask/system_command_result_spec.rb index 4a077de7b..d09f1220c 100644 --- a/Library/Homebrew/test/cask/system_command_result_spec.rb +++ b/Library/Homebrew/test/cask/system_command_result_spec.rb @@ -5,7 +5,7 @@ describe Hbc::SystemCommand::Result, :cask do subject { described_class._parse_plist(command, input) } let(:command) { Hbc::SystemCommand.new("/usr/bin/true", {}) } let(:plist) { - <<-EOS.undent + <<~EOS <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> @@ -54,7 +54,7 @@ describe Hbc::SystemCommand::Result, :cask do context "when output contains garbage" do let(:input) { - <<-EOS.undent + <<~EOS Hello there! I am in no way XML am I?!?! That's a little silly... you were expexting XML here! diff --git a/Library/Homebrew/test/cmd/custom-external-command_spec.rb b/Library/Homebrew/test/cmd/custom-external-command_spec.rb index d649786ec..8e6ffe2ff 100644 --- a/Library/Homebrew/test/cmd/custom-external-command_spec.rb +++ b/Library/Homebrew/test/cmd/custom-external-command_spec.rb @@ -4,7 +4,7 @@ describe "brew custom-external-command", :integration_test do cmd = "custom-external-command-#{rand}" file = path/"brew-#{cmd}" - file.write <<-EOS.undent + file.write <<~EOS #!/bin/sh echo 'I am #{cmd}.' EOS diff --git a/Library/Homebrew/test/cmd/install_spec.rb b/Library/Homebrew/test/cmd/install_spec.rb index b6030f26a..8a9f7a0d2 100644 --- a/Library/Homebrew/test/cmd/install_spec.rb +++ b/Library/Homebrew/test/cmd/install_spec.rb @@ -56,7 +56,7 @@ describe "brew install", :integration_test do end specify "install failures" do - path = setup_test_formula "testball1", <<-EOS.undent + path = setup_test_formula "testball1", <<~EOS version "1.0" EOS @@ -66,7 +66,7 @@ describe "brew install", :integration_test do .and be_a_success FileUtils.rm path - setup_test_formula "testball1", <<-EOS.undent + setup_test_formula "testball1", <<~EOS version "2.0" devel do @@ -120,7 +120,7 @@ describe "brew install", :integration_test do end it "can install keg-only Formulae" do - path_keg_only = setup_test_formula "testball1", <<-EOS.undent + path_keg_only = setup_test_formula "testball1", <<~EOS version "1.0" keg_only "test reason" @@ -132,7 +132,7 @@ describe "brew install", :integration_test do .and be_a_success FileUtils.rm path_keg_only - setup_test_formula "testball1", <<-EOS.undent + setup_test_formula "testball1", <<~EOS version "2.0" keg_only "test reason" @@ -162,7 +162,7 @@ describe "brew install", :integration_test do system "git", "commit", "-m", "Initial repo commit" end - setup_test_formula "testball1", <<-EOS.undent + setup_test_formula "testball1", <<~EOS version "1.0" head "file://#{repo_path}", :using => :git @@ -205,7 +205,7 @@ describe "brew install", :integration_test do end it "succeeds when a non-fatal requirement isn't satisfied" do - setup_test_formula "testball1", <<-EOS.undent + setup_test_formula "testball1", <<~EOS class NonFatalRequirement < Requirement satisfy { false } end @@ -220,7 +220,7 @@ describe "brew install", :integration_test do end it "fails when a fatal requirement isn't satisfied" do - setup_test_formula "testball1", <<-EOS.undent + setup_test_formula "testball1", <<~EOS class FatalRequirement < Requirement fatal true satisfy { false } diff --git a/Library/Homebrew/test/cmd/irb_spec.rb b/Library/Homebrew/test/cmd/irb_spec.rb index 44410fabe..0423c6ab7 100644 --- a/Library/Homebrew/test/cmd/irb_spec.rb +++ b/Library/Homebrew/test/cmd/irb_spec.rb @@ -3,7 +3,7 @@ describe "brew irb", :integration_test do setup_test_formula "testball" irb_test = HOMEBREW_TEMP/"irb-test.rb" - irb_test.write <<-EOS.undent + irb_test.write <<~EOS "testball".f :testball.f exit diff --git a/Library/Homebrew/test/cmd/link_spec.rb b/Library/Homebrew/test/cmd/link_spec.rb index 78942b7a8..bde321e4c 100644 --- a/Library/Homebrew/test/cmd/link_spec.rb +++ b/Library/Homebrew/test/cmd/link_spec.rb @@ -36,7 +36,7 @@ describe "brew link", :integration_test do end it "refuses to link keg-only Formulae" do - setup_test_formula "testball1", <<-EOS.undent + setup_test_formula "testball1", <<~EOS keg_only "just because" EOS diff --git a/Library/Homebrew/test/cmd/options_spec.rb b/Library/Homebrew/test/cmd/options_spec.rb index 33fe8b107..bb6b98a47 100644 --- a/Library/Homebrew/test/cmd/options_spec.rb +++ b/Library/Homebrew/test/cmd/options_spec.rb @@ -1,6 +1,6 @@ describe "brew options", :integration_test do it "prints a given Formula's options" do - setup_test_formula "testball", <<-EOS.undent + setup_test_formula "testball", <<~EOS depends_on "bar" => :recommended EOS diff --git a/Library/Homebrew/test/cmd/style_spec.rb b/Library/Homebrew/test/cmd/style_spec.rb index 9bc8fcab1..5c118f32e 100644 --- a/Library/Homebrew/test/cmd/style_spec.rb +++ b/Library/Homebrew/test/cmd/style_spec.rb @@ -19,7 +19,7 @@ describe "brew style" do it "returns RubocopResults when RuboCop reports offenses" do formula = dir/"my-formula.rb" - formula.write <<-'EOS'.undent + formula.write <<~'EOS' class MyFormula < Formula end diff --git a/Library/Homebrew/test/cmd/switch_spec.rb b/Library/Homebrew/test/cmd/switch_spec.rb index 00fe4ace6..48d7dcdd0 100644 --- a/Library/Homebrew/test/cmd/switch_spec.rb +++ b/Library/Homebrew/test/cmd/switch_spec.rb @@ -10,7 +10,7 @@ describe "brew switch", :integration_test do .and not_to_output.to_stdout .and be_a_failure - setup_test_formula "testball", <<-EOS.undent + setup_test_formula "testball", <<~EOS keg_only "just because" EOS diff --git a/Library/Homebrew/test/cmd/uses_spec.rb b/Library/Homebrew/test/cmd/uses_spec.rb index 2a6f48cb7..4a8c446a5 100644 --- a/Library/Homebrew/test/cmd/uses_spec.rb +++ b/Library/Homebrew/test/cmd/uses_spec.rb @@ -2,7 +2,7 @@ describe "brew uses", :integration_test do it "prints the Formulae a given Formula is used by" do setup_test_formula "foo" setup_test_formula "bar" - setup_test_formula "baz", <<-EOS.undent + setup_test_formula "baz", <<~EOS url "https://example.com/baz-1.0" depends_on "bar" EOS diff --git a/Library/Homebrew/test/deps_spec.rb b/Library/Homebrew/test/deps_spec.rb index 4c892c93d..f0ec514d9 100644 --- a/Library/Homebrew/test/deps_spec.rb +++ b/Library/Homebrew/test/deps_spec.rb @@ -2,7 +2,7 @@ describe "brew deps", :integration_test do before(:each) do setup_test_formula "foo" setup_test_formula "bar" - setup_test_formula "baz", <<-EOS.undent + setup_test_formula "baz", <<~EOS url "https://example.com/baz-1.0" depends_on "bar" EOS diff --git a/Library/Homebrew/test/descriptions_spec.rb b/Library/Homebrew/test/descriptions_spec.rb index e873c73b4..c4f67cc4c 100644 --- a/Library/Homebrew/test/descriptions_spec.rb +++ b/Library/Homebrew/test/descriptions_spec.rb @@ -19,7 +19,7 @@ describe Descriptions do descriptions_hash["somedev/external/foo"] = "External foo" expect { subject.print }.to output( - <<-EOS.undent + <<~EOS homebrew/core/foo: Core foo somedev/external/foo: External foo EOS @@ -32,7 +32,7 @@ describe Descriptions do descriptions_hash["otherdev/external/foo"] = "Other external foo" expect { subject.print }.to output( - <<-EOS.undent + <<~EOS homebrew/core/foo: Core foo otherdev/external/foo: Other external foo somedev/external/foo: External foo diff --git a/Library/Homebrew/test/dev-cmd/audit_spec.rb b/Library/Homebrew/test/dev-cmd/audit_spec.rb index 3e99bd06b..8dd3aee72 100644 --- a/Library/Homebrew/test/dev-cmd/audit_spec.rb +++ b/Library/Homebrew/test/dev-cmd/audit_spec.rb @@ -18,7 +18,7 @@ describe FormulaText do def formula_text(name, body = nil, options = {}) path = dir/"#{name}.rb" - path.write <<-EOS.undent + path.write <<~EOS class #{Formulary.class_s(name)} < Formula #{body} end @@ -29,7 +29,7 @@ describe FormulaText do end specify "simple valid Formula" do - ft = formula_text "valid", <<-EOS.undent + ft = formula_text "valid", <<~EOS url "http://www.example.com/valid-1.0.tar.gz" EOS @@ -49,7 +49,7 @@ describe FormulaText do end specify "#data?" do - ft = formula_text "data", <<-EOS.undent + ft = formula_text "data", <<~EOS patch :DATA EOS @@ -77,7 +77,7 @@ describe FormulaAuditor do describe "#problems" do it "is empty by default" do - fa = formula_auditor "foo", <<-EOS.undent + fa = formula_auditor "foo", <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" end @@ -91,7 +91,7 @@ describe FormulaAuditor do specify "file permissions" do allow(File).to receive(:umask).and_return(022) - fa = formula_auditor "foo", <<-EOS.undent + fa = formula_auditor "foo", <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" end @@ -106,7 +106,7 @@ describe FormulaAuditor do end specify "DATA but no __END__" do - fa = formula_auditor "foo", <<-EOS.undent + fa = formula_auditor "foo", <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" patch :DATA @@ -118,7 +118,7 @@ describe FormulaAuditor do end specify "__END__ but no DATA" do - fa = formula_auditor "foo", <<-EOS.undent + fa = formula_auditor "foo", <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" end @@ -138,7 +138,7 @@ describe FormulaAuditor do end specify "no issue" do - fa = formula_auditor "foo", <<-EOS.undent + fa = formula_auditor "foo", <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -152,7 +152,7 @@ describe FormulaAuditor do describe "#line_problems" do specify "pkgshare" do - fa = formula_auditor "foo", <<-EOS.undent, strict: true + fa = formula_auditor "foo", <<~EOS, strict: true class Foo < Formula url "http://example.com/foo-1.0.tgz" end @@ -184,7 +184,7 @@ describe FormulaAuditor do # Formulae with "++" in their name would break various audit regexps: # Error: nested *?+ in regexp: /^libxml++3\s/ specify "++ in name" do - fa = formula_auditor "foolibc++", <<-EOS.undent, strict: true + fa = formula_auditor "foolibc++", <<~EOS, strict: true class Foolibcxx < Formula desc "foolibc++ is a test" url "http://example.com/foo-1.0.tgz" @@ -205,7 +205,7 @@ describe FormulaAuditor do specify "#audit_github_repository when HOMEBREW_NO_GITHUB_API is set" do ENV["HOMEBREW_NO_GITHUB_API"] = "1" - fa = formula_auditor "foo", <<-EOS.undent, strict: true, online: true + fa = formula_auditor "foo", <<~EOS, strict: true, online: true class Foo < Formula homepage "https://github.com/example/example" url "http://example.com/foo-1.0.tgz" @@ -219,7 +219,7 @@ describe FormulaAuditor do describe "#audit_keg_only_style" do specify "keg_only_needs_downcasing" do - fa = formula_auditor "foo", <<-EOS.undent, strict: true + fa = formula_auditor "foo", <<~EOS, strict: true class Foo < Formula url "http://example.com/foo-1.0.tgz" @@ -233,7 +233,7 @@ describe FormulaAuditor do end specify "keg_only_redundant_period" do - fa = formula_auditor "foo", <<-EOS.undent, strict: true + fa = formula_auditor "foo", <<~EOS, strict: true class Foo < Formula url "http://example.com/foo-1.0.tgz" @@ -247,11 +247,11 @@ describe FormulaAuditor do end specify "keg_only_handles_block_correctly" do - fa = formula_auditor "foo", <<-EOS.undent, strict: true + fa = formula_auditor "foo", <<~EOS, strict: true class Foo < Formula url "http://example.com/foo-1.0.tgz" - keg_only <<-EOF.undent + keg_only <<~EOF this line starts with a lowercase word. This line does not but that shouldn't be a @@ -266,7 +266,7 @@ describe FormulaAuditor do end specify "keg_only_handles_whitelist_correctly" do - fa = formula_auditor "foo", <<-EOS.undent, strict: true + fa = formula_auditor "foo", <<~EOS, strict: true class Foo < Formula url "http://example.com/foo-1.0.tgz" @@ -290,7 +290,7 @@ describe FormulaAuditor do before(:each) do @foo_version = Count.increment - origin_formula_path.write <<-EOS.undent + origin_formula_path.write <<~EOS class Foo#{@foo_version} < Formula url "https://example.com/foo-1.0.tar.gz" revision 2 diff --git a/Library/Homebrew/test/dev-cmd/test_spec.rb b/Library/Homebrew/test/dev-cmd/test_spec.rb index 9ff365bfb..6e5d822bc 100644 --- a/Library/Homebrew/test/dev-cmd/test_spec.rb +++ b/Library/Homebrew/test/dev-cmd/test_spec.rb @@ -23,7 +23,7 @@ describe "brew test", :integration_test do end it "tests a given Formula" do - setup_test_formula "testball", <<-EOS.undent + setup_test_formula "testball", <<~EOS head "https://github.com/example/testball2.git" devel do diff --git a/Library/Homebrew/test/formula_installer_spec.rb b/Library/Homebrew/test/formula_installer_spec.rb index 7b729312b..1e3c04b68 100644 --- a/Library/Homebrew/test/formula_installer_spec.rb +++ b/Library/Homebrew/test/formula_installer_spec.rb @@ -100,7 +100,7 @@ describe FormulaInstaller do specify "check installation sanity pinned dependency" do dep_name = "dependency" dep_path = CoreTap.new.formula_dir/"#{dep_name}.rb" - dep_path.write <<-EOS.undent + dep_path.write <<~EOS class #{Formulary.class_s(dep_name)} < Formula url "foo" version "0.2" diff --git a/Library/Homebrew/test/formulary_spec.rb b/Library/Homebrew/test/formulary_spec.rb index 3180ad9a7..f091fdd03 100644 --- a/Library/Homebrew/test/formulary_spec.rb +++ b/Library/Homebrew/test/formulary_spec.rb @@ -6,7 +6,7 @@ describe Formulary do let(:formula_name) { "testball_bottle" } let(:formula_path) { CoreTap.new.formula_dir/"#{formula_name}.rb" } let(:formula_content) do - <<-EOS.undent + <<~EOS class #{subject.class_s(formula_name)} < Formula url "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz" sha256 TESTBALL_SHA256 @@ -66,7 +66,7 @@ describe Formulary do context "if the Formula has the wrong class" do let(:formula_name) { "giraffe" } let(:formula_content) do - <<-EOS.undent + <<~EOS class Wrong#{subject.class_s(formula_name)} < Formula end EOS diff --git a/Library/Homebrew/test/gpg2_requirement_spec.rb b/Library/Homebrew/test/gpg2_requirement_spec.rb index a5501c84e..8b9040b82 100644 --- a/Library/Homebrew/test/gpg2_requirement_spec.rb +++ b/Library/Homebrew/test/gpg2_requirement_spec.rb @@ -7,7 +7,7 @@ describe GPG2Requirement do describe "#satisfied?" do it "returns true if GPG2 is installed" do ENV["PATH"] = dir/"bin" - (dir/"bin/gpg").write <<-EOS.undent + (dir/"bin/gpg").write <<~EOS #!/bin/bash echo 2.1.20 EOS diff --git a/Library/Homebrew/test/inreplace_spec.rb b/Library/Homebrew/test/inreplace_spec.rb index 5be44f50d..330943be4 100644 --- a/Library/Homebrew/test/inreplace_spec.rb +++ b/Library/Homebrew/test/inreplace_spec.rb @@ -9,7 +9,7 @@ describe StringInreplaceExtension do context "flag" do context "with spaces" do let(:string) do - <<-EOS.undent + <<~EOS OTHER=def FLAG = abc FLAG2=abc @@ -18,7 +18,7 @@ describe StringInreplaceExtension do it "is successfully replaced" do subject.change_make_var! "FLAG", "def" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS OTHER=def FLAG=def FLAG2=abc @@ -27,7 +27,7 @@ describe StringInreplaceExtension do it "is successfully appended" do subject.change_make_var! "FLAG", "\\1 def" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS OTHER=def FLAG=abc def FLAG2=abc @@ -37,7 +37,7 @@ describe StringInreplaceExtension do context "with tabs" do let(:string) do - <<-EOS.undent + <<~EOS CFLAGS\t=\t-Wall -O2 LDFLAGS\t=\t-lcrypto -lssl EOS @@ -45,7 +45,7 @@ describe StringInreplaceExtension do it "is successfully replaced" do subject.change_make_var! "CFLAGS", "-O3" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS CFLAGS=-O3 LDFLAGS\t=\t-lcrypto -lssl EOS @@ -55,7 +55,7 @@ describe StringInreplaceExtension do context "empty flag between other flags" do let(:string) do - <<-EOS.undent + <<~EOS OTHER=def FLAG = FLAG2=abc @@ -64,7 +64,7 @@ describe StringInreplaceExtension do it "is successfully replaced" do subject.change_make_var! "FLAG", "def" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS OTHER=def FLAG=def FLAG2=abc @@ -74,7 +74,7 @@ describe StringInreplaceExtension do context "empty flag" do let(:string) do - <<-EOS.undent + <<~EOS FLAG = mv file_a file_b EOS @@ -82,7 +82,7 @@ describe StringInreplaceExtension do it "is successfully replaced" do subject.change_make_var! "FLAG", "def" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS FLAG=def mv file_a file_b EOS @@ -91,7 +91,7 @@ describe StringInreplaceExtension do context "shell-style variable" do let(:string) do - <<-EOS.undent + <<~EOS OTHER=def FLAG=abc FLAG2=abc @@ -100,7 +100,7 @@ describe StringInreplaceExtension do it "is successfully replaced" do subject.change_make_var! "FLAG", "def" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS OTHER=def FLAG=def FLAG2=abc @@ -113,7 +113,7 @@ describe StringInreplaceExtension do context "flag" do context "with spaces" do let(:string) do - <<-EOS.undent + <<~EOS OTHER=def FLAG = abc FLAG2 = def @@ -122,7 +122,7 @@ describe StringInreplaceExtension do it "is successfully removed" do subject.remove_make_var! "FLAG" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS OTHER=def FLAG2 = def EOS @@ -131,7 +131,7 @@ describe StringInreplaceExtension do context "with tabs" do let(:string) do - <<-EOS.undent + <<~EOS CFLAGS\t=\t-Wall -O2 LDFLAGS\t=\t-lcrypto -lssl EOS @@ -139,7 +139,7 @@ describe StringInreplaceExtension do it "is successfully removed" do subject.remove_make_var! "LDFLAGS" - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS CFLAGS\t=\t-Wall -O2 EOS end @@ -148,7 +148,7 @@ describe StringInreplaceExtension do context "multiple flags" do let(:string) do - <<-EOS.undent + <<~EOS OTHER=def FLAG = abc FLAG2 = def @@ -158,7 +158,7 @@ describe StringInreplaceExtension do specify "are be successfully removed" do subject.remove_make_var! ["FLAG", "FLAG2"] - expect(subject).to eq <<-EOS.undent + expect(subject).to eq <<~EOS OTHER=def OTHER2=def EOS @@ -169,7 +169,7 @@ describe StringInreplaceExtension do describe "#get_make_var" do context "with spaces" do let(:string) do - <<-EOS.undent + <<~EOS CFLAGS = -Wall -O2 LDFLAGS = -lcrypto -lssl EOS @@ -182,7 +182,7 @@ describe StringInreplaceExtension do context "with tabs" do let(:string) do - <<-EOS.undent + <<~EOS CFLAGS\t=\t-Wall -O2 LDFLAGS\t=\t-lcrypto -lssl EOS @@ -217,7 +217,7 @@ describe Utils::Inreplace do let(:file) { Tempfile.new("test") } before(:each) do - file.write <<-EOS.undent + file.write <<~EOS a b c diff --git a/Library/Homebrew/test/java_requirement_spec.rb b/Library/Homebrew/test/java_requirement_spec.rb index 05d4f3cda..685e250e0 100644 --- a/Library/Homebrew/test/java_requirement_spec.rb +++ b/Library/Homebrew/test/java_requirement_spec.rb @@ -50,7 +50,7 @@ describe JavaRequirement do let(:java) { path/"java" } def setup_java_with_version(version) - IO.write java, <<-EOS.undent + IO.write java, <<~EOS #!/bin/sh echo 'java version "#{version}"' EOS diff --git a/Library/Homebrew/test/language/python_spec.rb b/Library/Homebrew/test/language/python_spec.rb index 02f6bf8d2..d384ce602 100644 --- a/Library/Homebrew/test/language/python_spec.rb +++ b/Library/Homebrew/test/language/python_spec.rb @@ -41,7 +41,7 @@ describe Language::Python::Virtualenv::Virtualenv do "--no-binary", ":all:", "--ignore-installed", "foo", "bar") .and_return(true) - subject.pip_install <<-EOS.undent + subject.pip_install <<~EOS foo bar EOS diff --git a/Library/Homebrew/test/missing_formula_spec.rb b/Library/Homebrew/test/missing_formula_spec.rb index 0a905004b..830ecb6aa 100644 --- a/Library/Homebrew/test/missing_formula_spec.rb +++ b/Library/Homebrew/test/missing_formula_spec.rb @@ -116,7 +116,7 @@ describe Homebrew::MissingFormula do Tap.clear_cache tap_path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo" tap_path.mkpath - (tap_path/"tap_migrations.json").write <<-EOS.undent + (tap_path/"tap_migrations.json").write <<~EOS { "migrated-formula": "homebrew/bar" } EOS end diff --git a/Library/Homebrew/test/pathname_spec.rb b/Library/Homebrew/test/pathname_spec.rb index 69314e5f4..1349e602b 100644 --- a/Library/Homebrew/test/pathname_spec.rb +++ b/Library/Homebrew/test/pathname_spec.rb @@ -79,12 +79,12 @@ describe Pathname do touch file file.append_lines("CONTENT") - expect(File.read(file)).to eq <<-EOS.undent + expect(File.read(file)).to eq <<~EOS CONTENT EOS file.append_lines("CONTENTS") - expect(File.read(file)).to eq <<-EOS.undent + expect(File.read(file)).to eq <<~EOS CONTENT CONTENTS EOS diff --git a/Library/Homebrew/test/rubocops/bottle_block_cop_spec.rb b/Library/Homebrew/test/rubocops/bottle_block_cop_spec.rb index b1afdc3f9..659750858 100644 --- a/Library/Homebrew/test/rubocops/bottle_block_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/bottle_block_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAuditStrict::BottleBlock do context "When auditing Bottle Block" do it "When there is revision in bottle block" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' bottle do @@ -41,7 +41,7 @@ describe RuboCop::Cop::FormulaAuditStrict::BottleBlock do context "When auditing Bottle Block with auto correct" do it "When there is revision in bottle block" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' bottle do @@ -50,7 +50,7 @@ describe RuboCop::Cop::FormulaAuditStrict::BottleBlock do end end EOS - corrected_source = <<-EOS.undent + corrected_source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' bottle do diff --git a/Library/Homebrew/test/rubocops/caveats_cop_spec.rb b/Library/Homebrew/test/rubocops/caveats_cop_spec.rb index 4dbe65cfb..68f79e08a 100644 --- a/Library/Homebrew/test/rubocops/caveats_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/caveats_cop_spec.rb @@ -8,20 +8,19 @@ describe RuboCop::Cop::FormulaAudit::Caveats do context "When auditing caveats" do it "When there is setuid mentioned in caveats" do - source = <<-EOS.undent - class Foo < Formula - homepage "http://example.com/foo" - url "http://example.com/foo-1.0.tgz" - - def caveats - "setuid" + source = <<~EOS + class Foo < Formula + homepage "http://example.com/foo" + url "http://example.com/foo-1.0.tgz" + def caveats + "setuid" + end end - end EOS expected_offenses = [{ message: "Don't recommend setuid in the caveats, suggest sudo instead.", severity: :convention, - line: 6, + line: 5, column: 5, source: source }] diff --git a/Library/Homebrew/test/rubocops/checksum_cop_spec.rb b/Library/Homebrew/test/rubocops/checksum_cop_spec.rb index 2f508bbf5..ab70f2dcf 100644 --- a/Library/Homebrew/test/rubocops/checksum_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/checksum_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAudit::Checksum do context "When auditing spec checksums" do it "When the checksum is empty" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' stable do @@ -42,7 +42,7 @@ describe RuboCop::Cop::FormulaAudit::Checksum do end it "When the checksum is not 64 characters" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' stable do @@ -76,7 +76,7 @@ describe RuboCop::Cop::FormulaAudit::Checksum do end it "When the checksum has invalid chars" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' stable do @@ -116,7 +116,7 @@ describe RuboCop::Cop::FormulaAudit::ChecksumCase do context "When auditing spec checksums" do it "When the checksum has upper case characters" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' stable do @@ -150,7 +150,7 @@ describe RuboCop::Cop::FormulaAudit::ChecksumCase do end it "When auditing stable blocks outside spec blocks" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' resource "foo-outside" do @@ -185,7 +185,7 @@ describe RuboCop::Cop::FormulaAudit::ChecksumCase do context "When auditing checksum with autocorrect" do it "When there is uppercase sha256" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' stable do @@ -200,7 +200,7 @@ describe RuboCop::Cop::FormulaAudit::ChecksumCase do end EOS - corrected_source = <<-EOS.undent + corrected_source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' stable do diff --git a/Library/Homebrew/test/rubocops/class_cop_spec.rb b/Library/Homebrew/test/rubocops/class_cop_spec.rb index 59252587c..3f210af11 100644 --- a/Library/Homebrew/test/rubocops/class_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/class_cop_spec.rb @@ -17,10 +17,10 @@ describe RuboCop::Cop::FormulaAudit::ClassName do }] formulas.each do |formula| - source = <<-EOS.undent - class Foo < #{formula["class"]} - url 'http://example.com/foo-1.0.tgz' - end + source = <<~EOS + class Foo < #{formula["class"]} + url 'http://example.com/foo-1.0.tgz' + end EOS expected_offenses = [{ message: "#{formula["class"]} is deprecated, use Formula instead", @@ -38,12 +38,12 @@ describe RuboCop::Cop::FormulaAudit::ClassName do end it "with deprecated inheritance and autocorrect" do - source = <<-EOS.undent + source = <<~EOS class Foo < AmazonWebServicesFormula url 'http://example.com/foo-1.0.tgz' end EOS - corrected_source = <<-EOS.undent + corrected_source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' end @@ -60,7 +60,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Test do context "When auditing formula" do it "without a test block" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' end diff --git a/Library/Homebrew/test/rubocops/components_order_cop_spec.rb b/Library/Homebrew/test/rubocops/components_order_cop_spec.rb index f093f4927..a4726c001 100644 --- a/Library/Homebrew/test/rubocops/components_order_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/components_order_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do context "When auditing formula components order" do it "When url precedes homepage" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -29,7 +29,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do end it "When `resource` precedes `depends_on`" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "https://example.com/foo-1.0.tgz" @@ -55,7 +55,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do end it "When `test` precedes `plist`" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "https://example.com/foo-1.0.tgz" @@ -82,7 +82,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do end it "When only one of many `depends_on` precedes `conflicts_with`" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula depends_on "autoconf" => :build conflicts_with "visionmedia-watch" @@ -116,13 +116,13 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do context "When auditing formula components order with autocorrect" do it "When url precedes homepage" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" end EOS - correct_source = <<-EOS.undent + correct_source = <<~EOS class Foo < Formula homepage "http://example.com" url "http://example.com/foo-1.0.tgz" @@ -134,7 +134,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do end it "When `resource` precedes `depends_on`" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "https://example.com/foo-1.0.tgz" @@ -145,7 +145,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsOrder do depends_on "openssl" end EOS - correct_source = <<-EOS.undent + correct_source = <<~EOS class Foo < Formula url "https://example.com/foo-1.0.tgz" diff --git a/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb b/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb index 9fbe15904..e899a9b07 100644 --- a/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsRedundancy do context "When auditing formula components common errors" do it "When url outside stable block" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" stable do @@ -31,7 +31,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsRedundancy do end it "When both `head` and `head do` are present" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula head "http://example.com/foo.git" head do @@ -54,7 +54,7 @@ describe RuboCop::Cop::FormulaAuditStrict::ComponentsRedundancy do end it "When both `bottle :modifier` and `bottle do` are present" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" bottle do diff --git a/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb b/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb index 8874ecc96..40efe8545 100644 --- a/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAudit::Conflicts do context "When auditing formula for conflicts with" do it "multiple conflicts_with" do - source = <<-EOS.undent + source = <<~EOS class FooAT20 < Formula url 'http://example.com/foo-2.0.tgz' conflicts_with "mysql", "mariadb", "percona-server", @@ -30,7 +30,7 @@ describe RuboCop::Cop::FormulaAudit::Conflicts do end it "no conflicts_with" do - source = <<-EOS.undent + source = <<~EOS class FooAT20 < Formula url 'http://example.com/foo-2.0.tgz' desc 'Bar' diff --git a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb index 4816c3b26..0f0189aa8 100644 --- a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAuditStrict::DescLength do context "When auditing formula desc" do it "When there is no desc" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' end @@ -28,7 +28,7 @@ describe RuboCop::Cop::FormulaAuditStrict::DescLength do end it "reports an offense when desc is an empty string" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc '' @@ -49,14 +49,14 @@ describe RuboCop::Cop::FormulaAuditStrict::DescLength do end it "When desc is too long" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'Bar#{"bar" * 29}' end EOS - msg = <<-EOS.undent + msg = <<~EOS Description is too long. "name: desc" should be less than 80 characters. Length is calculated as foo + desc. (currently 95) EOS @@ -73,7 +73,7 @@ describe RuboCop::Cop::FormulaAuditStrict::DescLength do end it "When desc is multiline string" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'Bar#{"bar" * 9}'\ @@ -81,7 +81,7 @@ describe RuboCop::Cop::FormulaAuditStrict::DescLength do end EOS - msg = <<-EOS.undent + msg = <<~EOS Description is too long. "name: desc" should be less than 80 characters. Length is calculated as foo + desc. (currently 98) EOS @@ -104,7 +104,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do context "When auditing formula desc" do it "When wrong \"command-line\" usage in desc" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'command line' @@ -124,7 +124,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do end it "When an article is used in desc" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'An ' @@ -144,7 +144,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do end it "When an lowercase letter starts a desc" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'bar' @@ -164,7 +164,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do end it "When formula name is in desc" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'Foo is a foobar' @@ -184,13 +184,13 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do end it "autocorrects all rules" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc ' an bar: commandline foo ' end EOS - correct_source = <<-EOS.undent + correct_source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' desc 'an bar: command-line' diff --git a/Library/Homebrew/test/rubocops/homepage_cop_spec.rb b/Library/Homebrew/test/rubocops/homepage_cop_spec.rb index 6c7f248ba..be9dddae6 100644 --- a/Library/Homebrew/test/rubocops/homepage_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/homepage_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAudit::Homepage do context "When auditing homepage" do it "When there is no homepage" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' end @@ -28,7 +28,7 @@ describe RuboCop::Cop::FormulaAudit::Homepage do end it "Homepage with ftp" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula homepage "ftp://example.com/foo" url "http://example.com/foo-1.0.tgz" @@ -65,7 +65,7 @@ describe RuboCop::Cop::FormulaAudit::Homepage do } formula_homepages.each do |name, homepage| - source = <<-EOS.undent + source = <<~EOS class #{name.capitalize} < Formula homepage "#{homepage}" url "http://example.com/#{name}-1.0.tgz" diff --git a/Library/Homebrew/test/rubocops/lines_cop_spec.rb b/Library/Homebrew/test/rubocops/lines_cop_spec.rb index af816a5a9..7e93bee75 100644 --- a/Library/Homebrew/test/rubocops/lines_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/lines_cop_spec.rb @@ -25,11 +25,11 @@ describe RuboCop::Cop::FormulaAudit::Lines do }] formulae.each do |formula| - source = <<-EOS.undent - class Foo < Formula - url 'http://example.com/foo-1.0.tgz' - depends_on :#{formula["dependency"]} - end + source = <<~EOS + class Foo < Formula + url 'http://example.com/foo-1.0.tgz' + depends_on :#{formula["dependency"]} + end EOS if formula.key?("correct") offense = ":#{formula["dependency"]} is deprecated. Usage should be \"#{formula["correct"]}\"" @@ -57,7 +57,7 @@ describe RuboCop::Cop::FormulaAudit::ClassInheritance do context "When auditing lines" do it "with no space in class inheritance" do - source = <<-EOS.undent + source = <<~EOS class Foo<Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -84,7 +84,7 @@ describe RuboCop::Cop::FormulaAudit::Comments do context "When auditing formulae" do it "with commented cmake call" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -106,7 +106,7 @@ describe RuboCop::Cop::FormulaAudit::Comments do end it "with default template comments" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula # PLEASE REMOVE desc "foo" @@ -128,7 +128,7 @@ describe RuboCop::Cop::FormulaAudit::Comments do end it "with commented out depends_on" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -156,7 +156,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do context "When auditing formulae" do it "with FileUtils" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -178,7 +178,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with long inreplace block vars" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -202,7 +202,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with invalid rebuild" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -227,7 +227,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with OS.linux? check" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -254,7 +254,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with fails_with :llvm" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -282,7 +282,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with def test" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -307,7 +307,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with def options" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -332,7 +332,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with deprecated skip_clean call" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -340,9 +340,9 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end EOS - expected_offenses = [{ message: <<-EOS.undent.chomp, - `skip_clean :all` is deprecated; brew no longer strips symbols - Pass explicit paths to prevent Homebrew from removing empty folders. + expected_offenses = [{ message: <<~EOS.chomp, + `skip_clean :all` is deprecated; brew no longer strips symbols + Pass explicit paths to prevent Homebrew from removing empty folders. EOS severity: :convention, line: 4, @@ -357,7 +357,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with build.universal?" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -381,7 +381,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with a build.universal? exemption reports no offenses" do - source = <<-EOS.undent + source = <<~EOS class Wine < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -396,7 +396,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with ENV.universal_binary" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -420,7 +420,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with an ENV.universal_binary exemption reports no offenses" do - source = <<-EOS.undent + source = <<~EOS class Wine < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -435,7 +435,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with ENV.x11" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -459,7 +459,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with ruby-macho alternatives" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -481,7 +481,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with ruby-macho alternatives audit exempted formula" do - source = <<-EOS.undent + source = <<~EOS class Cctools < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -494,7 +494,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with npm install without language::Node args" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' @@ -516,7 +516,7 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do end it "with npm install without language::Node args in kibana" do - source = <<-EOS.undent + source = <<~EOS class KibanaAT44 < Formula desc "foo" url 'http://example.com/foo-1.0.tgz' diff --git a/Library/Homebrew/test/rubocops/options_cop_spec.rb b/Library/Homebrew/test/rubocops/options_cop_spec.rb index c27389a68..1ed6ee740 100644 --- a/Library/Homebrew/test/rubocops/options_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/options_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAudit::Options do context "When auditing options" do it "32-bit" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' option "32-bit", "with 32-bit" @@ -35,7 +35,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Options do context "When auditing options strictly" do it "with universal" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' option :universal @@ -56,7 +56,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Options do end it "with deprecated options" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' option :cxx11 @@ -80,7 +80,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Options do end it "with misc deprecated options" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' option "without-check" @@ -109,7 +109,7 @@ describe RuboCop::Cop::NewFormulaAudit::Options do context "When auditing options for a new formula" do it "with deprecated options" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' deprecated_option "examples" => "with-examples" diff --git a/Library/Homebrew/test/rubocops/patches_cop_spec.rb b/Library/Homebrew/test/rubocops/patches_cop_spec.rb index 4f9ca2df8..fdecb676e 100644 --- a/Library/Homebrew/test/rubocops/patches_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/patches_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do context "When auditing legacy patches" do it "When there is no legacy patch" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url 'http://example.com/foo-1.0.tgz' end @@ -18,7 +18,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do end it "Formula with `def patches`" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula homepage "ftp://example.com/foo" url "http://example.com/foo-1.0.tgz" @@ -51,7 +51,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do "https://github.com/dlang/dub/pull/1221.patch", ] patch_urls.each do |patch_url| - source = <<-EOS.undent + source = <<~EOS class Foo < Formula homepage "ftp://example.com/foo" url "http://example.com/foo-1.0.tgz" @@ -63,56 +63,56 @@ describe RuboCop::Cop::FormulaAudit::Patches do inspect_source(source) expected_offense = if patch_url =~ %r{/raw\.github\.com/} - [{ message: <<-EOS.undent.chomp, - GitHub/Gist patches should specify a revision: - #{patch_url} + [{ message: <<~EOS.chomp, + GitHub/Gist patches should specify a revision: + #{patch_url} EOS severity: :convention, line: 5, column: 12, source: source }] elsif patch_url =~ %r{macports/trunk} - [{ message: <<-EOS.undent.chomp, - MacPorts patches should specify a revision instead of trunk: - #{patch_url} + [{ message: <<~EOS.chomp, + MacPorts patches should specify a revision instead of trunk: + #{patch_url} EOS severity: :convention, line: 5, column: 33, source: source }] elsif patch_url =~ %r{^http://trac\.macports\.org} - [{ message: <<-EOS.undent.chomp, - Patches from MacPorts Trac should be https://, not http: - #{patch_url} + [{ message: <<~EOS.chomp, + Patches from MacPorts Trac should be https://, not http: + #{patch_url} EOS severity: :convention, line: 5, column: 5, source: source }] elsif patch_url =~ %r{^http://bugs\.debian\.org} - [{ message: <<-EOS.undent.chomp, - Patches from Debian should be https://, not http: - #{patch_url} + [{ message: <<~EOS.chomp, + Patches from Debian should be https://, not http: + #{patch_url} EOS severity: :convention, line: 5, column: 5, source: source }] elsif patch_url =~ %r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)} - [{ message: <<-EOS.undent, - use GitHub pull request URLs: - https://github.com/foo/foo-bar/pull/100.patch - Rather than patch-diff: - https://patch-diff.githubusercontent.com/raw/foo/foo-bar/pull/100.patch + [{ message: <<~EOS, + use GitHub pull request URLs: + https://github.com/foo/foo-bar/pull/100.patch + Rather than patch-diff: + https://patch-diff.githubusercontent.com/raw/foo/foo-bar/pull/100.patch EOS severity: :convention, line: 5, column: 5, source: source }] elsif patch_url =~ %r{https?://github\.com/.+/.+/(?:commit|pull)/[a-fA-F0-9]*.(?:patch|diff)} - [{ message: <<-EOS.undent, - GitHub patches should use the full_index parameter: - #{patch_url}?full_index=1 + [{ message: <<~EOS, + GitHub patches should use the full_index parameter: + #{patch_url}?full_index=1 EOS severity: :convention, line: 5, @@ -126,7 +126,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do end it "Formula with nested `def patches`" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula homepage "ftp://example.com/foo" url "http://example.com/foo-1.0.tgz" @@ -145,9 +145,9 @@ describe RuboCop::Cop::FormulaAudit::Patches do line: 4, column: 2, source: source }, - { message: <<-EOS.undent.chomp, - Patches from MacPorts Trac should be https://, not http: - http://trac.macports.org/export/68507/trunk/dports/net/trafshow/files/ + { message: <<~EOS.chomp, + Patches from MacPorts Trac should be https://, not http: + http://trac.macports.org/export/68507/trunk/dports/net/trafshow/files/ EOS severity: :convention, line: 8, @@ -172,7 +172,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do "https://patch-diff.githubusercontent.com/raw/foo/foo-bar/pull/100.patch", ] patch_urls.each do |patch_url| - source = <<-EOS.undent + source = <<~EOS class Foo < Formula homepage "ftp://example.com/foo" url "http://example.com/foo-1.0.tgz" @@ -185,47 +185,47 @@ describe RuboCop::Cop::FormulaAudit::Patches do inspect_source(source) expected_offense = if patch_url =~ %r{/raw\.github\.com/} - [{ message: <<-EOS.undent.chomp, - GitHub/Gist patches should specify a revision: - #{patch_url} + [{ message: <<~EOS.chomp, + GitHub/Gist patches should specify a revision: + #{patch_url} EOS severity: :convention, line: 5, column: 16, source: source }] elsif patch_url =~ %r{macports/trunk} - [{ message: <<-EOS.undent.chomp, - MacPorts patches should specify a revision instead of trunk: - #{patch_url} + [{ message: <<~EOS.chomp, + MacPorts patches should specify a revision instead of trunk: + #{patch_url} EOS severity: :convention, line: 5, column: 37, source: source }] elsif patch_url =~ %r{^http://trac\.macports\.org} - [{ message: <<-EOS.undent.chomp, - Patches from MacPorts Trac should be https://, not http: - #{patch_url} + [{ message: <<~EOS.chomp, + Patches from MacPorts Trac should be https://, not http: + #{patch_url} EOS severity: :convention, line: 5, column: 9, source: source }] elsif patch_url =~ %r{^http://bugs\.debian\.org} - [{ message: <<-EOS.undent.chomp, - Patches from Debian should be https://, not http: - #{patch_url} + [{ message: <<~EOS.chomp, + Patches from Debian should be https://, not http: + #{patch_url} EOS severity: :convention, line: 5, column: 9, source: source }] elsif patch_url =~ %r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)} - [{ message: <<-EOS.undent, - use GitHub pull request URLs: - https://github.com/foo/foo-bar/pull/100.patch - Rather than patch-diff: - https://patch-diff.githubusercontent.com/raw/foo/foo-bar/pull/100.patch + [{ message: <<~EOS, + use GitHub pull request URLs: + https://github.com/foo/foo-bar/pull/100.patch + Rather than patch-diff: + https://patch-diff.githubusercontent.com/raw/foo/foo-bar/pull/100.patch EOS severity: :convention, line: 5, diff --git a/Library/Homebrew/test/rubocops/text_cop_spec.rb b/Library/Homebrew/test/rubocops/text_cop_spec.rb index 490801770..dbddff1ad 100644 --- a/Library/Homebrew/test/rubocops/text_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/text_cop_spec.rb @@ -8,7 +8,7 @@ describe RuboCop::Cop::FormulaAudit::Text do context "When auditing formula text" do it "with both openssl and libressl optional dependencies" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -32,7 +32,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "with both openssl and libressl dependencies" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -56,7 +56,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When xcodebuild is called without SYMROOT" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -81,7 +81,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When xcodebuild is called without any args" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -106,7 +106,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When go get is executed" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -131,7 +131,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When xcodebuild is executed" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -156,7 +156,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When scons is executed" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -180,8 +180,8 @@ describe RuboCop::Cop::FormulaAudit::Text do end end - it "When plist_options are not defined when using a formula-defined plist" do - source = <<-EOS.undent + it "When plist_options are not defined when using a formula-defined plist", :ruby23 do + source = <<~RUBY class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -190,19 +190,20 @@ describe RuboCop::Cop::FormulaAudit::Text do system "xcodebuild", "foo", "bar" end - def plist; <<-EOS.undent - <?xml version="1.0" encoding="UTF-8"?> - <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - <plist version="1.0"> - <dict> - <key>Label</key> - <string>org.nrpe.agent</string> - </dict> - </plist> - \EOS + def plist + <<~XML + <?xml version="1.0" encoding="UTF-8"?> + <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + <plist version="1.0"> + <dict> + <key>Label</key> + <string>org.nrpe.agent</string> + </dict> + </plist> + XML end end - EOS + RUBY expected_offenses = [{ message: "Please set plist_options when using a formula-defined plist.", severity: :convention, @@ -218,7 +219,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When language/go is require'd" do - source = <<-EOS.undent + source = <<~EOS require "language/go" class Foo < Formula @@ -245,7 +246,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When formula uses virtualenv and also `setuptools` resource" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" @@ -275,7 +276,7 @@ describe RuboCop::Cop::FormulaAudit::Text do end it "When Formula.factory(name) is used" do - source = <<-EOS.undent + source = <<~EOS class Foo < Formula url "http://example.com/foo-1.0.tgz" homepage "http://example.com" diff --git a/Library/Homebrew/test/rubocops/urls_cop_spec.rb b/Library/Homebrew/test/rubocops/urls_cop_spec.rb index ad939a1a2..0bda7f110 100644 --- a/Library/Homebrew/test/rubocops/urls_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/urls_cop_spec.rb @@ -54,7 +54,7 @@ describe RuboCop::Cop::FormulaAudit::Urls do "col" => 2, }, { "url" => "http://prdownloads.sourceforge.net/foo/foo-1.tar.gz", - "msg" => <<-EOS.undent.chomp, + "msg" => <<~EOS.chomp, Don't use prdownloads in SourceForge urls (url is http://prdownloads.sourceforge.net/foo/foo-1.tar.gz). See: http://librelist.com/browser/homebrew/2011/1/12/prdownloads-is-bad/ EOS @@ -69,7 +69,7 @@ describe RuboCop::Cop::FormulaAudit::Urls do "col" => 2, }, { "url" => "http://http.debian.net/debian/dists/foo/", - "msg" => <<-EOS.undent, + "msg" => <<~EOS, Please use a secure mirror for Debian URLs. We recommend: https://mirrors.ocf.berkeley.edu/debian/dists/foo/ @@ -101,7 +101,7 @@ describe RuboCop::Cop::FormulaAudit::Urls do "col" => 2, }, { "url" => "https://codeload.github.com/foo/bar/tar.gz/v0.1.1", - "msg" => <<-EOS.undent, + "msg" => <<~EOS, Use GitHub archive URLs: https://github.com/foo/bar/archive/v0.1.1.tar.gz Rather than codeload: @@ -114,7 +114,7 @@ describe RuboCop::Cop::FormulaAudit::Urls do "col" => 2, }] formulas.each do |formula| - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url "#{formula["url"]}" @@ -141,7 +141,7 @@ describe RuboCop::Cop::FormulaAudit::Urls do "col" => 4, }] formulas.each do |formula| - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url "https://foo.com" @@ -169,12 +169,12 @@ describe RuboCop::Cop::FormulaAudit::Urls do end it "with duplicate mirror" do - source = <<-EOS.undent - class Foo < Formula - desc "foo" - url "https://ftpmirror.fnu.org/foo/foo-1.0.tar.gz" - mirror "https://ftpmirror.fnu.org/foo/foo-1.0.tar.gz" - end + source = <<~EOS + class Foo < Formula + desc "foo" + url "https://ftpmirror.fnu.org/foo/foo-1.0.tar.gz" + mirror "https://ftpmirror.fnu.org/foo/foo-1.0.tar.gz" + end EOS expected_offenses = [{ message: "URL should not be duplicated as a mirror: https://ftpmirror.fnu.org/foo/foo-1.0.tar.gz", @@ -204,13 +204,13 @@ describe RuboCop::Cop::FormulaAuditStrict::PyPiUrls do "corrected_url" =>"https://files.pythonhosted.org/packages/source/foo/foo-0.1.tar.gz", }] formulas.each do |formula| - source = <<-EOS.undent + source = <<~EOS class Foo < Formula desc "foo" url "#{formula["url"]}" end EOS - corrected_source = <<-EOS.undent + corrected_source = <<~EOS class Foo < Formula desc "foo" url "#{formula["corrected_url"]}" diff --git a/Library/Homebrew/test/sandbox_spec.rb b/Library/Homebrew/test/sandbox_spec.rb index 38ff4da75..774337967 100644 --- a/Library/Homebrew/test/sandbox_spec.rb +++ b/Library/Homebrew/test/sandbox_spec.rb @@ -49,7 +49,7 @@ describe Sandbox do it "ignores bogus Python error" do ENV["HOMEBREW_VERBOSE"] = "1" - with_bogus_error = <<-EOS.undent + with_bogus_error = <<~EOS foo Mar 17 02:55:06 sandboxd[342]: Python(49765) deny file-write-unlink /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/errors.pyc bar diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb index a4ac84547..a5821ee14 100644 --- a/Library/Homebrew/test/spec_helper.rb +++ b/Library/Homebrew/test/spec_helper.rb @@ -131,7 +131,7 @@ RSpec.configure do |config| files_after_test = find_files diff = Set.new(@__files_before_test) ^ Set.new(files_after_test) - expect(diff).to be_empty, <<-EOS.undent + expect(diff).to be_empty, <<~EOS file leak detected: #{diff.map { |f| " #{f}" }.join("\n")} EOS diff --git a/Library/Homebrew/test/string_spec.rb b/Library/Homebrew/test/string_spec.rb index ce26d70d4..dba6753bf 100644 --- a/Library/Homebrew/test/string_spec.rb +++ b/Library/Homebrew/test/string_spec.rb @@ -22,11 +22,11 @@ describe String do end it "can be nested" do - nested_string = <<-EOS.undent + nested_string = <<~EOS goodbye EOS - string = <<-EOS.undent + string = <<~EOS hello #{nested_string} EOS diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/with-caveats.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/with-caveats.rb index d5d90114a..5624f486e 100644 --- a/Library/Homebrew/test/support/fixtures/cask/Casks/with-caveats.rb +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/with-caveats.rb @@ -8,7 +8,7 @@ cask 'with-caveats' do app 'Caffeine.app' # simple string is evaluated at compile-time - caveats <<-EOS.undent + caveats <<~EOS Here are some things you might want to know. EOS # do block is evaluated at install-time diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/with-uninstall-script-app.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/with-uninstall-script-app.rb index f5f3ae5dd..885f3b157 100644 --- a/Library/Homebrew/test/support/fixtures/cask/Casks/with-uninstall-script-app.rb +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/with-uninstall-script-app.rb @@ -8,7 +8,7 @@ cask 'with-uninstall-script-app' do app 'MyFancyApp/MyFancyApp.app' postflight do - IO.write "#{appdir}/MyFancyApp.app/uninstall.sh", <<-EOS.undent + IO.write "#{appdir}/MyFancyApp.app/uninstall.sh", <<~EOS #!/bin/sh /bin/rm -r "#{appdir}/MyFancyApp.app" EOS diff --git a/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb b/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb index 7bf2ce96a..da01580c2 100644 --- a/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb +++ b/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb @@ -123,7 +123,7 @@ RSpec.shared_context "integration test" do def setup_test_formula(name, content = nil) case name when /^testball/ - content = <<-EOS.undent + content = <<~EOS desc "Some test" homepage "https://example.com/#{name}" url "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz" @@ -145,18 +145,18 @@ RSpec.shared_context "integration test" do # something here EOS when "foo" - content = <<-EOS.undent + content = <<~EOS url "https://example.com/#{name}-1.0" EOS when "bar" - content = <<-EOS.undent + content = <<~EOS url "https://example.com/#{name}-1.0" depends_on "foo" EOS end Formulary.core_path(name).tap do |formula_path| - formula_path.write <<-EOS.undent + formula_path.write <<~EOS class #{Formulary.class_s(name)} < Formula #{content} end diff --git a/Library/Homebrew/test/tap_spec.rb b/Library/Homebrew/test/tap_spec.rb index 957f9bdd2..d69eb615c 100644 --- a/Library/Homebrew/test/tap_spec.rb +++ b/Library/Homebrew/test/tap_spec.rb @@ -19,7 +19,7 @@ describe Tap do end def setup_tap_files - formula_file.write <<-EOS.undent + formula_file.write <<~EOS class Foo < Formula url "https://example.com/foo-1.0.tar.gz" end @@ -28,11 +28,11 @@ describe Tap do alias_file.parent.mkpath ln_s formula_file, alias_file - (path/"formula_renames.json").write <<-EOS.undent + (path/"formula_renames.json").write <<~EOS { "oldname": "foo" } EOS - (path/"tap_migrations.json").write <<-EOS.undent + (path/"tap_migrations.json").write <<~EOS { "removed-formula": "homebrew/foo" } EOS @@ -327,7 +327,7 @@ describe CoreTap do specify "files" do formula_file = subject.formula_dir/"foo.rb" - formula_file.write <<-EOS.undent + formula_file.write <<~EOS class Foo < Formula url "https://example.com/foo-1.0.tar.gz" end diff --git a/Library/Homebrew/test/utils_spec.rb b/Library/Homebrew/test/utils_spec.rb index 3b5355b15..0c2ae5161 100644 --- a/Library/Homebrew/test/utils_spec.rb +++ b/Library/Homebrew/test/utils_spec.rb @@ -98,7 +98,7 @@ describe "globally-scoped helper methods" do let(:shell) { dir/"myshell" } it "starts an interactive shell session" do - IO.write shell, <<-EOS.undent + IO.write shell, <<~EOS #!/bin/sh echo called > "#{dir}/called" EOS diff --git a/Library/Homebrew/test/version_spec.rb b/Library/Homebrew/test/version_spec.rb index d0393afa6..7d3e129f6 100644 --- a/Library/Homebrew/test/version_spec.rb +++ b/Library/Homebrew/test/version_spec.rb @@ -248,9 +248,9 @@ describe Version do end failure_message do |expected| - message = <<-EOS - expected: %s - detected: %s + message = <<~EOS + expected: %s + detected: %s EOS format(message, expected, detected) end diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 237ffa74e..2211ed75b 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -93,7 +93,7 @@ def odeprecated(method, replacement = nil, disable: false, disable_on: nil, call end caller_message ||= backtrace[1] - message = <<-EOS.undent + message = <<~EOS Calling #{method} is #{verb}! #{replacement_message} #{caller_message}#{tap_message} @@ -223,7 +223,7 @@ module Homebrew end return if which(executable) - odie <<-EOS.undent + odie <<~EOS The '#{name}' gem is installed but couldn't find '#{executable}' in the PATH: #{ENV["PATH"]} EOS @@ -347,7 +347,7 @@ def which_editor end editor ||= "/usr/bin/vim" - opoo <<-EOS.undent + opoo <<~EOS Using #{editor} because no editor was set in the environment. This may change in the future, so we recommend setting EDITOR, or HOMEBREW_EDITOR to your preferred text editor. diff --git a/Library/Homebrew/utils/github.rb b/Library/Homebrew/utils/github.rb index df0811e95..f88d52403 100644 --- a/Library/Homebrew/utils/github.rb +++ b/Library/Homebrew/utils/github.rb @@ -16,7 +16,7 @@ module GitHub class RateLimitExceededError < Error def initialize(reset, error) - super <<-EOS.undent + super <<~EOS GitHub API Error: #{error} Try again in #{pretty_ratelimit_reset(reset)}, or create a personal access token: #{ALL_SCOPES_URL} @@ -33,12 +33,12 @@ module GitHub def initialize(error) message = "GitHub #{error}\n" if ENV["HOMEBREW_GITHUB_API_TOKEN"] - message << <<-EOS.undent + message << <<~EOS HOMEBREW_GITHUB_API_TOKEN may be invalid or expired; check: #{Formatter.url("https://github.com/settings/tokens")} EOS else - message << <<-EOS.undent + message << <<~EOS The GitHub credentials in the macOS keychain may be invalid. Clear them with: printf "protocol=https\\nhost=github.com\\n" | git credential-osxkeychain erase @@ -104,7 +104,7 @@ module GitHub case GitHub.api_credentials_type when :keychain - onoe <<-EOS.undent + onoe <<~EOS Your macOS keychain GitHub credentials do not have sufficient scope! Scopes they need: #{needed_human_scopes} Scopes they have: #{credentials_scopes} @@ -112,7 +112,7 @@ module GitHub and then set HOMEBREW_GITHUB_API_TOKEN as the authentication method instead. EOS when :environment - onoe <<-EOS.undent + onoe <<~EOS Your HOMEBREW_GITHUB_API_TOKEN does not have sufficient scope! Scopes they need: #{needed_human_scopes} Scopes it has: #{credentials_scopes} diff --git a/Library/Homebrew/utils/link.rb b/Library/Homebrew/utils/link.rb index 095dba209..96bfd602e 100644 --- a/Library/Homebrew/utils/link.rb +++ b/Library/Homebrew/utils/link.rb @@ -22,7 +22,7 @@ module Utils end return if conflicts.empty? - onoe <<-EOS.undent + onoe <<~EOS Could not link: #{conflicts.join("\n")} |
