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