651 Commits

Author SHA1 Message Date
Jack Nagel
abb0cb3aa0 Switch to a more useful serialization of tap info
Closes Homebrew/homebrew#37383.
2015-03-14 21:14:37 -04:00
Xu Cheng
c8835afead move formula_specialties to compat
Closes Homebrew/homebrew#37365.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-03-04 23:20:13 +08:00
Xu Cheng
40087e30df ruby 1.8 doesn't have sort_by!
Closes Homebrew/homebrew#36935

Closes Homebrew/homebrew#36936.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-02-19 02:02:43 +08:00
Mike McQuaid
0caa1912d9 Move "path or URL" tap string to global constant. 2015-02-13 10:58:43 +00:00
Xu Cheng
e547438ff4 cmd/info: prevent duplicate dependency display.
Before:

    $ brew info llvm
    ==> Dependencies
    Build: xz ✔, xz ✔, xz ✔, xz ✔, xz ✔, xz ✔

    $ brew info --json=v1 llvm
    ... "dependencies":["xz","xz","xz","xz","xz","xz"], ...

After

    $ brew info llvm
    ==> Dependencies
    Build: xz ✔

    $ brew info --json=v1 llvm
    ... "dependencies":["xz"], ...

Closes Homebrew/homebrew#36653.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-02-08 15:53:30 +00:00
Xu Cheng
f8791da2ec formula: sort installed version in to_hash
https://github.com/Homebrew/homebrew-brewdler/pull/43#discussion_r24248760

Closes Homebrew/homebrew#36611.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-02-07 20:43:03 +00:00
Jack Nagel
9f3d88158b Save and restore build attribute
This probably doesn't matter in practice, but I don't want to take any
chances.
2015-02-07 11:02:35 -05:00
Jack Nagel
cd522b1719 Always respect build options when invoking post_install
Fixes Homebrew/homebrew#36335.
2015-02-07 11:02:35 -05:00
Jack Nagel
4851b1e7a8 Use a local instead of an instance variable 2015-02-07 11:02:35 -05:00
Jack Nagel
f0fc15ade8 Remove unnecessary early return
Iterating over an empty list is a no-op so we can remove this early
return.
2015-01-22 17:36:31 -05:00
Jack Nagel
2804e0ed3b Hide "Patching" message when there aren't any patches 2015-01-22 17:04:38 -05:00
Jack Nagel
7978209469 Use formula patches accessor 2015-01-22 17:03:54 -05:00
Jack Nagel
af1e9a9610 Expose bottle details on the formula object
Fixes Homebrew/homebrew#36032.
2015-01-20 22:27:23 -05:00
Jack Nagel
909a5af075 Omit post-install warning unless formula defines it
Closes Homebrew/homebrew#34744.
2015-01-12 21:57:47 -05:00
Mike McQuaid
ae0a7bcad4 formula: set HOME to testpath in tests. 2015-01-09 11:35:03 +00:00
Jack Nagel
eec4feccaa Include selected spec in Formula#inspect 2015-01-04 21:36:22 -05:00
Jack Nagel
50514678d1 Make active_spec protected 2015-01-04 15:33:25 -05:00
Jack Nagel
991f540855 Doc most DSL methods as write-only
The public readers for these attributes are on the instance, not the
class.
2015-01-04 14:25:59 -05:00
Jack Nagel
85dfece168 Fix markup 2015-01-04 14:25:59 -05:00
Jack Nagel
6eb0b3505b Top-level DSL methods only manipulate the stable spec 2015-01-04 14:25:59 -05:00
Jack Nagel
1de21b7f00 Use block-form of File.open 2014-12-30 23:52:07 -05:00
Jack Nagel
accd72b290 Log build environment on failure 2014-12-30 23:47:07 -05:00
Jack Nagel
77c0f60434 Always dump full configuration 2014-12-30 23:33:50 -05:00
Jack Nagel
77a1c6f166 One less external call to #active_spec 2014-12-27 14:26:56 -05:00
Jack Nagel
2ff86eb417 Decouple applying patches from staging the source 2014-12-26 17:44:44 -05:00
Jack Nagel
dec965e132 Finally stop exposing url on Formula 2014-12-26 16:17:53 -05:00
Jack Nagel
8575034f19 Unroll validation loop 2014-12-26 16:10:28 -05:00
Jack Nagel
1bdeeefb94 Overriding #initialize is not supported, so drop late validation 2014-12-26 16:05:34 -05:00
Mike McQuaid
dc7b54ae43 formula: add/improve more API docs.
Closes Homebrew/homebrew#35266.
2014-12-26 20:24:20 +00:00
Jack Nagel
80aef5fdb9 Fix method redefinition warning
test_defined? gets defined in the method_added hook.
2014-12-26 12:05:59 -05:00
Jack Nagel
cef553491c The class-level keg_only_reason is private API 2014-12-22 11:50:31 -05:00
Jack Nagel
d831473fe5 Use "@api private" instead of "@private"
http://www.rubydoc.info/gems/yard/file/docs/Tags.md#private
http://www.rubydoc.info/gems/yard/file/docs/Tags.md#api
2014-12-22 11:49:37 -05:00
Baptiste Fontaine
69b01772cc Typo in skip_clean? documentation
Closes Homebrew/homebrew#35142.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-12-20 11:41:00 -05:00
Jack Nagel
d91d56555c Formula#install has public visibility
It is called with an explicit receiver in build.rb, so the base class
method should also be public.
2014-12-12 22:31:15 -05:00
Tim D. Smith
997a3b5212 Formula#exec_cmd: coerce arg to string before start_with? 2014-12-12 15:17:35 -08:00
Tim D. Smith
fe16f36f3c Formula#exec_cmd: recognize setuptools shim and refurbish args 2014-12-10 14:18:23 -08:00
Tim D. Smith
99848607b2 Formula#system: hide python setup.py shim in ohai 2014-12-10 14:18:23 -08:00
Mike McQuaid
d09727ae4a formula.rb: make some methods private.
Don't seem to be used publicly anywhere.

