624 Commits

Author SHA1 Message Date
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
Jack Nagel
2efe4cc3b5 Log directly to the log file in non-verbose mode 2014-09-05 15:13:52 -05:00
Jack Nagel
effddda4f9 Promote log stream to a local 2014-09-05 15:13:52 -05:00
Jack Nagel
479ad0265b Reduce effective scope of pipe variables 2014-09-05 15:13:52 -05:00
Jack Nagel
659896fda2 Extract body of child process to a method 2014-09-05 15:13:52 -05:00
Jack Nagel
bbf79f5d85 Make logging cheaper in the non-verbose case 2014-09-05 01:22:01 -05:00
Jack Nagel
03abf83472 Add timestamp and argument list to log files 2014-09-05 00:36:39 -05:00
Misty De Meo
4743fc1662 Add Go language module, resources
This introduces a new GoResource category of resource. GoResources
have a specialized stage method which allows a resource to stage
itself into a gopath.

The new Go language module provides a one-liner to stage all
GoResources present in the formula.
2014-09-01 19:56:43 -07:00
Jack Nagel
d18c016a27 Use cp because install warns on empty arrays 2014-08-29 22:51:10 -05:00
Jack Nagel
1ec1d36301 Copy config.log even if the build succeeds 2014-08-29 22:35:41 -05:00
Jack Nagel
023f02b90a Make fails_with available in spec blocks
Closes Homebrew/homebrew#31706.
2014-08-19 17:14:02 -05:00
Jack Nagel
92eb96aca0 Use the build accessor rather than metaprogramming 2014-08-16 23:04:48 -05:00
Jack Nagel
281646b089 Define the test_defined? method dynamically 2014-08-16 17:44:22 -05:00
Jack Nagel
c0ef3d1541 Use the keg_only_reason instance method in keg_only? 2014-08-16 15:41:14 -05:00
Jack Nagel
95aef55110 Simplify cxxstdlib_check implementation
The cxxstdlib_check method currently only supports one value, so we can
just define the accompanying instance method when necessary. If we ever
add more options we can back it with a data structure.
2014-08-16 02:16:05 -05:00
Jack Nagel
e6498f4dfc Remove the universal accessor from BuildOptions
BuildOptions is now immutable (finally).
2014-08-16 01:39:33 -05:00