Skip to content

Commit d5972a4

Browse files
authored
Merge pull request #754 from ruby-concurrency/pitr-ch/build
Documentation, building, test TruffleRuby
2 parents 66d8d91 + 8c1f18f commit d5972a4

File tree

631 files changed

+387366
-1529
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

631 files changed

+387366
-1529
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
# Yard documentation
99
/.yardoc
10-
/yardoc
1110

1211
# IDEs' files
1312
*.iml

.travis.yml

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,71 @@
11
language: ruby
2-
3-
rvm:
4-
# start with the latest
5-
- 2.5.1
6-
- jruby-9.2.0.0
7-
8-
# older versions
9-
- 2.4.4
10-
- 2.3.7
11-
- 2.2.10
12-
- 2.1.10
13-
- 2.0.0
14-
15-
- jruby-9.1.17.0
16-
- jruby-9.0.5.0
17-
18-
- ruby-head
19-
- ruby-2.6.0-preview2
20-
- jruby-head
21-
22-
- rbx-3
23-
24-
jdk:
25-
- oraclejdk8
26-
272
sudo: false
28-
293
branches:
304
only:
315
- master
326

337
matrix:
348
fast_finish: true
359
include:
36-
- rvm: 2.3.7
10+
- name: MRI 2.5.1 Latest
11+
rvm: 2.5.1
12+
- name: JRuby 9.2.0.0 Latest
13+
rvm: jruby-9.2.0.0
3714
jdk: oraclejdk8
15+
- name: TruffleRuby Latest
16+
rvm: system
17+
install:
18+
- export TRUFFLERUBY_VERSION=1.0.0-rc5
19+
- curl -L https://github.com/oracle/truffleruby/releases/download/vm-$TRUFFLERUBY_VERSION/truffleruby-$TRUFFLERUBY_VERSION-linux-amd64.tar.gz | tar xz
20+
- export PATH="$PWD/truffleruby-$TRUFFLERUBY_VERSION-linux-amd64/bin:$PATH"
21+
- gem install bundler
22+
- bundle install
23+
- name: YARD uptodate in docs
24+
rvm: 2.5.1
25+
script:
26+
- bundle install --with documentation
27+
- bundle exec rake spec:docs_uptodate
28+
29+
- name: MRI 2.4.4
30+
rvm: 2.4.4
31+
- name: MRI 2.3.7
32+
rvm: 2.3.7
33+
- name: MRI 2.2.10
34+
rvm: 2.2.10
35+
- name: MRI 2.1.10
36+
rvm: 2.1.10
37+
- name: MRI 2.0.0
38+
rvm: 2.0.0
39+
40+
- name: JRuby 9.1.17.0
41+
rvm: jruby-9.1.17.0
42+
jdk: oraclejdk8
43+
- name: JRuby 9.0.5.0
44+
rvm: jruby-9.0.5.0
45+
jdk: oraclejdk8
46+
47+
- name: MRI head
48+
rvm: ruby-head
49+
- name: MRI 2.6.0-preview2
50+
rvm: 2.6.0-preview2
51+
- name: JRuby head
52+
rvm: jruby-head
53+
jdk: oraclejdk8
54+
55+
- name: Rubinius
56+
rvm: rbx-3
57+
58+
- name: Coverage on MRI 2.3.7
59+
rvm: 2.3.7
3860
env: COVERAGE=1
61+
3962
allow_failures:
63+
- rvm: 2.6.0-preview2
4064
- rvm: ruby-head
4165
- rvm: jruby-head
4266
- rvm: rbx-3
43-
- rvm: ruby-2.6.0-preview2
67+
- name: TruffleRuby Latest
68+
- name: YARD uptodate in docs
4469

4570
env:
4671
global:

.yardopts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
1-
--no-private
2-
--embed-mixins
3-
--output-dir ./yardoc
4-
--markup markdown
5-
--title=Concurrent Ruby
6-
--template default
7-
--template-path ./yard-template
8-
--default-return undocumented
9-
10-
./lib/**/*.rb
11-
./lib-edge/**/*.rb
12-
./ext/concurrent_ruby_ext/**/*.c
1+
--use-bundle-exec-rake-yard-instead
2+
--output-dir tmp
3+
--
4+
no-lib
135
-
14-
doc/thread_pools.md
15-
doc/promises.out.md
16-
README.md
17-
LICENSE.txt
18-
CHANGELOG.md

CHANGELOG.md

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,39 @@ concurrent-ruby:
44

