Michael Cho 3054b91e80
language/go: enable typed: strict
Also add comment to odeprecate in future. In homebrew/core, only
usage is in deprecated/disabled formulae.

Signed-off-by: Michael Cho <michael@michaelcho.dev>
2024-03-29 18:22:31 -04:00

29 lines
906 B
Ruby

# typed: strict
# frozen_string_literal: true
require "resource"
module Language
# Helper functions for Go formulae.
#
# @api public
module Go
# Given a set of resources, stages them to a gopath for
# building Go software.
# The resource names should be the import name of the package,
# e.g. `resource "github.com/foo/bar"`.
sig { params(resources: T::Array[Resource], target: T.any(String, Pathname)).void }
def self.stage_deps(resources, target)
# odeprecated "Language::Go::stage_deps", "or request upstream to migrate to Go modules"
if resources.empty?
if Homebrew::EnvConfig.developer?
odie "Tried to stage empty Language::Go resources array"
else
opoo "Tried to stage empty Language::Go resources array"
end
end
resources.grep(Resource::Go) { |resource| resource.stage(target) }
end
end
end