1039 Commits

Author SHA1 Message Date
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
Jack Nagel
1abcb0b348 Remove workaround for old debugger 2014-09-18 14:16:07 -05:00
Jack Nagel
a607c71123 Pass the ENV hash into the BuildError constructor 2014-09-13 19:47:30 -05:00
Jack Nagel
691f962b0d Fix file descriptor leak in Formula#system 2014-09-07 20:41:18 -05:00
Jack Nagel
d0ecd08c90 Avoid intermediate array 2014-09-07 14:07:06 -05:00
Jack Nagel
23c73e2147 Remove unnecessary closed? guard
The debugger can't jump back to this point, so we don't have to worry
about this code executing twice.
2014-09-05 16:56:07 -05:00
Jack Nagel
fd0ba6904f Less code in begin block 2014-09-05 15:36:08 -05:00
Jack Nagel
638363ac8b Ensure log file is closed 2014-09-05 15:23:00 -05:00
Jack Nagel
7c47060702 Flush log stream before exec 2014-09-05 15:13:53 -05:00
Jack Nagel
b9c796999b Cache result of ARGV.verbose? on the stack 2014-09-05 15:13:53 -05:00
Jack Nagel
a3409a179e Reduce branches and effective scope of some variables 2014-09-05 15:13:53 -05:00
Jack Nagel
34ea00783c Skip allocating a pipe entirely in non-verbose mode 2014-09-05 15:13:52 -05:00
Jack Nagel
a211b61441 Don't pass the read end of the pipe to exec_cmd 2014-09-05 15:13:52 -05:00