mirah/pindah

Project with only basic Activity doesn't compile (0.13)

donokuda opened this issue · 4 comments

Steps to reproduce

  1. pindah create com.example.hello helloworld HelloActivity
    2 . cd helloworld
  2. Running $ rake debug errors on the compile step and the compiled apk doesn't load as expected.
-compile:
compiling Mirah source in /Users/donokuda/helloworld/src/. to /Users/donokuda/helloworld/bin/classes
Exception in thread "Thread-8" java.lang.ExceptionInInitializerError
    at org.mirah.ant.Compile$__xform_tmp_13.run(compile.mirah:66)
    at java.lang.Thread.run(Thread.java:680)
Caused by: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `start_with?' for #<Java::OrgJrubyAstJava_signature::ArrayTypeNode:0x5d5e3b92>
    at RUBY.as_java_type(/Users/donokuda/.rvm/rubies/jruby-1.7.2/lib/ruby/shared/jruby/compiler/java_signature.rb:20)
    at RUBY.parameters(/Users/donokuda/.rvm/rubies/jruby-1.7.2/lib/ruby/shared/jruby/compiler/java_signature.rb:48)
    at RUBY.each(file:/Users/donokuda/.rvm/rubies/jruby-1.7.2/lib/jruby.jar!/jruby/java/java_ext/java.util.rb:7)
    at org.jruby.RubyEnumerable.map(org/jruby/RubyEnumerable.java:718)
    at RUBY.parameters(/Users/donokuda/.rvm/rubies/jruby-1.7.2/lib/ruby/shared/jruby/compiler/java_signature.rb:48)
    at RUBY.types(/Users/donokuda/.rvm/rubies/jruby-1.7.2/lib/ruby/shared/jruby/compiler/java_signature.rb:54)
    at RUBY.java_signature(/Users/donokuda/.rvm/rubies/jruby-1.7.2/lib/ruby/shared/jruby/core_ext/class.rb:44)
    at RUBY.MirahCommand(src/org/mirah/mirah_command.rb:25)
    at RUBY.(root)(src/org/mirah/mirah_command.rb:22)
    at org.mirah.ant.Compile$__xform_tmp_13.run(compile.mirah:66)

Full log dump here

Can you give me four bits of info?

  • Java version
  • JRuby version
  • Mirah version
  • Pindah version (I know you wrote 0.13, but what commit are you using?)

I can currently get things working with two configurations:

  • Java 6/7, JRuby 1.6.8, Mirah 0.0.12, Pindah from master
  • Java 6/7, JRuby 1.7.2, Mirah built from local master, Pindah from master (Mirah build is finicky right now)

There are a couple of different problems that can interplay here, but I'm pretty sure we can get you running.

Ok, followup: after all the compatibility debugging I've done this week, I recognize this error as using Mirah 0.0.12 with JRuby 1.7+.

I'm going to close this, since that's a known bad combination, and we now note that (see #42) in the README. If my reading of the tea leaves is incorrect, please reopen.

@abscondment 👍 Thank you (and everyone) for all the debugging. Sorry I wasn't able to give you the info in a timely fashion but I'll be sure to try out the recommended requirements and report back if there are any issues!

Awesome, thanks!