Build error when ruby_motion_query is being used
Opened this issue · 6 comments
Using:
- ruby 1.9.3p194
- ruby motion 2.27
- motion-bundler 0.2.1
- ruby_motion_query 0.5.7
RMQ works fine when motion-bundler is not included. motion-bundler works fine when RMQ is not included. When both are present, the following error occurs when running any rake task:
rake --trace
'
** Invoke default (first_time)
** Invoke simulator (first_time)
** Execute simulator
rake aborted!
can't convert Array into String
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-bundler-0.2.1/lib/motion-bundler.rb:130:inexpand_path' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-bundler-0.2.1/lib/motion-bundler.rb:130:in
block in normalize!'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-bundler-0.2.1/lib/motion-bundler.rb:129:ineach' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-bundler-0.2.1/lib/motion-bundler.rb:129:in
inject'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-bundler-0.2.1/lib/motion-bundler.rb:129:innormalize!' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-bundler-0.2.1/lib/motion-bundler.rb:25:in
block in setup'
/Library/RubyMotion/lib/motion/project/config.rb:113:incall' /Library/RubyMotion/lib/motion/project/config.rb:113:in
block in setup'
/Library/RubyMotion/lib/motion/project/config.rb:113:ineach' /Library/RubyMotion/lib/motion/project/config.rb:113:in
setup'
/Library/RubyMotion/lib/motion/project/app.rb:66:inconfig' /Library/RubyMotion/lib/motion/project/template/ios.rb:81:in
block in <top (required)>'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:236:incall' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:236:in
block in execute'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:231:ineach' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:231:in
execute'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:175:inblock in invoke_with_call_chain' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in
mon_synchronize'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:168:ininvoke_with_call_chain' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:197:in
block in invoke_prerequisites'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:195:ineach' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:195:in
invoke_prerequisites'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:174:inblock in invoke_with_call_chain' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in
mon_synchronize'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:168:ininvoke_with_call_chain' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:161:in
invoke'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:149:ininvoke_task' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:in
block (2 levels) in top_level'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:ineach' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:in
block in top_level'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:115:inrun_with_threads' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:100:in
top_level'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:78:inblock in run' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:165:in
standard_exception_handling'
/usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:75:inrun' /usr/local/opt/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rake-10.1.1/bin/rake:33:in
<top (required)>'
/usr/local/opt/rbenv/versions/1.9.3-p194/bin/rake:23:inload' /usr/local/opt/rbenv/versions/1.9.3-p194/bin/rake:23:in
Tasks: TOP => default => simulator
Did you find a solution to this?
On line 130 of lib/motion-bundler.rb
I made this change:
[*v].each do |v|
a << File.expand_path(v)
a
end
In my case it was choking because of the new version of the bubble wrap gem.
Anyway it revealed a different error:
ERROR! Can't resolve dependency /Users/paulsturgess/.gem/ruby/2.1.0/gems/motion-bundler-0.2.1/lib/motion-bundler/simulator/boot.rb
Unfortunately, I have not yet found a solution. I took out motion-bundler until I have more time to look into it.
OK So it turns out the change I made as outlined above, is not a fix for this. No surprise really as my understanding of the internals of motion-require are pretty much zero.
Anyway, I reverted my change and dropped the bubble-wrap gem back down to version 1.5.0 and the error disappeared.
So there must be something in the way that RMQ and the new Bubble Wrap gem are put together that motion-require cannot yet handle.
The suggested change worked in my case:
replace line 130 with
[*v].each do |v|
a << File.expand_path(v)
end
I am running into this issue as well. My gemfile looks like this:
source 'https://rubygems.org'
gem 'rake'
gem 'motion-layout'
gem 'cdq'
gem "bubble-wrap", "~> 1.5.0"
gem "motion-bundler"
group :motion do
gem 'orbit'
gem 'RubySunrise'
end