Class: SoftwareSpec
- Extended by:
- Forwardable
- Includes:
- Downloadable, OnSystem::MacOSAndLinux
- Defined in:
- software_spec.rb,
sorbet/rbi/dsl/software_spec.rbi
Direct Known Subclasses
Instance Attribute Summary collapse
- #bottle_specification ⇒ BottleSpecification readonly private
- #build ⇒ BuildOptions readonly private
- #compiler_failures ⇒ Array<CompilerFailure> readonly private
- #dependency_collector ⇒ DependencyCollector readonly private
- #depends_on_macos_set_in_block ⇒ Boolean readonly private
- #deprecated_flags ⇒ Array<DeprecatedOption> readonly private
- #deprecated_options ⇒ Array<DeprecatedOption> readonly private
- #full_name ⇒ String? readonly private
- #name ⇒ String? readonly private
- #options ⇒ Options readonly private
- #owner ⇒ Formula, ... private
- #patches ⇒ Array<EmbeddedPatch, ExternalPatch> readonly private
- #resources ⇒ Hash{String => Resource} readonly private
Attributes included from Downloadable
Instance Method Summary collapse
- #add_dep_option(dep) ⇒ void private
- #bottle(&block) ⇒ void private
- #bottle_defined? ⇒ Boolean private
- #bottle_tag?(tag = nil) ⇒ Boolean private
- #bottled?(tag = nil) ⇒ Boolean private
- #cached_download(*args, &block) ⇒ T.untyped private
- #checksum(*args, &block) ⇒ T.untyped private
- #clear_cache(*args, &block) ⇒ T.untyped private
- #declared_deps ⇒ Dependencies private
- #depends_on(spec = nil, set_in_block: false, **spec_kwargs) ⇒ void private
- #depends_on_linux_set_top_level? ⇒ Boolean private
- #depends_on_macos_set_top_level? ⇒ Boolean private
- #deprecated_option(hash) ⇒ void private
- #deps ⇒ Dependencies private
- #download_queue_name(*args, &block) ⇒ T.untyped private
- #download_queue_type(*args, &block) ⇒ T.untyped private
- #downloader(*args, &block) ⇒ T.untyped private
- #fails_with(compiler, &block) ⇒ void private
- #fetch(*args, &block) ⇒ T.untyped private
- #freeze ⇒ T.self_type private
- #initialize(flags: []) ⇒ void constructor private
- #initialize_dup(other) ⇒ void private
- #mirror(*args, &block) ⇒ T.untyped private
- #mirrors(*args, &block) ⇒ T.untyped private
- #option(name, description = "") ⇒ void private
- #option_defined?(name) ⇒ Boolean private
- #patch(strip = :p1, src = T.unsafe(nil), &block) ⇒ void private
- #record_os_requirement(dep, set_in_block:) ⇒ void private
- #recursive_dependencies ⇒ Array<Dependency> private
- #recursive_requirements ⇒ Requirements private
- #requirements ⇒ Requirements private
- #resource(name = T.unsafe(nil), klass = Resource, &block) ⇒ Resource? private
- #resource_defined?(name) ⇒ Boolean private
- #sha256(*args, &block) ⇒ T.untyped private
- #source_modified_time(*args, &block) ⇒ T.untyped private
- #specs(*args, &block) ⇒ T.untyped private
- #stage(*args, &block) ⇒ T.untyped private
- #url(val = nil, specs = {}) ⇒ String? private
- #uses_from_macos(dep, bounds = {}) ⇒ void private
- #using(*args, &block) ⇒ T.untyped private
- #verify_download_integrity(*args, &block) ⇒ T.untyped private
- #version(*args, &block) ⇒ T.untyped private
Methods included from OnSystem::MacOSAndLinux
included, #on_arch_conditional, #on_macos, #on_system_conditional
Methods included from Downloadable
#download_queue_message, #download_strategy, #downloaded!, #downloaded?, #downloading!, #extracting!, #fetched_size, #total_size, #verified!, #verifying!
Methods included from Utils::Output::Mixin
#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_outdated, #pretty_uninstalled, #pretty_upgradable
Methods included from Context
current, current=, #debug?, #quiet?, #verbose?, #with_context
Constructor Details
#initialize(flags: []) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'software_spec.rb', line 69 def initialize(flags: []) super() @name = T.let(nil, T.nilable(String)) @full_name = T.let(nil, T.nilable(String)) @owner = T.let(nil, T.nilable(T.any(Formula, Cask::Cask))) # Ensure this is synced with `initialize_dup` and `freeze` (excluding simple objects like integers and booleans) @resource = T.let(Resource::Formula.new, Resource::Formula) @resources = T.let({}, T::Hash[String, Resource]) @dependency_collector = T.let(DependencyCollector.new, DependencyCollector) @bottle_specification = T.let(BottleSpecification.new, BottleSpecification) @patches = T.let([], T::Array[T.any(EmbeddedPatch, ExternalPatch)]) @options = T.let(Options.new, Options) @flags = flags @deprecated_flags = T.let([], T::Array[DeprecatedOption]) @deprecated_options = T.let([], T::Array[DeprecatedOption]) @build = T.let(BuildOptions.new(Options.create(@flags), ), BuildOptions) @compiler_failures = T.let([], T::Array[CompilerFailure]) @depends_on_macos_bare_set_top_level = T.let(false, T::Boolean) @depends_on_macos_version_set_top_level = T.let(false, T::Boolean) @depends_on_maximum_macos_set_top_level = T.let(false, T::Boolean) @depends_on_macos_set_in_block = T.let(false, T::Boolean) @depends_on_linux_set_top_level = T.let(false, T::Boolean) end |
Instance Attribute Details
#bottle_specification ⇒ BottleSpecification (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
54 55 56 |
# File 'software_spec.rb', line 54 def bottle_specification @bottle_specification end |
#build ⇒ BuildOptions (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
33 34 35 |
# File 'software_spec.rb', line 33 def build @build end |
#compiler_failures ⇒ Array<CompilerFailure> (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
57 58 59 |
# File 'software_spec.rb', line 57 def compiler_failures @compiler_failures end |
#dependency_collector ⇒ DependencyCollector (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
51 52 53 |
# File 'software_spec.rb', line 51 def dependency_collector @dependency_collector end |
#depends_on_macos_set_in_block ⇒ Boolean (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
60 61 62 |
# File 'software_spec.rb', line 60 def depends_on_macos_set_in_block @depends_on_macos_set_in_block end |
#deprecated_flags ⇒ Array<DeprecatedOption> (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
45 46 47 |
# File 'software_spec.rb', line 45 def deprecated_flags @deprecated_flags end |
#deprecated_options ⇒ Array<DeprecatedOption> (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
48 49 50 |
# File 'software_spec.rb', line 48 def @deprecated_options end |
#full_name ⇒ String? (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
27 28 29 |
# File 'software_spec.rb', line 27 def full_name @full_name end |
#name ⇒ String? (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
24 25 26 |
# File 'software_spec.rb', line 24 def name @name end |
#options ⇒ Options (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
42 43 44 |
# File 'software_spec.rb', line 42 def @options end |
#owner ⇒ Formula, ...
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
30 31 32 |
# File 'software_spec.rb', line 30 def owner @owner end |
#patches ⇒ Array<EmbeddedPatch, ExternalPatch> (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
39 40 41 |
# File 'software_spec.rb', line 39 def patches @patches end |
#resources ⇒ Hash{String => Resource} (readonly)
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
36 37 38 |
# File 'software_spec.rb', line 36 def resources @resources end |
Instance Method Details
#add_dep_option(dep) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
406 407 408 409 410 411 412 413 414 |
# File 'software_spec.rb', line 406 def add_dep_option(dep) dep.option_names.each do |name| if dep.optional? && !option_defined?("with-#{name}") << Option.new("with-#{name}", "Build with #{name} support") elsif dep.recommended? && !option_defined?("without-#{name}") << Option.new("without-#{name}", "Build without #{name} support") end end end |
#bottle(&block) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
177 178 179 |
# File 'software_spec.rb', line 177 def bottle(&block) bottle_specification.instance_eval(&block) end |
#bottle_defined? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
154 155 156 |
# File 'software_spec.rb', line 154 def bottle_defined? !bottle_specification.collector..empty? end |
#bottle_tag?(tag = nil) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
159 160 161 |
# File 'software_spec.rb', line 159 def bottle_tag?(tag = nil) bottle_specification.tag?(Utils::Bottles.tag(tag)) end |
#bottled?(tag = nil) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
164 165 166 167 168 169 170 171 172 173 174 |
# File 'software_spec.rb', line 164 def bottled?(tag = nil) return false unless bottle_tag?(tag) return true if tag.present? return true if bottle_specification.compatible_locations? owner = self.owner return false unless owner.is_a?(Formula) owner.force_bottle end |
#cached_download(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
10 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 10 def cached_download(*args, &block); end |
#checksum(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
13 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 13 def checksum(*args, &block); end |
#clear_cache(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
16 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 16 def clear_cache(*args, &block); end |
#declared_deps ⇒ Dependencies
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
356 357 358 |
# File 'software_spec.rb', line 356 def declared_deps dependency_collector.deps end |
#depends_on(spec = nil, set_in_block: false, **spec_kwargs) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
254 255 256 257 258 259 |
# File 'software_spec.rb', line 254 def depends_on(spec = nil, set_in_block: false, **spec_kwargs) spec = spec_kwargs if spec.nil? && spec_kwargs.present? dep = dependency_collector.add(spec) record_os_requirement(dep, set_in_block:) add_dep_option(dep) if dep end |
#depends_on_linux_set_top_level? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
269 270 271 |
# File 'software_spec.rb', line 269 def depends_on_linux_set_top_level? @depends_on_linux_set_top_level end |
#depends_on_macos_set_top_level? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
262 263 264 265 266 |
# File 'software_spec.rb', line 262 def depends_on_macos_set_top_level? @depends_on_macos_bare_set_top_level || @depends_on_macos_version_set_top_level || @depends_on_maximum_macos_set_top_level end |
#deprecated_option(hash) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 |
# File 'software_spec.rb', line 223 def deprecated_option(hash) raise ArgumentError, "deprecated_option hash must not be empty" if hash.empty? hash.each do |, | Array().each do |old_option| Array().each do |new_option| deprecated_option = DeprecatedOption.new(old_option, new_option) << deprecated_option old_flag = deprecated_option.old_flag new_flag = deprecated_option.current_flag next unless @flags.include? old_flag @flags -= [old_flag] @flags |= [new_flag] @deprecated_flags << deprecated_option end end end @build = BuildOptions.new(Options.create(@flags), ) end |
#deps ⇒ Dependencies
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
351 352 353 |
# File 'software_spec.rb', line 351 def deps dependency_collector.deps.dup_without_system_deps end |
#download_queue_name(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
19 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 19 def download_queue_name(*args, &block); end |
#download_queue_type(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
22 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 22 def download_queue_type(*args, &block); end |
#downloader(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
25 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 25 def downloader(*args, &block); end |
#fails_with(compiler, &block) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
401 402 403 |
# File 'software_spec.rb', line 401 def fails_with(compiler, &block) compiler_failures << CompilerFailure.create(compiler, &block) end |
#fetch(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
28 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 28 def fetch(*args, &block); end |
#freeze ⇒ T.self_type
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'software_spec.rb', line 112 def freeze @resource.freeze @resources.freeze @dependency_collector.freeze @bottle_specification.freeze @patches.freeze @options.freeze @flags.freeze @deprecated_flags.freeze @deprecated_options.freeze @build.freeze @compiler_failures.freeze super end |
#initialize_dup(other) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'software_spec.rb', line 96 def initialize_dup(other) super @resource = @resource.dup @resources = @resources.dup @dependency_collector = @dependency_collector.dup @bottle_specification = @bottle_specification.dup @patches = @patches.dup @options = @options.dup @flags = @flags.dup @deprecated_flags = @deprecated_flags.dup @deprecated_options = @deprecated_options.dup @build = @build.dup @compiler_failures = @compiler_failures.dup end |
#mirror(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
31 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 31 def mirror(*args, &block); end |
#mirrors(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
34 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 34 def mirrors(*args, &block); end |
#option(name, description = "") ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
214 215 216 217 218 219 220 |
# File 'software_spec.rb', line 214 def option(name, description = "") raise ArgumentError, "option name is required" if name.empty? raise ArgumentError, "option name must be longer than one character: #{name}" if name.length <= 1 raise ArgumentError, "option name must not start with dashes: #{name}" if name.start_with?("-") << Option.new(name, description) end |
#option_defined?(name) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
209 210 211 |
# File 'software_spec.rb', line 209 def option_defined?(name) .include?(name) end |
#patch(strip = :p1, src = T.unsafe(nil), &block) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
392 393 394 395 396 397 398 |
# File 'software_spec.rb', line 392 def patch(strip = :p1, src = T.unsafe(nil), &block) p = Patch.create(strip, src, &block) return if p.is_a?(ExternalPatch) && p.url.blank? dependency_collector.add(p.resource) if p.is_a? ExternalPatch patches << p end |
#record_os_requirement(dep, set_in_block:) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 |
# File 'software_spec.rb', line 274 def record_os_requirement(dep, set_in_block:) case dep when MacOSRequirement if set_in_block @depends_on_macos_set_in_block = true return end if @depends_on_linux_set_top_level raise ArgumentError, "`depends_on :linux` cannot be combined with `depends_on macos:`" end if !dep.version_specified? if @depends_on_macos_bare_set_top_level raise ArgumentError, "`depends_on :macos` cannot be combined with another macOS `depends_on`" end if @depends_on_macos_version_set_top_level || @depends_on_maximum_macos_set_top_level # odeprecated "`depends_on :macos` with `depends_on macos:`" end @depends_on_macos_bare_set_top_level = true elsif dep.comparator == "<=" if @depends_on_macos_bare_set_top_level # odeprecated "`depends_on :macos` with `depends_on maximum_macos:`" end if @depends_on_maximum_macos_set_top_level raise ArgumentError, "`depends_on maximum_macos:` cannot be combined with another macOS `depends_on`" end @depends_on_maximum_macos_set_top_level = true else if @depends_on_macos_bare_set_top_level # odeprecated "`depends_on :macos` with `depends_on macos:`" end if @depends_on_macos_version_set_top_level raise ArgumentError, "`depends_on macos:` cannot be combined with another macOS `depends_on`" end @depends_on_macos_version_set_top_level = true end when LinuxRequirement return if set_in_block if depends_on_macos_set_top_level? raise ArgumentError, "`depends_on :linux` cannot be combined with `depends_on macos:`" end @depends_on_linux_set_top_level = true end end |
#recursive_dependencies ⇒ Array<Dependency>
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 |
# File 'software_spec.rb', line 361 def recursive_dependencies deps_f = [] recursive_dependencies = deps.filter_map do |dep| deps_f << dep.to_formula dep rescue TapFormulaUnavailableError # Don't complain about missing cross-tap dependencies next end.uniq deps_f.compact.each do |f| f.recursive_dependencies.each do |dep| recursive_dependencies << dep unless recursive_dependencies.include?(dep) end end recursive_dependencies end |
#recursive_requirements ⇒ Requirements
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
384 385 386 |
# File 'software_spec.rb', line 384 def recursive_requirements Requirement.(self) end |
#requirements ⇒ Requirements
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
379 380 381 |
# File 'software_spec.rb', line 379 def requirements dependency_collector.requirements end |
#resource(name = T.unsafe(nil), klass = Resource, &block) ⇒ Resource?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 |
# File 'software_spec.rb', line 190 def resource(name = T.unsafe(nil), klass = Resource, &block) if block raise ArgumentError, "Resource must have a name." if name.nil? raise DuplicateResourceError, name if resource_defined?(name) res = klass.new(name, &block) return unless res.url resources[name] = res dependency_collector.add(res) res else return @resource if name.nil? resources.fetch(name) { raise ResourceMissingError.new(owner, name) } end end |
#resource_defined?(name) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
182 183 184 |
# File 'software_spec.rb', line 182 def resource_defined?(name) resources.key?(name) end |
#sha256(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
37 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 37 def sha256(*args, &block); end |
#source_modified_time(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
40 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 40 def source_modified_time(*args, &block); end |
#specs(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
43 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 43 def specs(*args, &block); end |
#stage(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
46 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 46 def stage(*args, &block); end |
#url(val = nil, specs = {}) ⇒ String?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
145 146 147 148 149 150 151 |
# File 'software_spec.rb', line 145 def url(val = nil, specs = {}) if val @resource.url(val, **specs) dependency_collector.add(@resource) end @resource.url end |
#uses_from_macos(dep, bounds = {}) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
336 337 338 339 340 341 342 343 344 345 346 347 348 |
# File 'software_spec.rb', line 336 def uses_from_macos(dep, bounds = {}) if dep.is_a?(Hash) bounds = dep.dup dep, = bounds.shift dep = T.cast(dep, String) = [*] bounds = T.cast(bounds, T::Hash[Symbol, Symbol]) else = [] end depends_on UsesFromMacOSDependency.new(dep, , bounds:) end |
#using(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
49 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 49 def using(*args, &block); end |
#verify_download_integrity(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
52 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 52 def verify_download_integrity(*args, &block); end |
#version(*args, &block) ⇒ T.untyped
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
55 |
# File 'sorbet/rbi/dsl/software_spec.rbi', line 55 def version(*args, &block); end |