evant / gradle-retrolambda

A gradle plugin for getting java lambda support in java 6, 7 and android
Apache License 2.0
5.3k stars 449 forks source link

Unsupported major.minor version 52.0 in 2.2.3 #38

Closed dbachelder closed 10 years ago

dbachelder commented 10 years ago

as mentioned in https://github.com/evant/gradle-retrolambda/issues/37

With JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home and JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home and JAVA7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

Even with 2.2.3 I get

me/tatarka/RetrolambdaPlugin : Unsupported major.minor version 52.0

unless I make JAVA_HOME=$JAVA8_HOME

OR set org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home

in gradle.properties

dbachelder commented 10 years ago

Also breaks AS integration unless I take the steps I mentioned in my first comment in #37

evant commented 10 years ago

Could you run gradle clean assembleDebug --info and paste the output for java compilation which looks like:

Compiling with Java command line compiler '/opt/java/bin/javac'.
Starting process 'command '/opt/java/bin/javac''. Working directory: /home/evan/android/lambdatestProject/lambdaTestAndroid Command: /opt/java/bin/javac -source 1.8 -target 1.8 -d /home/evan/android/lambdatestProject/lambdaTestAndroid/build/retrolambda/debug -g -encoding UTF-8 -bootclasspath /opt/android-sdk/platforms/android-19/android.jar -bootclasspath /home/evan/android/lambdatestProject/lambdaTestAndroid/build/retrolambda/android-19/android.jar -classpath /opt/android-sdk/extras/android/m2repository/com/android/support/support-v4/13.0.0/support-v4-13.0.0.jar:/home/evan/android/lambdatestProject/lambdaTestAndroid/build/intermediates/exploded-aar/lambdatestProject/lambdaTestAndroidLib/unspecified/classes.jar:/opt/android-sdk/extras/android/m2repository/com/android/support/support-annotations/21.0.0-rc1/support-annotations-21.0.0-rc1.jar /home/evan/android/lambdatestProject/lambdaTestAndroid/src/main/java/me/tatarka/lambdatest/android/Other.java /home/evan/android/lambdatestProject/lambdaTestAndroid/src/main/java/me/tatarka/lambdatest/android/MainActivity.java /home/evan/android/lambdatestProject/lambdaTestAndroid/build/generated/source/r/debug/me/tatarka/lambdatest/android/R.java /home/evan/android/lambdatestProject/lambdaTestAndroid/build/generated/source/buildConfig/debug/me/tatarka/lambdatest/android/BuildConfig.java

and retrolambda (if it gets that far) which looks like:

Retrolambda 1.4.0                                          
Bytecode version: 50 (Java 6)                              
Input directory:  /home/evan/android/lambdatestProject/lambdaTestAndroid/build/retrolambda/debug
Output directory: /home/evan/android/lambdatestProject/lambdaTestAndroid/build/intermediates/classes/debug
Classpath:        /opt/android-sdk/extras/android/m2repository/com/android/support/support-v4/13.0.0/support-v4-13.0.0.jar:/home/evan/android/lambdatestProject/lambdaTestAndroid/build/intermediates/exploded-aar/lambdatestProject/lambdaTestAndroidLib/unspecified/classes.jar:/opt/android-sdk/extras/android/m2repository/com/android/support/support-annotations/21.0.0-rc1/support-annotations-21.0.0-rc1.jar:/home/evan/android/lambdatestProject/lambdaTestAndroid/build/retrolambda/debug:/opt/android-sdk/platforms/android-19/android.jar
evant commented 10 years ago

Note: I'm not too worried about the AS integration. It makes sense that it wouldn't work if both AS and gradle is not running with java 8.

dbachelder commented 10 years ago

Bah.. I still had the old version of the plugin on one of my submodules! all set now. Sorry for the false alarm!