Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
instance method
Gem::Package#build
build(skip_validation = false, strict_validation = false)
lib/rubygems/package.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/rubygems/package.rb, line 361
def build(skip_validation = false, strict_validation = false)
raise ArgumentError, "skip_validation = true and strict_validation = true are incompatible" if skip_validation && strict_validation
Gem.load_yaml
@spec.validate true, strict_validation unless skip_validation
setup_signer(
signer_options: {
expiration_length_days: Gem.configuration.cert_expiration_length_days,
}
)
@gem.with_write_io do |gem_io|
Gem::Package::TarWriter.new gem_io do |gem|
add_metadata gem
add_contents gem
add_checksums gem
end
end
message = <<-EOM
Successfully built RubyGem
Name: #{@spec.name}
Version: #{@spec.version}
EOM
message += " File: #{File.basename(@gem.path)}\n" if @gem.path
say message
ensure
@signer = nil
end
Builds this package based on the specification set by spec=
See also
.build
#add_checksums
#build_content_addressable_file
.raw_spec
also in
4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0