-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should be able to process directly from a jar file into an output jar file #44
Comments
A workaround would be to not run retrolambda against 3rd party jars, but that's kind of a hack. What if libraries I want to use (or write) make use of lambdas? |
I have this workaround currently, and it works ok for now. |
+1 My use case is really simple. I have a 3rd party project compiled for java 8. I want a java 7 version of it. I should be able to point retrolambda to the jar file (or better yet just specify that jar as a special dependency) and be able to get a new jar. |
Hi, |
Yes, you must compile with JDK 8. |
This is actually a problem of processing proguarded jars on a case-insensitive filesystem (OSX, Windows, etc) and working with android
Typical build process that I do on android when using retrolambda:
The problem is at step 2, when one or more of the input jars is processed by proguard, it does name obfuscation in such a way that there might be class
com.example.a
andcom.example.A
(for example see crashlytics which has acom.crashlytics.android.a
andcom.crashlytics.android.A
). When the jars are unpacked, thea
andA
classes become a single file which are now improperly named.This happens whether with unpacking all jars, or running retrolambda after running proguard. This seems to be a pretty difficult problem to solve without having retrolambda process directly into output jar files to bypass filesystem case insensitivity issues.
The text was updated successfully, but these errors were encountered: