Kengo Seki created AVRO-3203:
--------------------------------

             Summary: Fix the Ruby distribution build to work
                 Key: AVRO-3203
                 URL: https://issues.apache.org/jira/browse/AVRO-3203
             Project: Apache Avro
          Issue Type: Bug
          Components: build, ruby
            Reporter: Kengo Seki
            Assignee: Kengo Seki


Currently, building the Ruby distribution in the Docker container fails as 
follows.
{code:java}
$ ./build.sh docker
$ cd lang/ruby 
$ ./build.sh clean dist

...

rake aborted!
ArgumentError: wrong number of arguments (given 2, expected 0)
/home/sekikn/avro/lang/ruby/.gem/gems/echoe-4.6.6/lib/echoe/rubygems.rb:10:in 
`validate'
/home/sekikn/avro/lang/ruby/.gem/gems/rake-13.0.6/exe/rake:27:in `<top 
(required)>'
Tasks: TOP => dist => gem => pkg/avro-1.11.0.pre1.gem
(See full trace by running task with --trace)
{code}
This is because Ruby 2.7 is used in the Docker container and its rubygems 
library version is 3.1.2.
 [rubygems have changed the semantics of its validate function from 
v3.x|https://github.com/rubygems/rubygems/commit/3966078e62c6b048cd8d2435b9399a9688c6f8f1#diff-8f51ef27aa7c1bf289ef010df42fb4a5f0635d0149776e57bc86985c98bc6480L262-R264],
 and echoe doesn't seem to be compatible with that change.

We should replace echoe with something simliar since it has not been maintained 
for several years, but it looks a bit tough to me, so I propose an easy 
workaround that building gem with the {{gem build}} command directly instead of 
via bundler, and using echoe only to generate avro.gemspec.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to