diff --git a/Library/Homebrew/dev-cmd/create.rb b/Library/Homebrew/dev-cmd/create.rb index f02b61769aa7e..26ab371728d1f 100644 --- a/Library/Homebrew/dev-cmd/create.rb +++ b/Library/Homebrew/dev-cmd/create.rb @@ -200,7 +200,7 @@ def create_formula(args:) end end - fc.generate! + path = fc.write_formula! formula = Homebrew.with_no_api_env do Formula[fc.name] @@ -208,7 +208,7 @@ def create_formula(args:) PyPI.update_python_resources! formula, ignore_non_pypi_packages: true if args.python? puts "Please run `brew audit --new #{fc.name}` before submitting, thanks." - fc.path + path end def __gets diff --git a/Library/Homebrew/formula_creator.rb b/Library/Homebrew/formula_creator.rb index 05679630e2c00..cdbcf8bf27bc0 100644 --- a/Library/Homebrew/formula_creator.rb +++ b/Library/Homebrew/formula_creator.rb @@ -10,7 +10,7 @@ module Homebrew # @api private class FormulaCreator attr_reader :args, :url, :sha256, :desc, :homepage - attr_accessor :name, :version, :tap, :path, :mode, :license + attr_accessor :name, :version, :tap, :mode, :license def initialize(args) @args = args @@ -34,7 +34,6 @@ def url=(url) @name = path.basename.to_s[/(.*?)[-_.]?#{Regexp.escape(path.version.to_s)}/, 1] end end - update_path @version = if @version Version.new(@version) else @@ -42,12 +41,6 @@ def url=(url) end end - def update_path - return if @name.nil? || @tap.nil? - - @path = @tap.new_formula_path(@name) - end - def fetch? !args.no_fetch? end @@ -56,7 +49,11 @@ def head? @head || args.HEAD? end - def generate! + def write_formula! + raise ArgumentError, "name is blank!" if @name.blank? + raise ArgumentError, "tap is blank!" if @tap.blank? + + path = @tap.new_formula_path(@name) raise "#{path} already exists" if path.exist? if version.nil? || version.null? @@ -86,6 +83,7 @@ def generate! path.dirname.mkpath path.write ERB.new(template, trim_mode: ">").result(binding) + path end sig { returns(String) }