Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Move option comparison into BuildOptions

  • Loading branch information...
commit 8d0c65e47b69ac7625e5b467a5c4ca7feb632d0f 1 parent 76c01e9
@jacknagel authored
View
2  Library/Homebrew/bottles.rb
@@ -15,7 +15,7 @@ def install_bottle? f
and f.downloader.local_bottle_path
not ARGV.build_from_source? \
and MacOS.bottles_supported? \
- and ARGV.used_options(f).empty? \
+ and f.build.used_options.empty? \
and bottle_current?(f)
end
View
8 Library/Homebrew/extend/ARGV.rb
@@ -7,14 +7,6 @@ def options_only
select {|arg| arg[0..0] == '-'}
end
- def used_options f
- f.build.as_flags & options_only
- end
-
- def unused_options f
- f.build.as_flags - options_only
- end
-
def formulae
require 'formula'
@formulae ||= downcased_unique_named.map{ |name| Formula.factory name }
View
9 Library/Homebrew/formula_support.rb
@@ -185,6 +185,7 @@ def hash
# This class holds the build-time options defined for a Formula,
# and provides named access to those options during install.
class BuildOptions
+ attr_writer :args
include Enumerable
def initialize args
@@ -253,4 +254,12 @@ def universal?
def build_32_bit?
@args.include? '--32-bit'
end
+
+ def used_options
+ as_flags & @args.options_only
+ end
+
+ def unused_options
+ as_flags - @args.options_only
+ end
end
View
8 Library/Homebrew/tab.rb
@@ -10,14 +10,16 @@ class Tab < OpenStruct
FILENAME = 'INSTALL_RECEIPT.json'
def self.create f, args
+ f.build.args = args
+
sha = HOMEBREW_REPOSITORY.cd do
`git rev-parse --verify -q HEAD 2>/dev/null`.chuzzle
end
- Tab.new :used_options => args.used_options(f),
- :unused_options => args.unused_options(f),
+ Tab.new :used_options => f.build.used_options,
+ :unused_options => f.build.unused_options,
:tabfile => f.prefix.join(FILENAME),
- :built_as_bottle => !!args.build_bottle?,
+ :built_as_bottle => !!ARGV.build_bottle?,
:tapped_from => f.tap,
:time => Time.now.to_i, # to_s would be better but Ruby has no from_s function :P
:HEAD => sha
Please sign in to comment.
Something went wrong with that request. Please try again.