Added small DSL for formulas
You can now use "url", "version", "homepage", and any checksums as
class methods, like so:
class Dos2unix <Formula
url 'http://www.sfr-fresh.com/linux/misc/old/dos2unix-3.1.tar.gz'
md5 '25ff56bab202de63ea6f6c211c416e96'
homepage 'http://www.sfr-fresh.com/linux/misc/'
end
The previous usage ("@url = 'http://example.com/tarball.tgz'") still
works, maintaining compatibility with previous formulas.
"dos2unix.rb" is translated into the new format as an example.
This commit is contained in:
parent
6f4c61e326
commit
44a3d59630
@ -330,8 +330,17 @@ private
|
|||||||
end
|
end
|
||||||
|
|
||||||
class <<self
|
class <<self
|
||||||
attr_reader :url, :version, :homepage, :head, :deps
|
def self.attr_rw(*attrs)
|
||||||
attr_reader *CHECKSUM_TYPES
|
attrs.each do |attr|
|
||||||
|
class_eval %Q{
|
||||||
|
def #{attr}(val=nil)
|
||||||
|
val.nil? ? @#{attr} : @#{attr} = val
|
||||||
|
end
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
attr_rw :url, :version, :homepage, :head, :deps, *CHECKSUM_TYPES
|
||||||
|
|
||||||
def depends_on name, *args
|
def depends_on name, *args
|
||||||
@deps ||= []
|
@deps ||= []
|
||||||
|
|||||||
@ -75,8 +75,8 @@ class TestBallOverrideBrew <Formula
|
|||||||
end
|
end
|
||||||
|
|
||||||
class TestScriptFileFormula <ScriptFileFormula
|
class TestScriptFileFormula <ScriptFileFormula
|
||||||
@url="file:///#{Pathname.new(ABS__FILE__).realpath}"
|
url "file:///#{Pathname.new(ABS__FILE__).realpath}"
|
||||||
@version="1"
|
version "1"
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
super
|
super
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user