Xu Cheng
a88c40b8c8
core file style update
2015-08-22 13:15:33 +08:00
Xu Cheng
8a766c4768
Formulary.to_rack: follow the symlink
2015-08-15 16:12:42 +08:00
Xu Cheng
fac17e8459
to_rack: simplify the logic
...
Closes Homebrew/homebrew#42743 .
Signed-off-by: Xu Cheng <xucheng@me.com>
2015-08-10 21:59:51 +08:00
Vlad Shablinsky
6a0dcc8324
don't use new name rack if old name rack is a dir
...
Everything that used HOMEBREW_CELLAR/canonical_name
could point to something that doesn't exist because
loader_for tries to load new name formula if no old
name found. However there can be software installed
from path with the same name that renamed formulae
had and we still need to link/unlink/uninstall etc
that software. The solution is Formulary#to_rack
method that returns rack for given name.
- Add Formulary#to_rack
- Update ARGV.kegs
- Update cmd/switch
2015-08-10 13:57:59 +01:00
Vlad Shablinsky
2cc6b90329
formulary: change logic for renamed formulae
2015-08-10 13:57:59 +01:00
CNA-Bld
194618beb8
implement formulary#find_with_priority
2015-08-10 12:17:26 +01:00
CNA-Bld
68a5b1fe46
add fully qualified name for core formulae
2015-08-06 22:28:44 +08:00
Xu Cheng
b121e5fd7b
more core file style updated by rubocop
2015-08-06 17:23:56 +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
8f0249e9a1
handle mxcl/master synonym inside Tab#from_file_content
2015-08-02 16:12:14 +08:00
Xu Cheng
be9fde6266
Formulary#from_rack: auto resolve spec
2015-07-31 19:44:02 +08:00
Xu Cheng
b1fff32055
BottleLoader: check version mismatch
...
Closes Homebrew/homebrew#42049 .
Signed-off-by: Xu Cheng <xucheng@me.com>
2015-07-24 15:59:28 +08:00
Xu Cheng
140f8e3df7
improve TapLoader and TapFormulaUnavailableError
...
* Restore the ability to load formula by `user/homebrew-repo/foo`.
* Only suggest to install tap when tap isn't installed.
Closes Homebrew/homebrew#41705 .
Signed-off-by: Xu Cheng <xucheng@me.com>
2015-07-19 12:10:33 +08:00
Xu Cheng
c1fb7a8e4a
tap_paths: prevent conflicted formulae happen in the same tap
...
Closes Homebrew/homebrew#40606 .
Signed-off-by: Xu Cheng <xucheng@me.com>
2015-06-12 16:20:44 +08:00
Xu Cheng
f2d0a88292
remove Pathname#find_formula
...
Closes Homebrew/homebrew#40486 .
Signed-off-by: Xu Cheng <xucheng@me.com>
2015-06-11 15:28:30 +08:00
Jack Nagel
7d8bec3f20
Always treat formula files as UTF-8
2015-06-08 22:27:27 -04:00
Jack Nagel
9516444dfd
Give namespace modules a name so formula objects can be marshaled
...
Fixes Homebrew/homebrew#40311 .
2015-06-02 20:51:16 -04:00
Xu Cheng
99ba9faf09
BottleLoader: use bottle_resolve_formula_names
2015-06-02 16:45:43 +08:00
Jack Nagel
45a71898e8
Isolate formula class namespaces
...
Closes Homebrew/homebrew#40151 .
Closes Homebrew/homebrew#40203 .
2015-06-01 19:24:47 -04:00
Misty De Meo
102170b957
Formulary: accept mxcl/master as synonym for Homebrew/homebrew
...
Fixes Homebrew/homebrew#40171 .
2015-05-28 16:24:46 -07:00
Xu Cheng
647c7626f0
Formulary: add from_rack
2015-05-27 13:53:40 +08:00
Xu Cheng
e91d152af8
Formulary#canonical_name: handle TapFormulaAmbiguityError
...
If there are multiple tap formulae with the name of ref,
then ref is the canonical name
2015-05-27 13:53:40 +08:00
Xu Cheng
811c4c5add
load tap formula through direct search
2015-05-27 13:53:40 +08:00
Xu Cheng
3a3a49bd93
add Formulary.core_path method, deprecate Formula.path
2015-05-27 13:53:40 +08:00
Xu Cheng
3108fb5d22
BottleLoader: using Formulary.path to search formula file
2015-05-27 13:53:40 +08:00
Xu Cheng
8297810e3c
add Formulary::path method
...
This is a little code refactoring splited from Homebrew/homebrew#36753
The idea is to eliminate `Formula#path` outside of `formulary.rb`.
And I indent to deprecate `Formula#path` method when I reimplement
symlink free tap function.
Closes Homebrew/homebrew#39313 .
2015-05-08 13:51:26 +08:00
Jack Nagel
a2a24b3a0d
Load formulae into private namespace
2015-01-03 22:39:07 -05:00
Jack Nagel
26a2e4c4d3
Avoid formula lookup when we know it will fail
...
Formulary.loader_for cannot raise exceptions, as canonical_name must
work for nonexistent formulae. However, we can skip the constant lookup
and a redundant file existence check by returning a loader that raises
immediately in #get_formula.
2015-01-01 13:21:29 -05:00
Jack Nagel
34fc227f92
Get rid of StandardLoader class
2015-01-01 13:21:29 -05:00
Jack Nagel
648c47e85d
Re-raise NameError when it doesn't match our constant
2014-12-31 17:28:21 -05:00
Jack Nagel
5bf92cd7ca
Check file existence instead of rescuing LoadError
2014-12-31 17:28:21 -05:00
Jack Nagel
2cb160dc46
Stop rescuing NameError
...
This clause originated in 4a36c56ac7b36904712aa472b9bd50ef1b0c80d3,
attempting to catch NameErrors raised by const_defined? calls earlier in
the method body. Those const_defined? calls have since been moved out of
the body of the begin block.
Stop rescuing NameError here, which will make true programming errors in
formulae easier to debug.
2014-12-31 17:28:21 -05:00
Jack Nagel
a955665102
Preserve backtrace from original exception
2014-12-29 15:23:01 -05:00
Jack Nagel
633f29af5d
Remove duplicated logic from FromUrlLoader
2014-12-29 14:59:18 -05:00
Jack Nagel
2bf1f93721
Extract method
2014-12-29 14:59:18 -05:00
Jack Nagel
5beaa512e6
Pass the requested spec into the formula instance
2014-06-20 21:32:36 -05:00
Jack Nagel
6e1450e974
Handle illegal constant names when fetching remote formulae
2014-06-15 20:23:20 -05:00
Jack Nagel
c8fd1214bd
Revert "Only do formula class sanity checks once"
...
This reverts commit ace78b1f3a59a893c7068e485555acf792470080.
Fixes Homebrew/homebrew#30154 .
2014-06-14 16:04:38 -05:00
Jack Nagel
fdcbc5e4db
Only do formula class sanity checks once
2014-06-09 19:55:31 -05:00
Geoff Nixon
3cd5f17426
Print debug messages to stderr
...
Closes Homebrew/homebrew#29294 .
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-05-16 00:00:41 -05:00
Adam Vandenberg
37760ce3f8
add comment
2014-05-02 07:39:23 -07:00
Jack Nagel
bdee729a41
Yield absolute paths from find_formula
2014-04-25 18:58:16 -05:00
Tsukasa OMOTO
54004a4759
Make the on-disk representation of taps unambiguous
...
This commit supports "-" and "_" in names of user and repository.
Closes Homebrew/homebrew#28203 .
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-04-24 17:10:41 -05:00
David Turner
629b244cf8
Handle formula URLs with query parameters. This is useful for fetching formulas from cgit repositories, which uses ?h= to choose branches.
...
Closes Homebrew/homebrew#28314 .
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2014-04-18 08:40:39 -07:00
Jack Nagel
af272e04c7
Restore recursive tap search
...
Fixes Homebrew/homebrew#28234 .
2014-04-07 18:44:29 -05:00
Jack Nagel
d0831c4ef7
Always resolve one symlink when loading formula files
...
This means that tapped formula will always have the correct path, and we
can stop calling realpath everywhere.
2014-04-06 00:31:07 -05:00
Jack Nagel
20f4b31763
Implement canonical_name in Formulary
2014-04-05 22:03:49 -05:00
Jack Nagel
e891bb4272
Drop support for passing incomplete paths
...
`brew install ./foo` treats `./foo` like `./foo.rb`. This requires
a confusing special case in the name resolution logic and doesn't make
a whole lot of sense from a UX perspective.
Drop support for this. The argument should be an absolute path,
a relative path, or a formula name, rather than a hybrid.
cf. https://github.com/Homebrew/homebrew/issues/23430#issuecomment-26776962
2014-04-05 22:03:40 -05:00
Jack Nagel
0d90deac27
Extract alias resolution to a separate loader class
2014-04-05 22:03:40 -05:00
Jack Nagel
caaa32325c
Use StandardLoader when we know the path already
2014-04-05 22:03:40 -05:00