dev-cmd/create: add types
Signed-off-by: Michael Cho <michael@michaelcho.dev>
This commit is contained in:
parent
bb753a6c48
commit
3021ba91fd
@ -70,6 +70,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
# Create a formula from a tarball URL.
|
||||
sig { void }
|
||||
def create
|
||||
args = create_args.parse
|
||||
|
||||
@ -82,6 +83,7 @@ module Homebrew
|
||||
exec_editor path
|
||||
end
|
||||
|
||||
sig { params(args: CLI::Args).returns(Pathname) }
|
||||
def create_cask(args:)
|
||||
url = args.named.first
|
||||
name = if args.set_name.blank?
|
||||
@ -91,7 +93,7 @@ module Homebrew
|
||||
else
|
||||
args.set_name
|
||||
end
|
||||
token = Cask::Utils.token_from(name)
|
||||
token = Cask::Utils.token_from(T.must(name))
|
||||
|
||||
cask_tap = Tap.fetch(args.tap || "homebrew/cask")
|
||||
raise TapUnavailableError, cask_tap.name unless cask_tap.installed?
|
||||
@ -101,7 +103,7 @@ module Homebrew
|
||||
raise Cask::CaskAlreadyCreatedError, token if cask_path.exist?
|
||||
|
||||
version = if args.set_version
|
||||
Version.new(args.set_version)
|
||||
Version.new(T.must(args.set_version))
|
||||
else
|
||||
Version.detect(url.gsub(token, "").gsub(/x86(_64)?/, ""))
|
||||
end
|
||||
@ -153,6 +155,7 @@ module Homebrew
|
||||
cask_path
|
||||
end
|
||||
|
||||
sig { params(args: CLI::Args).returns(Pathname) }
|
||||
def create_formula(args:)
|
||||
mode = if args.autotools?
|
||||
:autotools
|
||||
@ -229,6 +232,7 @@ module Homebrew
|
||||
path
|
||||
end
|
||||
|
||||
sig { returns(T.nilable(String)) }
|
||||
def __gets
|
||||
gots = $stdin.gets.chomp
|
||||
gots.empty? ? nil : gots
|
||||
|
||||
@ -31,6 +31,7 @@ module Homebrew
|
||||
raise TapUnavailableError, @tap.name unless @tap.installed?
|
||||
end
|
||||
|
||||
sig { params(url: String).returns(T.nilable(String)) }
|
||||
def self.name_from_url(url)
|
||||
stem = Pathname.new(url).stem
|
||||
# special cases first
|
||||
@ -47,6 +48,7 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
sig { void }
|
||||
def parse_url
|
||||
@name = FormulaCreator.name_from_url(@url) if @name.blank?
|
||||
odebug "name_from_url: #{@name}"
|
||||
@ -65,6 +67,7 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
sig { returns(Pathname) }
|
||||
def write_formula!
|
||||
raise ArgumentError, "name is blank!" if @name.blank?
|
||||
raise ArgumentError, "tap is blank!" if @tap.blank?
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user