diff options
| author | Steven Peters | 2013-12-16 16:37:59 -0800 |
|---|---|---|
| committer | Jack Nagel | 2013-12-19 16:43:42 -0600 |
| commit | b5249432267a6086df2c39fa1c5c26c14db7d513 (patch) | |
| tree | 99af8fc2de2116d50735c40420547087d4fe24e1 /Library/Homebrew | |
| parent | d03100c615891de46ede9f7088b48375ca1d70aa (diff) | |
| download | brew-b5249432267a6086df2c39fa1c5c26c14db7d513.tar.bz2 | |
install: add --only-dependencies option
The traditional approach to installing the dependencies of a formula is
the following:
brew install `brew deps formula`
This approach ignores any options that are specified in the parent
formula. This pull request adds a --only-dependencies option to brew
install that installs the dependencies of a formula with optional flags,
but returns before installing the parent formula.
Closes Homebrew/homebrew#25272.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/extend/ARGV.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 5aa90dbb9..c2e1a9c2e 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -102,6 +102,10 @@ module HomebrewArgvExtension include? '--ignore-dependencies' end + def only_deps? + include? '--only-dependencies' + end + def json value 'json' end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index a78fd0d13..8990b3afc 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -15,13 +15,14 @@ class FormulaInstaller include FormulaCellarChecks attr_reader :f - attr_accessor :tab, :options, :ignore_deps + attr_accessor :tab, :options, :ignore_deps, :only_deps attr_accessor :show_summary_heading, :show_header def initialize ff @f = ff @show_header = false @ignore_deps = ARGV.ignore_deps? || ARGV.interactive? + @only_deps = ARGV.only_deps? @options = Options.new @tab = Tab.dummy_tab(ff) @@ -105,6 +106,8 @@ class FormulaInstaller compute_and_install_dependencies unless ignore_deps + return if only_deps + if ARGV.build_bottle? && (arch = ARGV.bottle_arch) && !Hardware::CPU.optimization_flags.include?(arch) raise "Unrecognized architecture for --bottle-arch: #{arch}" end @@ -270,6 +273,7 @@ class FormulaInstaller fi.tab = dep_tab fi.options = dep_options fi.ignore_deps = true + fi.only_deps = false fi.show_header = false oh1 "Installing #{f} dependency: #{Tty.green}#{dep}#{Tty.reset}" outdated_keg.unlink if outdated_keg @@ -282,6 +286,8 @@ class FormulaInstaller end def caveats + return if only_deps + if ARGV.homebrew_developer? and not f.keg_only? audit_bin audit_sbin @@ -299,6 +305,8 @@ class FormulaInstaller end def finish + return if only_deps + ohai 'Finishing up' if ARGV.verbose? install_plist |
