-55
-56
-57
+48
+49
+50
- # File 'formula_creator.rb', line 55
+ # File 'formula_creator.rb', line 48
def head?
@head || args.HEAD?
@@ -1391,6 +1196,8 @@
+90
+91
92
93
94
@@ -1523,12 +1330,10 @@
221
222
223
-224
-225
-226
+224
|
- # File 'formula_creator.rb', line 92
+ # File 'formula_creator.rb', line 90
def template
<<~ERB
@@ -1671,9 +1476,9 @@
@@ -1700,19 +1518,81 @@
-45
-46
-47
-48
-49
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
- # File 'formula_creator.rb', line 45
+ # File 'formula_creator.rb', line 52
+
+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?
+ odie "Version cannot be determined from URL. Explicitly set the version with `--set-version` instead."
+ elsif fetch?
+ unless head?
+ r = Resource.new
+ r.url(url)
+ r.version(version)
+ r.owner = self
+ @sha256 = r.fetch.sha256 if r.download_strategy == CurlDownloadStrategy
+ end
-def update_path
- return if @name.nil? || @tap.nil?
+ if @user && @name
+ begin
+ metadata = GitHub.repository(@user, @name)
+ @desc = metadata["description"]
+ @homepage = metadata["homepage"]
+ @license = metadata["license"]["spdx_id"] if metadata["license"]
+ rescue GitHub::API::HTTPNotFoundError
+ nil
+ end
+ end
+ end
- @path = @tap.new_formula_path(@name)
+ path.dirname.mkpath
+ path.write ERB.new(template, trim_mode: ">").result(binding)
+ path
end
|
diff --git a/docs/method_list.html b/docs/method_list.html
index 2a2669e69..b6102b7b9 100644
--- a/docs/method_list.html
+++ b/docs/method_list.html
@@ -12637,14 +12637,6 @@
-
-
-
-
-
generate_bash_completion_file
Homebrew::Completions
@@ -12652,7 +12644,7 @@
-
+
generate_bash_subcommand_completion
Homebrew::Completions
@@ -12660,7 +12652,7 @@
-
+
generate_cask_api
Homebrew
@@ -12668,7 +12660,7 @@
-
+
generate_cask_api_args
Homebrew
@@ -12676,7 +12668,7 @@
-
+
generate_cmd_manpages
Homebrew::Manpages
@@ -12684,7 +12676,7 @@
-
+
#generate_completions_from_executable
Formula
@@ -12692,7 +12684,7 @@
-
+
generate_csv
Homebrew
@@ -12700,7 +12692,7 @@
-
+
generate_fish_completion_file
Homebrew::Completions
@@ -12708,7 +12700,7 @@
-
+
generate_fish_subcommand_completion
Homebrew::Completions
@@ -12716,7 +12708,7 @@
-
+
generate_formula_api
Homebrew
@@ -12724,7 +12716,7 @@
-
+
generate_formula_api_args
Homebrew
@@ -12732,7 +12724,7 @@
-
+
#generate_help_text
Homebrew::CLI::Parser
@@ -12740,7 +12732,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Gnu
@@ -12748,7 +12740,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Npm
@@ -12756,7 +12748,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Cpan
@@ -12764,7 +12756,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Pypi
@@ -12772,7 +12764,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Xorg
@@ -12780,7 +12772,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Gnome
@@ -12788,7 +12780,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Apache
@@ -12796,7 +12788,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Hackage
@@ -12804,7 +12796,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Bitbucket
@@ -12812,7 +12804,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Launchpad
@@ -12820,7 +12812,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::Sourceforge
@@ -12828,7 +12820,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::GithubLatest
@@ -12836,7 +12828,7 @@
-
+
generate_input_values
Homebrew::Livecheck::Strategy::GithubReleases
@@ -12844,7 +12836,7 @@
-
+
generate_man_completions
Homebrew
@@ -12852,7 +12844,7 @@
-
+
generate_man_completions_args
Homebrew
@@ -12860,7 +12852,7 @@
-
+
generate_option_doc
Homebrew::Manpages
@@ -12868,7 +12860,7 @@
-
+
generate_release_notes
GitHub
@@ -12876,7 +12868,7 @@
-
+
generate_sha256_line
Homebrew
@@ -12884,7 +12876,7 @@
-
+
generate_zsh_completion_file
Homebrew::Completions
@@ -12892,7 +12884,7 @@
-
+
generate_zsh_option_exclusions
Homebrew::Completions
@@ -12900,7 +12892,7 @@
-
+
generate_zsh_subcommand_completion
Homebrew::Completions
@@ -12908,7 +12900,7 @@
-
+
#generated_hash!
APIHashable
@@ -12916,7 +12908,7 @@
-
+
#generating_hash!
APIHashable
@@ -12924,7 +12916,7 @@
-
+
#generating_hash?
APIHashable
@@ -12932,7 +12924,7 @@
-
+
generic_git_tags
Homebrew
@@ -12940,7 +12932,7 @@
-
+
#get
CacheStoreDatabase
@@ -12948,7 +12940,7 @@
-
+
get_artifact_url
GitHub
@@ -12956,7 +12948,7 @@
-
+
#get_checksum_node
RuboCop::Cop::FormulaCop
@@ -12964,7 +12956,7 @@
-
+
#get_formula
Formulary::FormulaLoader
@@ -12972,7 +12964,7 @@
-
+
#get_formula
Formulary::BottleLoader
@@ -12980,7 +12972,7 @@
-
+
#get_formula
Formulary::TapLoader
@@ -12988,7 +12980,7 @@
-
+
#get_formula
Formulary::NullLoader
@@ -12996,7 +12988,7 @@
-
+
get_info
Cask::Info
@@ -13004,7 +12996,7 @@
-
+
get_latest_release
GitHub
@@ -13012,7 +13004,7 @@
-
+
#get_make_var
StringInreplaceExtension
@@ -13020,7 +13012,7 @@
-
+
#get_mounts
Homebrew::Diagnostic::Volumes
@@ -13028,7 +13020,7 @@
-
+
get_package
Homebrew
@@ -13036,7 +13028,7 @@
-
+
get_pull_request_changed_files
GitHub
@@ -13044,7 +13036,7 @@
-
+
#get_pypi_url
RuboCop::Cop::FormulaAudit::PyPiUrls
@@ -13052,7 +13044,7 @@
-
+
get_release
GitHub
@@ -13060,7 +13052,7 @@
-
+
#get_repo_data
Homebrew::FormulaAuditor
@@ -13068,7 +13060,7 @@
-
+
get_repo_license
GitHub
@@ -13076,7 +13068,7 @@
-
+
#get_state
RuboCop::Cop::FormulaAudit::ComponentsOrder
@@ -13084,7 +13076,7 @@
-
+
get_workflow_run
GitHub
@@ -13092,7 +13084,7 @@
-
+
gist_logs
Homebrew
@@ -13100,7 +13092,7 @@
-
+
gist_logs_args
Homebrew
@@ -13108,7 +13100,7 @@
-
+
gistify_logs
Homebrew
@@ -13116,7 +13108,7 @@
-
+
git
Utils::Git
@@ -13124,7 +13116,7 @@
-
+
#git?
Tap
@@ -13132,7 +13124,7 @@
-
+
#git_branch
Tap
@@ -13140,7 +13132,7 @@
-
+
git_branch
Utils
@@ -13148,7 +13140,7 @@
-
+
git_commit_message
Utils
@@ -13156,7 +13148,7 @@
-
+
#git_dep_if_needed
DependencyCollector
@@ -13164,7 +13156,7 @@
-
+
#git_head
Tap
@@ -13172,7 +13164,7 @@
-
+
git_head
Utils
@@ -13180,7 +13172,7 @@
-
+
#git_last_commit
Tap
@@ -13188,7 +13180,7 @@
-
+
git_log
Homebrew
@@ -13196,7 +13188,7 @@
-
+
git_log_trailers_cmd
Homebrew
@@ -13204,7 +13196,7 @@
-
+
#git_repo
Tap
@@ -13212,7 +13204,7 @@
-
+
#git_repo?
GitRepository
@@ -13220,7 +13212,7 @@
-
+
git_short_head
Utils
@@ -13228,7 +13220,7 @@
-
+
git_tags
Homebrew
@@ -13236,7 +13228,7 @@
-
+
github
SharedAudits
@@ -13244,7 +13236,7 @@
-
+
github_cli_token
GitHub::API
@@ -13252,7 +13244,7 @@
-
+
github_info
Homebrew
@@ -13260,7 +13252,7 @@
-
+
#github_message
GitHub::API::Error
@@ -13268,7 +13260,7 @@
-
+
#github_packages
Bottle::Filename
@@ -13276,7 +13268,7 @@
-
+
github_packages?
Homebrew
@@ -13284,7 +13276,7 @@
-
+
github_release
SharedAudits
@@ -13292,7 +13284,7 @@
-
+
github_release_data
SharedAudits
@@ -13300,7 +13292,7 @@
-
+
github_releases?
Homebrew
@@ -13308,7 +13300,7 @@
-
+
github_remote_path
Homebrew
@@ -13316,7 +13308,7 @@
-
+
github_repo_data
SharedAudits
@@ -13324,7 +13316,7 @@
-
+
github_tag_from_url
SharedAudits
@@ -13332,7 +13324,7 @@
-
+
gitlab
SharedAudits
@@ -13340,7 +13332,7 @@
-
+
gitlab_release
SharedAudits
@@ -13348,7 +13340,7 @@
-
+
gitlab_release_data
SharedAudits
@@ -13356,7 +13348,7 @@
-
+
gitlab_repo_data
SharedAudits
@@ -13364,7 +13356,7 @@
-
+
gitlab_tag_from_url
SharedAudits
@@ -13372,7 +13364,7 @@
-
+
#glibc_dep_if_needed
DependencyCollector
@@ -13380,7 +13372,7 @@
-
+
#global_cask_options
Homebrew::Manpages::Variables
@@ -13388,7 +13380,7 @@
-
+
global_cask_options
Homebrew::CLI::Parser
@@ -13396,7 +13388,7 @@
-
+
global_cask_options_manpage
Homebrew::Manpages
@@ -13404,7 +13396,7 @@
-
+
#global_options
Homebrew::Manpages::Variables
@@ -13412,7 +13404,7 @@
-
+
global_options
Homebrew::CLI::Parser
@@ -13420,7 +13412,7 @@
-
+
global_options_manpage
Homebrew::Manpages
@@ -13428,7 +13420,7 @@
-
+
global_post_install
Homebrew::Install
@@ -13436,7 +13428,7 @@
-
+
gnu_tar
Homebrew
@@ -13444,7 +13436,7 @@
-
+
gnu_tar_formula_ensure_installed_if_needed!
Homebrew
@@ -13452,7 +13444,7 @@
-
+
go_cache_directory?
Homebrew::Cleanup
@@ -13460,7 +13452,7 @@
-
+
go_resource
Formula
@@ -13468,7 +13460,7 @@
-
+
#go_resource
SoftwareSpec
@@ -13476,7 +13468,7 @@
-
+
grand_total_row
Homebrew
@@ -13484,7 +13476,7 @@
-
+
graph_deps
Homebrew
@@ -13492,7 +13484,7 @@
-
+
graph_package_dependencies
Utils::TopologicalHash
@@ -13500,7 +13492,7 @@
-
+
#gsub!
StringInreplaceExtension
@@ -13508,7 +13500,7 @@
-
+
#guess_cask_version
Homebrew::UnversionedCaskChecker
@@ -13516,7 +13508,7 @@
-
+
#gui?
User
@@ -13524,7 +13516,7 @@
-
+
#gzip
Kernel
@@ -13532,7 +13524,7 @@
-
+
handle_api_response
Homebrew
@@ -13540,7 +13532,7 @@
-
+
handle_block_return
Homebrew::Livecheck::Strategy
@@ -13548,7 +13540,7 @@
-
+
handle_formula_and_casks
Homebrew
@@ -13556,7 +13548,7 @@
-
+
handle_unsatisfied_dependents
Homebrew::Uninstall
@@ -13564,7 +13556,7 @@
-
+
hardware
SystemConfig
@@ -13572,7 +13564,7 @@
-
+
#hash
Option
@@ -13580,7 +13572,7 @@
-
+
#hash
Version::Token
@@ -13588,7 +13580,7 @@
-
+
#hash
Version
@@ -13596,7 +13588,7 @@
-
+
|