mirah / pindah

Tools for building Android applications with Mirah
Apache License 2.0
228 stars 27 forks source link

Compile error: Unable to resolve project target 'android-7' #34

Closed artagnon closed 11 years ago

artagnon commented 11 years ago

Using pindah-git here. Tried:

$ pindah create org.test.chwall2 chwall2 ChwallActivity
$ cd chwall2; rake debug

And I get:

** Invoke debug (first_time)
** Execute debug

-set-mode-check:

-set-debug-files:

-check-env:
Android SDK Tools Revision 21.0.1
Installed at /home/artagnon/.android/sdk

-setup:
Project Name: chwall2
Project Type: Application

-set-debug-mode:

-debug-obfuscation-check:

-build-setup:
Resolving Build Target for chwall2...
/home/artagnon/.rbenv/versions/jruby-1.7.2/lib/ruby/gems/shared/gems/rake-10.0.2/lib/rake/
task.rb:176 warning: singleton on non-persistent Java type Java::OrgApacheToolsAnt::BuildE
xception (http://wiki.jruby.org/Persistence)
rake aborted!
Unable to resolve project target 'android-7'
baroquebobcat commented 11 years ago

Do you have the android-7 target installed w/ your android sdk?

artagnon commented 11 years ago

Do you mean Android 2.1 (API 7)? Isn't that super-old?

baroquebobcat commented 11 years ago

currently, that's the default (https://github.com/mirah/pindah/blob/master/lib/pindah_cli.rb#L5).

You can override it by editing the generated Rakefile

artagnon commented 11 years ago

Thanks. I've sent a pull request changing this to 4.2.

artagnon commented 11 years ago

Actually, pindah doesn't work with 4.2, although it seems to work with 2.1.

abscondment commented 11 years ago

Are you running off of Pindah master? We're overdue to release a new gem. Chances are high that many of these issues are resolved already. On Feb 6, 2013 5:42 AM, "Ramkumar Ramachandra" notifications@github.com wrote:

Actually, pindah doesn't work with 4.2, although it seems to work with 2.1.

— Reply to this email directly or view it on GitHubhttps://github.com/mirah/pindah/issues/34#issuecomment-13182214.

artagnon commented 11 years ago

Yes, I am running off pindah master, but it seems to have tons of issues. With the gem, even rake -T doesn't work. See #37 for more.

abscondment commented 11 years ago

Also noticed you're on the latest jruby. I've only been able to make things work with 1.6.8; the 1.7 line fails generally. And I have a recollection that Java 7 won't work. If changing those things fixes your build, there definitely needs to be issues open for them. On Feb 6, 2013 5:53 AM, "Ramkumar Ramachandra" notifications@github.com wrote:

Yes, I am running off pindah master, but it seems to have tons of issues. With the gem, even rake -T doesn't work.

— Reply to this email directly or view it on GitHubhttps://github.com/mirah/pindah/issues/34#issuecomment-13182567.

artagnon commented 11 years ago

Other projects usually depend on newer versions of software than what I have present, while pindah seems to be obsessed with depending on stinking old software (especially API 2.1!). By the way, it doesn't work with the mirah master either.

Nope, doesn't wok with 1.6.8 (see #39).

abscondment commented 11 years ago

Other projects usually depend on newer versions of software than what I have present, while pindah seems to be obsessed with depending on stinking old software (especially API 2.1!).

That's just an outdated default. Most people set an actual target in their Rakefile.

By the way, it doesn't work with the mirah master either.

No, it doesn't. I believe the ant classes are missing when that gets built, and it requires (I think) Java 7.

I'll try out jruby 1.6.8, but asking for Java <7 is outrageous.

Well, remember that Android's Dalvik isn't Java 7. Mirah is rather bleeding edge, and while the latest versions do work with Java 7, I've consistently had trouble with the bytecode they produce on Android. So there are bugs to be fixed in the latest Mirah compiler to make things work.

— Reply to this email directly or view it on GitHubhttps://github.com/mirah/pindah/issues/34#issuecomment-13183000.

baroquebobcat commented 11 years ago

Mirah master has a number of changes for 1.7 support, which might have broken a few things for 1.6.8

On Wed, Feb 6, 2013 at 7:21 AM, Brendan Ribera notifications@github.comwrote:

Other projects usually depend on newer versions of software than what I have present, while pindah seems to be obsessed with depending on stinking old software (especially API 2.1!).

That's just an outdated default. Most people set an actual target in their Rakefile.

By the way, it doesn't work with the mirah master either.

No, it doesn't. I believe the ant classes are missing when that gets built, and it requires (I think) Java 7.

I'll try out jruby 1.6.8, but asking for Java <7 is outrageous.

Well, remember that Android's Dalvik isn't Java 7. Mirah is rather bleeding edge, and while the latest versions do work with Java 7, I've consistently had trouble with the bytecode they produce on Android. So there are bugs to be fixed in the latest Mirah compiler to make things work.

— Reply to this email directly or view it on GitHub< https://github.com/mirah/pindah/issues/34#issuecomment-13183000>.

— Reply to this email directly or view it on GitHubhttps://github.com/mirah/pindah/issues/34#issuecomment-13183762.

-Nick Howard http://blog.baroquebobcat.com/

abscondment commented 11 years ago

@baroquebobcat How do you suggest using mirah master? Pointing bundler at the git path doesn't work, and I'm afraid mirah/mirah#194 is still breaking Pindah for the pre gem.

The other big issue for Pindah is #40 -- building through the ant compile task with Java 7 doesn't play nicely with Dalvik. Am I correct in thinking that mirah master requires Java 7?

baroquebobcat commented 11 years ago

Mirah master doesn't require java 7. there might be some funniness with default target jdk if you are running 7 yourself though.

abscondment commented 11 years ago

Good to know. Pindah is explicitly setting 1.6 as a target, but this generates bad opcodes when run through Java 7.

On Wed, Feb 6, 2013 at 9:50 AM, Nick Howard notifications@github.comwrote:

Mirah master doesn't require java 7. there might be some funniness with default target jdk if you are running 7 yourself though.

— Reply to this email directly or view it on GitHubhttps://github.com/mirah/pindah/issues/34#issuecomment-13195240.