Closes Homebrew/homebrew#34729.
2014-12-08 12:41:51 +00:00
Mike McQuaid
e7497e33c0 formula.rb: add install method.
Mostly for links in API documentation.
2014-12-08 12:41:50 +00:00
Mike McQuaid
858f7fb529 Document Formula attributes.
The beginnings of some decent API documentation.

Also, tweak `.yardopts` to better fix our internal style.
2014-12-08 12:41:50 +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
3b1a1962f7 Remove outdated comment 2014-11-06 17:55:04 -06:00
Jack Nagel
1a487fa2b3 Add predicate methods for specs and stop testing internals 2014-10-29 23:32:38 -05:00
Mike McQuaid
356e75487e Point to a tap when installing or fetching.
When installing or fetching and stuff goes wrong we can't always catch
the error and redirect to the tap. Instead, point to the tap before we
do anything failure-prone and hopefully that'll encourage people to
file issues in the right place. If not we can say that explicitly.

Closes Homebrew/homebrew#33220.
2014-10-21 23:04:55 +01:00
Mike McQuaid
d0240e7cd4 formula: add spec deprecated_option DSL. 2014-10-19 13:58:52 +01:00
Jack Nagel
2349a0ea36 Provide a method to access test fixtures
Formulae should not require knowledge of Homebrew's internal directory
structure, and we should be able to alter it without modifying
individual formulae.
2014-10-19 01:18:26 -05:00
Jack Nagel
b3ed5a367d Remove redundant comments 2014-10-10 20:30:29 -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
ae88549797 Remove fails_with? from the formula instance 2014-09-18 15:50:54 -05:00
Jack Nagel
79a6e59e6e Implement brew test --debug 2014-09-18 14:16:07 -05:00