75 Commits

Author SHA1 Message Date
Mike McQuaid
cffa5a9864 Disable/delete/add more deprecations
Move various `odeprecated` to `odisabled` and delete uses of
`odisabled`.
2018-04-08 14:57:17 -07:00
Mike McQuaid
5cfb81253c requirement: odeprecated for default_formula usage. 2018-01-23 11:26:27 +00:00
Mike McQuaid
02d876528a requirement: make deprecated stuff unsupported. 2018-01-23 11:26:14 +00:00
Mike McQuaid
46633af76a requirement: call satisfied? from modify_build_environment. 2018-01-23 11:26:00 +00:00
Mike McQuaid
b70b5429d0 Deprecate default_formula Requirement DSL
This has been a nightmare in terms of the complexity to our dependency
system and the whack-a-mole required on bugs. If a Requirement resolves
to a Formula it should just use `depends_on "formula"` instead. This
matches the effective behaviour all users of bottles (the vast majority
of users and installs) and what we're doing in Homebrew/homebrew-core.
2018-01-14 13:27:43 +00:00
Shaun Jackman
020c1adebd X11Requirement: Inherit from generic class [macOS]
Fix the warning: already initialized constant X11Requirement
2017-12-08 10:38:58 -08:00
Mike McQuaid
f0b25b5482 requirement: convert Cellar path to opt path. 2017-11-03 14:50:17 +00:00
Mike McQuaid
5de7ec394b requirement: don't add /usr/local/{bin,sbin}.
This should be considered a requirement bug if it's added.
2017-11-03 14:50:17 +00:00
Mike McQuaid
c843fd2f12 requirement: prepend rather than append PATH.
Otherwise this ends up behind e.g. `/usr/bin` so is pretty useless.
2017-11-03 14:50:17 +00:00
Markus Reiter
9bee9ca575 Use “squiggly” heredocs. 2017-10-18 14:39:09 +02:00
Mike McQuaid
a83baba8b5 formula_installer: use default_formula for bottles
This was the original, intended functionality before this was broken
in fe117bf79b244c42b7e4049d353c3c003eae4880.

Fixes https://github.com/Homebrew/homebrew-core/issues/13680.
2017-07-30 16:56:24 +01:00
Mike McQuaid
7a0aff1080 Autocorrect Rubocop Style/PerlBackrefs. 2017-06-10 20:23:20 +03:00
Markus Reiter
3cdf8f938a Use scoped RSpec matchers. 2017-05-15 17:23:40 +02:00
Markus Reiter
22f624b373 Make PATH enumerable. 2017-04-30 21:11:28 +02:00
Markus Reiter
f8ad9d7efd Use PATH where possible. 2017-04-30 21:11:27 +02:00
Mike McQuaid
ba3c46d24f More deprecations.
Deprecate more methods. Internal APIs have been verified to be unused
elsewhere and removed. External APIs have had deprecation methods added.
Existing deprecations have been either upgraded to produce warnings or
no longer deprecated and the reasoning documented.
2017-04-22 16:28:07 +01:00
Mike McQuaid
0cc9d93885 formula_installer: tweak req formula additions.
Rather than just checking if a requirement's dependency is installed or
not check if the requirement was actually satisfied by a particular
formula rather than e.g. just having a `default_formula` defined.
2017-03-25 10:59:54 +00:00
Mike McQuaid
fe117bf79b requirement: get formula from satisfy.
If satisfy returns a `Pathname` from `which` then we can use that to
infer a formula dependency from that `Requirement`.
2017-01-11 12:01:08 -08:00
Markus Reiter
9c2420a9ef “Homebrew Cask” -> “Homebrew-Cask” 2016-10-06 18:34:20 +02:00
Mike McQuaid
b432f8e9cb Merge pull request #1004 from apjanke/print-requirements
info: print requirements
2016-09-27 09:48:14 +01:00
Andrew Janke
5aaccba34c info: include versions and other details in Requirements display 2016-09-24 21:39:33 -04:00
Markus Reiter
58e36c7319 Fix Style/GuardClause. 2016-09-24 12:24:35 +02:00
Markus Reiter
e851c9bf6c Style/Alias: Prefer alias. 2016-09-23 18:19:53 +02:00
Markus Reiter
23eac7ab89 Fix DoubleNegation. 2016-09-23 15:30:06 +02:00
Markus Reiter
52ff988530 Fix RuboCop CaseEquality. 2016-09-23 15:30:06 +02:00
Mike McQuaid
3982950e61 rubocop --auto-correct all hash-rocket usage. 2016-09-17 16:14:13 +01:00
Mike McQuaid
07d904fdb5 requirement: more obvious error message.
Make it more obvious which class was unsatisfied to produce this error
message.
2016-07-11 09:03:19 +01:00
Dominyk Tiller
e3b6c96b5d
requirement: update cask wording
We now have "magic" to automatically handle `brew cask` and `brew bundle`
calls without needing to tap those taps manually beforehand. Let's reflect that
in this wording for consistency.

