aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/exceptions.rb
diff options
context:
space:
mode:
authorilovezfs2016-08-05 00:20:20 -0700
committerilovezfs2016-10-02 18:08:56 -0700
commit23a38e0ff6beb26f86eca0c56b25d6100375b60d (patch)
treea4474aa269ff6ed45420bb1daf087deea9ed4c21 /Library/Homebrew/exceptions.rb
parent7d31a70373edae4d8e78d91a4cbc05324bebc3ba (diff)
downloadbrew-23a38e0ff6beb26f86eca0c56b25d6100375b60d.tar.bz2
virtualenv_install_with_resources: select correct python
`virtualenv_install_with_resources` will now attempt to guess the desired Python based on the active build options and based on the dependencies and requirements. When the situation is ambiguous (e.g., `depends_on :python3` and `build.with? "python"` is true) raise `FormulaAmbiguousPythonError` unless `:using => "python"` or `:using => "python3"` has been passed to resolve the ambiguity. In most cases, this will allow ``` virtualenv_create(libexec, "python3") virtualenv_install_with_resources ``` to be changed to just ``` virtualenv_install_with_resources ```
Diffstat (limited to 'Library/Homebrew/exceptions.rb')
-rw-r--r--Library/Homebrew/exceptions.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index e01a60c75..1b2b24691 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -294,6 +294,17 @@ class FormulaConflictError < RuntimeError
end
end
+class FormulaAmbiguousPythonError < RuntimeError
+ def initialize(formula)
+ super <<-EOS.undent
+ 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
+ `virtualenv_install_with_resources` to resolve the ambiguity manually.
+ EOS
+ end
+end
+
class BuildError < RuntimeError
attr_reader :formula, :env