55
* [Promises](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html)
66
are moved from `concurrent-ruby-edge` to `concurrent-ruby`
7-
* #644 Fix Map#each and #each_pair not returning enumerator outside of MRI
8-
* #659 Edge promises fail during error handling
9-
* #741 Raise on recursive Delay#value call
10-
* #727 #717 fix global IO executor on JRuby
11-
* #740 Drop support for CRuby 1.9, JRuby 1.7, Rubinius.
12-
* #737 Move AtomicMarkableReference out of Edge
13-
* #708 Prefer platform specific memory barriers
147
* Add support for TruffleRuby
15-
* #734 Fix Array/Hash/Set construction broken on TruffleRuby
16-
* #735 Fix wrong expected exception in channel spec assertion
8+
* (#734) Fix Array/Hash/Set construction broken on TruffleRuby
9+
* AtomicReference fixed
1710
* CI stabilization
18-
* #729 Allow executor option in `Promise#then`
19-
* #725 fix timeout check to use timeout_interval
20-
* #719 update engine detection
21-
* #660 Add specs for Promise#zip/Promise.zip ordering
22-
* #654 Promise.zip execution changes
23-
* #666 Add thread safe set implementation
24-
* #651 #699 #to_s, #inspect should not output negative object IDs.
25-
* #685 Avoid RSpec warnings about raise_error
26-
* #680 Avoid RSpec monkey patching, persist spec results locally, use RSpec
27-
v3.7.0
28-
* #665 Initialize the monitor for new subarrays on Rubinius
29-
* #661 Fix error handling in edge promises
3011
* remove sharp dependency edge -> core
3112
* remove warnings
3213
* documentation updates
14+
* Exchanger is no longer documented as edge since it was already available in
15+
`concurrent-ruby`
16+
* (#644) Fix Map#each and #each_pair not returning enumerator outside of MRI
17+
* (#659) Edge promises fail during error handling
18+
* (#741) Raise on recursive Delay#value call
19+
* (#727) #717 fix global IO executor on JRuby
20+
* (#740) Drop support for CRuby 1.9, JRuby 1.7, Rubinius.
21+
* (#737) Move AtomicMarkableReference out of Edge
22+
* (#708) Prefer platform specific memory barriers
23+
* (#735) Fix wrong expected exception in channel spec assertion
24+
* (#729) Allow executor option in `Promise#then`
25+
* (#725) fix timeout check to use timeout_interval
26+
* (#719) update engine detection
27+
* (#660) Add specs for Promise#zip/Promise.zip ordering
28+
* (#654) Promise.zip execution changes
29+
* (#666) Add thread safe set implementation
30+
* (#651) #699 #to_s, #inspect should not output negative object IDs.
31+
* (#685) Avoid RSpec warnings about raise_error
32+
* (#680) Avoid RSpec monkey patching, persist spec results locally, use RSpec
33+
v3.7.0
34+
* (#665) Initialize the monitor for new subarrays on Rubinius
35+
* (#661) Fix error handling in edge promises
3336

3437
concurrent-ruby-edge:
3538

36-
* #659 Edge promises fail during error handling
39+
* (#659) Edge promises fail during error handling
3740
* Edge files clearly separated in `lib-edge`
3841
* added ReInclude
3942

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ group :development do
1313
gem 'rake', '~> 12.0'
1414
gem 'rake-compiler', '~> 1.0'
1515
gem 'rake-compiler-dock', '~> 0.6.0'
16-
gem 'pry', '~> 0.11'
16+
gem 'pry', '~> 0.11', platforms: :mri
1717
end
1818

1919
group :documentation, optional: true do
2020
gem 'yard', '~> 0.9.0', :require => false
2121
gem 'redcarpet', '~> 3.0', platforms: :mri # understands github markdown
22-
gem 'md-ruby-eval'
22+
gem 'md-ruby-eval', '~> 0.2'
2323
end
2424

2525
group :testing do

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Modern concurrency tools for Ruby. Inspired by
1616
[Java](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html),
1717
and classic concurrency patterns.
1818

19-
<img src="https://raw.githubusercontent.com/ruby-concurrency/concurrent-ruby/master/doc/logo/concurrent-ruby-logo-300x300.png" align="right" style="margin-left: 20px;" />
19+
<img src="https://raw.githubusercontent.com/ruby-concurrency/concurrent-ruby/master/doc-source/logo/concurrent-ruby-logo-300x300.png" align="right" style="margin-left: 20px;" />
2020

2121
The design goals of this gem are:
2222

@@ -58,7 +58,7 @@ other Ruby library, many of which support the mantra of
5858
Concurrent Ruby is also the only Ruby library which provides a full suite of thread safe and
5959
immutable variable types and data structures.
6060

61-
We've also initiated discussion to document [memory model](doc/synchronization.md) of Ruby which
61+
We've also initiated discussion to document [memory model](docs-source/synchronization.md) of Ruby which
6262
would provide consistent behaviour and guarantees on all three of the main Ruby interpreters
6363
(MRI/CRuby, JRuby, Rubinius, TruffleRuby).
6464

@@ -323,13 +323,13 @@ best practice is to depend on `concurrent-ruby` and let users to decide if they
323323
* [Jerry D'Antonio](https://github.com/jdantonio) (creator)
324324
* [Chris Seaton](https://github.com/chrisseaton)
325325

326-
### Special Thanks
326+
### Special Thanks to
327327

328328
* [Brian Durand](https://github.com/bdurand) for the `ref` gem
329329
* [Charles Oliver Nutter](https://github.com/headius) for the `atomic` and `thread_safe` gems
330330
* [thedarkone](https://github.com/thedarkone) for the `thread_safe` gem
331331

332-
### Maintainers of the past
332+
and to the past maintainers
333333

334334
* [Michele Della Torre](https://github.com/mighe)
335335
* [Paweł Obrok](https://github.com/obrok)

0 commit comments

Comments
 (0)