[ruby-core:101896] [Ruby master Feature#5481] Gemifying Ruby standard library
From:
hsbt@...
Date:
2021-01-04 00:50:13 UTC
List:
ruby-core #101896
Issue #5481 has been updated by hsbt (Hiroshi SHIBATA).
Status changed from Assigned to Closed
I extracted the all of possibly stdlib to rubygems. The following libraries are depend on Ruby versions, So We couldn't extract them.
* mkmf
* rbconfig
* unicord_normalize
* coverage
* monitor
* objspace
* pty
* ripper
* socket
I'm going to document default gems and how maintain them.
----------------------------------------
Feature #5481: Gemifying Ruby standard library
https://bugs.ruby-lang.org/issues/5481#change-89735
* Author: nahi (Hiroshi Nakamura)
* Status: Closed
* Priority: Normal
* Assignee: hsbt (Hiroshi SHIBATA)
----------------------------------------
=begin
Up-to-date summary of this proposal is at ((<URL:https://bugs.ruby-lang.org/projects/ruby/wiki/StdlibGem>))
== Motivation
* ruby's release cycle is slow for some standard libraries;
* ex. security fix for WEBrick, xmlrpc and Zlib.
* ex. API iteration for net/http, OpenSSL, json, psych, RDoc, minitest and rake.
* There's already the feature called 'default gems' in ruby and some stdlibs are already using it:
* rake, rdoc, minitest, json, io-console, bigdecimal
* And some gems are already doing out-of-band releases.
* When releasing we should give independence equally to all stdlibs, but in a consistent and controllable way.
== Proposal
* Allow out-of-band stdlib releases.
* We are not proposing changes to ruby's release management, the release manager would decide when they release ruby and stdlib.
* Allow more stdlibs to be installed as a 'default gem'
* Register these gems on RubyGems.org
* Introduce a new mechanism: controlling supported ruby version so that we can avoid installing unexpected version of stdlib gems.
For example, a WEBrick gem for ruby 2.0.1 (released from ruby_2_0_1 branch) should not be installed for ruby 2.0.0 (released from ruby_2_0_0 branch) unless we know it works for both 2.0.0 and 2.0.1.
Note:
* Moving stdlibs repository location is not a target of this proposal. The implementation details of stdlib gems should hide this from ruby committers.
* ruby_1_9_3 is not a target of this proposal. The change should be introduced from 2.0.0 release.
...Some more details of the proposal and discussion topics are going to follow as comments.
=end
---Files--------------------------------
5481.pdf (78.2 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>