* tool/merger.rb: separate each commit logs by an empty line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`./configure --enable-gcov && make exam && make lcov` will create
`lcov-c-out/index.html` for coverage of C code of the interpreter.
`make exam COVERAGE=true && make lcov` will create
`lcov-rb-out/index.html` for coverage of Ruby stdlib code.
Using both `--enable-gcov` and `COVERAGE=true` will create
`lcov-out/index.html` for total coverage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rubygems 2.7.x depends bundler-1.15.x. This is preparation for
rubygems and bundler migration.
* lib/bundler.rb, lib/bundler/*: files of bundler-1.15.4
* spec/bundler/*: rspec examples of bundler-1.15.4. I applied patches.
* https://github.com/bundler/bundler/pull/6007
* Exclude not working examples on ruby repository.
* Fake ruby interpriter instead of installed ruby.
* Makefile.in: Added test task named `test-bundler`. This task is only
working macOS/linux yet. I'm going to support Windows environment later.
* tool/sync_default_gems.rb: Added sync task for bundler.
[Feature #12733][ruby-core:77172]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Now `make test-all COVERAGE=true` measures the test coverage by using
`coverage.so` directly, and visualize the result by simplecov-html.
There has been some problems in coverage measurement with SimpleCov.
(They are not SimpleCov's fault, though.)
(1) It is difficult to extract the measured data as a machine-readable
format, such as Marshal. I want to visualize the coverage data with
other coverage tools, such as LCOV and Cobertura.
(I know we can use SimpleCov's formatter mechanism, but I don't want
to depend upon SimpleCov so much.)
(2) SimpleCov seems to miss some coverage data. For example,
`lib/cgi.rb` and `lib/ostruct.rb` are dropped. I don't know why.
(3) I have a plan to enhance `coverage.so` with branch coverage.
It would be difficult to continue to only use SimpleCov as is.
This is the most important reason.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This version fixed strange behavior of ruby code parser.
We will list all of impromovement to Changelog when 6.0.0 releasing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb: download to the target file directly if
CACHE_SAVE=no, to get rid of symlinks in dist files.
[ruby-core:81887] [Bug #13709]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/make-snapshot (package): ChangeLog had existed in pre-2.4
revisions, but not doc/ChangeLog-YYYY. fix for 2..3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/make-snapshot (package): fallback touch-unicode-files for
2.4, which has been introduced to reduce downloads on CI.
[ruby-core:81972] [Bug #13734]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This experimental feature is only for Ruby-core team, not for casual users.
Usage: `./configure --enable-gcov && make && make exam && make lcov`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rubyspec compiles the extension libraries for capi specs in a temporary
directory, and after that, deletes the directory. gcov resurrects the
directory to save coverage statistics (.gcda files). However, the
source and profiling artifacts (.gcno files) have been deleted.
So, we need to ignore the .gcda files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix command of FileUtils sync operation. test/fileutils is a directory.
* When not given gem name option, do sync all of gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb: do not save downloaded files to cache.
[ruby-core:81780] [Bug #13684]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (dist): tweaked packages order by $(DISTPKGS).
.tar.gz comes first for the hash values in downloads page, then
popular .zip.
* tool/make-snapshot: "all" in -packages means all of the rest
package types now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Lets ensure none of our C functions use too much stack space and
fix all excessive stack usage before releasing the next version.
Reducing C stack usage should reduce conservative GC scanning
time and improve performance.
If there are platform-dependent test failures; excessive stack
usage should be fixed; rather than increasing minimum values or
removing these envs from testing.
* tool/runruby.rb: use smallest possible machine stack size
[ruby-core:81597] [Feature #13637]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/runruby.rb: do not set environment to preload on multiarch
platforms, otherwise other external commands (e.g., /bin/sh)
fail to run.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb (Downloader.link_cache): on Cygwin, make true
symlink only, which is provided by the OS. as mingw/mswin ruby
can't follow cygwin's pseudo symlink, it will fail on the same
source tree.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb (Downloader.download): just link to the cache
when downloaded to the cache but not the target file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This experimental feature is only for Ruby-core team, not for casual users.
Usage: `./configure --enable-gcov && make && make exam && make gcov`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/git-refresh: unset variable `branch` if it is null, to get
rid of substitutions which are not supported old Solaris.
[ruby-dev:50102] [Bug #13522]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (default-gems): skip gemspec if corresponding
Makefile does not exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (default-gems): no file list is used now.
all files should be installed as standard libraries.
[ruby-core:80667] [Bug #13428]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/git-refresh: try `cd -P` in a subshell, because Solaris10
sh dies if it fails, not only the command.
[ruby-dev:50074] [Bug #13433]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (load_gemspec): purge `git ls-files` generated
by bundle. it is not available always everywhere everytime.
[ruby-dev:50068] [Bug #13423]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/git-refresh: get rid of matching prefix pattern removal for
old sh. [ruby-dev:50069] [Bug #13424]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This is the same code that RubyGems are using:
a1a5ab55cb
[ci skip]
[Fix GH-1578]
Author: Vít Ondruch <vondruch@redhat.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/extlibs.rb (ExtLibs): classify the tool to make it able to reuse it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/git-refresh: parse options without git-rev-parse, which is
old on travis.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/git-refresh: tool to clone or update git working directory.
* Makefile.in: use git-refresh.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/make-snapshot: use checked out headers for Unicode, to get
rid of downloading data files from Unicode.org.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/enc-unicode.rb (data_foreach): version comments do not
include sub directory names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb: download to the file given in ARGV.
* tool/enc-unicode.rb (parse_GraphemeBreakProperty): fix data file
path as $(UNICODE_PROPERTY_FILES) in common.mk.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
When there's multiple revisions, all svn logs should be used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/instruction.rb (VmBodyGenerator#make_header_prepare_stack):
REG_CFP has been prefixed with VM_ at r56609. [Bug #12527]
* tool/instruction.rb (VmBodyGenerator#make_footer_stack_val):
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* How to enable this feature?
* define USE_DEBUG_COUNTER as 1.
* you can disable to output the result with
RUBY_DEBUG_COUNTER_DISABLE environment variable
even if USE_DEBUG_COUNTER == 1.
* How to add new counter?
* add COUNTER(<name>) line on debug_counter.h.
* include "debug_counter.h"
* insert RB_DEBUG_COUNTER_INC(<name>) line on your favorite place.
* counter output example:
[RUBY_DEBUG_COUNTER] mc_inline_hit 999
[RUBY_DEBUG_COUNTER] mc_inline_miss 3
[RUBY_DEBUG_COUNTER] mc_global_hit 23
[RUBY_DEBUG_COUNTER] mc_global_miss 273
[RUBY_DEBUG_COUNTER] mc_global_state_miss 3
[RUBY_DEBUG_COUNTER] mc_class_serial_miss 0
[RUBY_DEBUG_COUNTER] mc_cme_complement 0
[RUBY_DEBUG_COUNTER] mc_cme_complement_hit 0
[RUBY_DEBUG_COUNTER] mc_search_super 1384
[RUBY_DEBUG_COUNTER] ivar_get_hit 0
[RUBY_DEBUG_COUNTER] ivar_get_miss 0
[RUBY_DEBUG_COUNTER] ivar_set_hit 0
[RUBY_DEBUG_COUNTER] ivar_set_miss 0
[RUBY_DEBUG_COUNTER] ivar_get 431
[RUBY_DEBUG_COUNTER] ivar_set 465
* mc_... is related to method caching.
* ivar_... is related to instance variable accesses.
* compare with dtrace/system tap features, there are completely
no performacne penalties when it is disabled.
* This feature is supported only on __GNUC__ compilers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (bundle-gems): Gem::Installer does not support
directory permission option, set umask to owner writable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb: revert r49841 and default umask to just
prohibit all from writing. symlink(2) has no argument to set
permissions but is affected by umask.
[ruby-dev:49975] [Bug #13194]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/csv.gemspec: initial gemspec for csv gem.
* tool/rbinstall.rb: support gemspec located under lib direcotry like `lib/foo.gemspec`
[Feature #13177]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (app_script_text): move shell script part
after comments generated by RubyGems. '#'-lines are comments in
both of ruby and shell script.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (check_executable_overwrite): do nothing if
the existing file equals to the wrapper script to be generated.
* tool/rbinstall.rb (generate_bin_script): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb: see LIBRUBY_RELATIVE in CONFIG instead of
reading config.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/vcs.rb (VCS::GIT#export_changelog): do not require date
extension library so that miniruby can run.
[ruby-core:78641] [Bug #13032]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* meta character \X matches Unicode 9.0.0 characters with some workarounds
for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences.
[Feature #12831] [ruby-core:77586]
The term "character" can have many meanings bytes, codepoints, combined
characters, and so on. "grapheme cluster" is highest one of such words,
which means user-perceived characters.
Unicode Standard Annex #29 UNICODE TEXT SEGMENTATION specifies how to
handle grapheme clusters (extended grapheme cluster).
But some specs aren't updated to current situation because Unicode Emoji
is rapidly extended without well definition.
It breaks the precondition of UTR#29 "Grapheme cluster boundaries can be
easily tested by looking at immediately adjacent characters". (the
sentence will be removed in the next version)
Though some of its detail are described in Unicode Technical Report #51
UNICODE EMOJI but it is not merged into UTR#29 yet.
http://unicode.org/reports/tr29/http://unicode.org/reports/tr51/http://unicode.org/Public/emoji/4.0/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkconfig.rb: add a magic comment to rbconfig.rb in case the command
line option -K is specified. [ruby-core:78181] [Bug #12949]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/make-snapshot: add -svn and -git options to direct the
repository to export.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e