class RbSys::ExtensionTask

def lint_gem_spec(name, gs)

def lint_gem_spec(name, gs)
  gem_spec = case gs
  when :undefined
    return
  when Gem::Specification
    gs
  when String
    Gem::Specification.load(gem_spec) || raise(ArgumentError, "Unable to load gemspec from file #{gs.inspect}")
  else
    raise ArgumentError, "gem_spec must be a Gem::Specification, got #{gs.class}"
  end
  gem_spec.files.each do |f|
    if /\.(dll|so|dylib|lib|bundle)$/.match?(f)
      warn "⚠️ gemspec includes native artifact (#{f}), please remove it."
    end
  end
  if (gem_crate_name = gem_spec.metadata["cargo_crate_name"])
    if name != gem_crate_name
      warn "⚠️ cargo_crate_name (#{gem_crate_name}) does not match extension task crate name (#{name})"
    end
  end
  gem_spec
end