| Age | Commit message (Collapse) | Author |
|
Closes Homebrew/homebrew#42354.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Closes Homebrew/homebrew#42096.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
|
|
|
|
Allows remapping one option name to another and updates build options
and flags accordingly.
|
|
Used to capture options that are being renamed.
|
|
|
|
|
|
We no longer need implicit conversion of options to strings.
|
|
Follow-up to 23d90a6a187a57fbdf4eeac146993e3b37c3d4d9.
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit cee42c339e7632eab15111e2c4e6c121ace6f9e2.
|
|
This reverts commit 8d2ef974a3a87bf4207f71ccb8a7b4776e16a016.
|
|
This reverts commit 6f29c36aed9d951499146054a4caca702fa33d1a.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Options collections are backed by Sets, and thus trying to push a new
option with a name that duplicates an existing option cannot succeed.
Later, we can exploit this behavior and remove some conditionals.
|
|
|
|
Fixes Homebrew/homebrew#17434.
|
|
The array of options that is passed to the spawned build process is a
combination of the current ARGV, options passed in by a dependent
formula, and an existing install receipt. The objects that are
interacting here each expect the resulting collection to have certain
properties, and the expectations are not consistent.
Clear up this confusing mess by only dealing with Options collections.
This keeps our representation of options uniform across the codebase.
We can remove BuildOptions dependency on HomebrewArgvExtension, which
allows us to pass any Array-like collection to Tab.create. The only
other site inside of FormulaInstaller that uses the array is the #exec
call, and there it is splatted and thus we can substitute our Options
collection there as well.
|
|
Currently we handle options in several ways, and it is hard to remember
what code needs an option string ("--foo"), what needs only the name
("foo") and what needs an Option object.
Now that Option objects can act as strings and be converted to JSON, we
can start using them instead of passing around strings between Formula
objects, Tab objects, and ARGV-style arrays.
The Options class is a special collection that can be queried for the
inclusion of options in any form: '--foo', 'foo', or Option.new("foo").
|