Closes #427.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2016-07-01 04:31:02 +01:00
Satoshi Ohmori
6f50b45797 Fix typo [ci skip]
Closes Homebrew/homebrew#48008.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-01-13 21:37:22 +01:00
Xu Cheng
66c0b06d72 utils: add which_all
Similar to which, except it returns all of paths where binary is found.
i.e. it's equivalent to `which -a`.
2016-01-03 21:00:11 +08:00
Mike McQuaid
e5ba31fcdc Allow multiple option_names in dep/reqs.
This means that dependencies can be merged but still maintain all
their option names.

Closes Homebrew/homebrew#46916.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-15 08:37:16 +00:00
Xu Cheng
01d7f4e766 remove Requirement#pour_bottle?
It's never used since a0a93f1b3b7b2be9b8a319be91086ffe220f8e32.

Closes Homebrew/homebrew#43462.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-09-01 19:19:13 +08:00
Xu Cheng
fe830e4099 Requirement: support tap formula as default_formula
Closes Homebrew/homebrew#43107.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-08-20 17:31:17 +08:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Xu Cheng
c6e1090c43 requirement: allow access default_formula directly 2015-06-07 20:32:45 +08:00
Mike McQuaid
88208af8e4 requirement: add cask and download attributes.
Print out the message pointing to the Cask and/or download location too.a
2014-12-28 12:14:49 +00:00
Mike McQuaid
645e82df83 Remove {start,stop}doc as we're using Yard now. 2014-12-06 09:14:20 +00:00
Jack Nagel
9dfc5e39e8 Fix Requirement equality 2014-11-12 17:35:16 -06:00
Jack Nagel
33dfc8e8b8 Don't allocate arrays in Requirement#hash 2014-11-12 17:33:58 -06:00
Jack Nagel
7b550b9486 Use alias_method instead of an extra ivar 2014-10-09 21:54:36 -05:00
Mike McQuaid
05739585d1 Generate RDoc documentation.
This is currently still very messy and we probably want to work out the
best way to declare what parts of our DSL/what files are "public".

Still, even if this is a WIP I'd rather get something committed sooner
rather than later and start iterating on this as a replacement for
`example_formula.rb` and the formula cookbook.

To test:
```bash
cd $(brew --prefix)/Library/Homebrew && \
  rdoc formula.rb requirement.rb utils.rb &&\
  open doc/index.html
```

Closes Homebrew/homebrew#32470.
2014-09-24 15:08:10 -07:00
Jack Nagel
181654ddaf Remove two more unnecessary default arguments 2014-08-14 19:58:36 -05:00
Jack Nagel
d4602b1711 Eliminate some indirection in evaluating requirement env blocks 2014-07-07 22:01:52 -05:00
Jack Nagel
dff74d9c67 Don't set @env on instances 2014-07-07 21:32:35 -05:00
Jack Nagel
a13a4f4704 Keep DSL related code in one place 2014-07-07 20:20:29 -05:00
Jack Nagel
618b894c3e Replace ComparableSet with a Requirements collection 2014-07-03 14:50:57 -05:00
Jack Nagel
2e44ffe80f Move require into method to avoid circular require
There is a nasty circular dependency here:

formula.rb
  requirement.rb
    extend/ENV.rb
      extend/ENV/shared.rb
        formula.rb

Probably the information that the build environment needs from formula
should be passed in at runtime, but that seems hard and I really just
want to be able to run the tests with warnings turned on. :/
2014-07-02 21:27:19 -05:00
Jack Nagel
fbefa76ce2 Always use class.name to build inspect strings 2014-07-01 18:39:15 -05:00
Jack Nagel
502078099f Prefer self.class.name to self.class.to_s 2014-06-12 16:13:07 -05:00
Jack Nagel
099c8c15ae Deprecate implicit build-time requirements 2014-05-30 18:16:56 -05:00