aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMarkus Reiter2017-10-15 02:28:32 +0200
committerMarkus Reiter2017-10-18 14:39:09 +0200
commit9bee9ca5757d1c5f720787737fed6a534a620d72 (patch)
treeb1eed297d9eb169673d2ed308e5ef3ca3bb09d12 /Library
parent270b752f5d9d218bfbed6fe85b6974fa653fb25f (diff)
downloadbrew-9bee9ca5757d1c5f720787737fed6a534a620d72.tar.bz2
Use “squiggly” heredocs.
Diffstat (limited to 'Library')
-rw-r--r--Library/.rubocop.yml2
-rw-r--r--Library/Homebrew/cask/lib/hbc/artifact/abstract_uninstall.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/artifact/installer.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/audit.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/cask_loader.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/create.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/internal_audit_modified_casks.rb4
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/uninstall.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/container/air.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/dsl/caveats.rb78
-rw-r--r--Library/Homebrew/cask/lib/hbc/exceptions.rb10
-rw-r--r--Library/Homebrew/cask/lib/hbc/installer.rb4
-rw-r--r--Library/Homebrew/cask/lib/hbc/system_command.rb12
-rw-r--r--Library/Homebrew/cask/lib/hbc/utils.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/version.rb2
-rw-r--r--Library/Homebrew/caveats.rb16
-rw-r--r--Library/Homebrew/cmd/cleanup.rb2
-rw-r--r--Library/Homebrew/cmd/diy.rb2
-rw-r--r--Library/Homebrew/cmd/doctor.rb2
-rw-r--r--Library/Homebrew/cmd/gist-logs.rb6
-rw-r--r--Library/Homebrew/cmd/help.rb2
-rw-r--r--Library/Homebrew/cmd/info.rb2
-rw-r--r--Library/Homebrew/cmd/install.rb28
-rw-r--r--Library/Homebrew/cmd/link.rb2
-rw-r--r--Library/Homebrew/cmd/linkapps.rb2
-rw-r--r--Library/Homebrew/cmd/log.rb2
-rw-r--r--Library/Homebrew/cmd/search.rb2
-rw-r--r--Library/Homebrew/cmd/sh.rb16
-rw-r--r--Library/Homebrew/cmd/uninstall.rb4
-rw-r--r--Library/Homebrew/cmd/unlinkapps.rb2
-rw-r--r--Library/Homebrew/cmd/update-report.rb26
-rw-r--r--Library/Homebrew/cmd/upgrade.rb2
-rw-r--r--Library/Homebrew/compat/formula_specialties.rb2
-rw-r--r--Library/Homebrew/compat/hbc/cli.rb2
-rw-r--r--Library/Homebrew/cxxstdlib.rb2
-rw-r--r--Library/Homebrew/dev-cmd/audit.rb16
-rw-r--r--Library/Homebrew/dev-cmd/bottle.rb4
-rw-r--r--Library/Homebrew/dev-cmd/bump-formula-pr.rb14
-rw-r--r--Library/Homebrew/dev-cmd/create.rb4
-rw-r--r--Library/Homebrew/dev-cmd/edit.rb2
-rw-r--r--Library/Homebrew/dev-cmd/mirror.rb2
-rw-r--r--Library/Homebrew/dev-cmd/tap-new.rb4
-rw-r--r--Library/Homebrew/dev-cmd/update-test.rb2
-rw-r--r--Library/Homebrew/diagnostic.rb121
-rw-r--r--Library/Homebrew/download_strategy.rb8
-rw-r--r--Library/Homebrew/exceptions.rb36
-rw-r--r--Library/Homebrew/extend/ARGV.rb2
-rw-r--r--Library/Homebrew/extend/ENV/shared.rb12
-rw-r--r--Library/Homebrew/extend/os/linux/requirements/osxfuse_requirement.rb2
-rw-r--r--Library/Homebrew/extend/os/mac/development_tools.rb12
-rw-r--r--Library/Homebrew/extend/os/mac/diagnostic.rb48
-rw-r--r--Library/Homebrew/extend/os/mac/formula_cellar_checks.rb10
-rw-r--r--Library/Homebrew/extend/os/mac/missing_formula.rb8
-rw-r--r--Library/Homebrew/extend/os/mac/requirements/osxfuse_requirement.rb2
-rw-r--r--Library/Homebrew/extend/pathname.rb10
-rw-r--r--Library/Homebrew/extend/string.rb2
-rw-r--r--Library/Homebrew/formula.rb10
-rw-r--r--Library/Homebrew/formula_cellar_checks.rb20
-rw-r--r--Library/Homebrew/formula_installer.rb18
-rw-r--r--Library/Homebrew/formula_support.rb18
-rw-r--r--Library/Homebrew/formulary.rb4
-rw-r--r--Library/Homebrew/gpg.rb2
-rw-r--r--Library/Homebrew/keg.rb12
-rw-r--r--Library/Homebrew/language/python.rb4
-rw-r--r--Library/Homebrew/migrator.rb9
-rw-r--r--Library/Homebrew/missing_formula.rb36
-rw-r--r--Library/Homebrew/os/mac.rb2
-rw-r--r--Library/Homebrew/os/mac/keg.rb4
-rw-r--r--Library/Homebrew/os/mac/xcode.rb8
-rw-r--r--Library/Homebrew/patch.rb2
-rw-r--r--Library/Homebrew/requirement.rb10
-rw-r--r--Library/Homebrew/requirements.rb8
-rw-r--r--Library/Homebrew/requirements/language_module_requirement.rb7
-rw-r--r--Library/Homebrew/requirements/maximum_macos_requirement.rb2
-rw-r--r--Library/Homebrew/requirements/unsigned_kext_requirement.rb2
-rw-r--r--Library/Homebrew/rubocops/conflicts_cop.rb2
-rw-r--r--Library/Homebrew/rubocops/extend/formula_cop.rb8
-rw-r--r--Library/Homebrew/rubocops/formula_desc_cop.rb2
-rw-r--r--Library/Homebrew/rubocops/lines_cop.rb4
-rw-r--r--Library/Homebrew/rubocops/patches_cop.rb12
-rw-r--r--Library/Homebrew/rubocops/urls_cop.rb6
-rw-r--r--Library/Homebrew/sandbox.rb2
-rw-r--r--Library/Homebrew/tap.rb2
-rw-r--r--Library/Homebrew/test/cask/artifact/app_spec.rb12
-rw-r--r--Library/Homebrew/test/cask/artifact/pkg_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb4
-rw-r--r--Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/cat_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/cleanup_spec.rb6
-rw-r--r--Library/Homebrew/test/cask/cli/create_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/info_spec.rb12
-rw-r--r--Library/Homebrew/test/cask/cli/install_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/list_spec.rb8
-rw-r--r--Library/Homebrew/test/cask/cli/outdated_spec.rb12
-rw-r--r--Library/Homebrew/test/cask/cli/reinstall_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/search_spec.rb14
-rw-r--r--Library/Homebrew/test/cask/cli/uninstall_spec.rb6
-rw-r--r--Library/Homebrew/test/cask/dsl_spec.rb4
-rw-r--r--Library/Homebrew/test/cask/pkg_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/system_command_result_spec.rb4
-rw-r--r--Library/Homebrew/test/cmd/custom-external-command_spec.rb2
-rw-r--r--Library/Homebrew/test/cmd/install_spec.rb14
-rw-r--r--Library/Homebrew/test/cmd/irb_spec.rb2
-rw-r--r--Library/Homebrew/test/cmd/link_spec.rb2
-rw-r--r--Library/Homebrew/test/cmd/options_spec.rb2
-rw-r--r--Library/Homebrew/test/cmd/style_spec.rb2
-rw-r--r--Library/Homebrew/test/cmd/switch_spec.rb2
-rw-r--r--Library/Homebrew/test/cmd/uses_spec.rb2
-rw-r--r--Library/Homebrew/test/deps_spec.rb2
-rw-r--r--Library/Homebrew/test/descriptions_spec.rb4
-rw-r--r--Library/Homebrew/test/dev-cmd/audit_spec.rb34
-rw-r--r--Library/Homebrew/test/dev-cmd/test_spec.rb2
-rw-r--r--Library/Homebrew/test/formula_installer_spec.rb2
-rw-r--r--Library/Homebrew/test/formulary_spec.rb4
-rw-r--r--Library/Homebrew/test/gpg2_requirement_spec.rb2
-rw-r--r--Library/Homebrew/test/inreplace_spec.rb40
-rw-r--r--Library/Homebrew/test/java_requirement_spec.rb2
-rw-r--r--Library/Homebrew/test/language/python_spec.rb2
-rw-r--r--Library/Homebrew/test/missing_formula_spec.rb2
-rw-r--r--Library/Homebrew/test/pathname_spec.rb4
-rw-r--r--Library/Homebrew/test/rubocops/bottle_block_cop_spec.rb6
-rw-r--r--Library/Homebrew/test/rubocops/caveats_cop_spec.rb17
-rw-r--r--Library/Homebrew/test/rubocops/checksum_cop_spec.rb14
-rw-r--r--Library/Homebrew/test/rubocops/class_cop_spec.rb14
-rw-r--r--Library/Homebrew/test/rubocops/components_order_cop_spec.rb16
-rw-r--r--Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb6
-rw-r--r--Library/Homebrew/test/rubocops/conflicts_cop_spec.rb4
-rw-r--r--Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb24
-rw-r--r--Library/Homebrew/test/rubocops/homepage_cop_spec.rb6
-rw-r--r--Library/Homebrew/test/rubocops/lines_cop_spec.rb58
-rw-r--r--Library/Homebrew/test/rubocops/options_cop_spec.rb10
-rw-r--r--Library/Homebrew/test/rubocops/patches_cop_spec.rb90
-rw-r--r--Library/Homebrew/test/rubocops/text_cop_spec.rb47
-rw-r--r--Library/Homebrew/test/rubocops/urls_cop_spec.rb26
-rw-r--r--Library/Homebrew/test/sandbox_spec.rb2
-rw-r--r--Library/Homebrew/test/spec_helper.rb2
-rw-r--r--Library/Homebrew/test/string_spec.rb4
-rw-r--r--Library/Homebrew/test/support/fixtures/cask/Casks/with-caveats.rb2
-rw-r--r--Library/Homebrew/test/support/fixtures/cask/Casks/with-uninstall-script-app.rb2
-rw-r--r--Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb8
-rw-r--r--Library/Homebrew/test/tap_spec.rb8
-rw-r--r--Library/Homebrew/test/utils_spec.rb2
-rw-r--r--Library/Homebrew/test/version_spec.rb6
-rw-r--r--Library/Homebrew/utils.rb6
-rw-r--r--Library/Homebrew/utils/github.rb10
-rw-r--r--Library/Homebrew/utils/link.rb2
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")}