The major version is implicit in the compiler name. Since the name is
used when matching failures to compilers, we don't need to consider the
major version separately.
If formulae names are passed as arguments check if just they are outdated. Additionally, return a failed code if they are outdated.
This will hopefully be able to stop people complaining about the outdated error code as they can now just run e.g.:
`brew outdated git && brew upgrade git`
ClosesHomebrew/homebrew#31242.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This code is supposed to allow
depends_on "foo" => "with-bar"
to work when foo has only a "without-bar" option.
The options system was not designed to support this. Unfortunately, it
was bolted on anyway. The implementation is extremely difficult to
understand, and it only works for certain types of options, which is
confusing from a user's point of view. Luckily, no formulae in core or
the official taps rely on the behavior in order to function.
It is hindering progress in improving this code, so I am removing it.
Since the Tab is written in the build process, the formula's build
object will have the correct args attached to it already, so we don't
need to reconstruct it.
- remove support for IO objects, since we no longer access ::DATA
directly
- since we don't need to support IO objects, use a separate class for
string patches and stop wrapping strings in StringIO ojects
If both a formula and its dependencies are changed in a single pull
request it'll fail because the bottle block may no longer be correct.
Handle this case by ignoring bottle pour failures and fetching the
source packages instead of bottles.