uPhyca / gradle-android-aspectj-plugin

A Gradle plugin which enables AspectJ for Android builds.
Apache License 2.0
279 stars 55 forks source link

Updated plugin to fix compilation issue. #11

Closed jlchoike-DL closed 9 years ago

jlchoike-DL commented 9 years ago

Updated plugin to fix compilation issue that results in duplicate class members, which causes Android builds and unit tests to break.

Using plugin version 0.9.9, Android builds and unit tests fail due to compilation errors caused by duplicate members compiled into the aspect classes. I used jad to decompile the class files produced by this plugin and found that ClassFormatError was a valid issue.

I found that this issue can be fixed by implementing task behavior found in the following gradle plugin project, which compiles aspects found in external libraries. The only modification was the addition of doFirst behavior on the aspect compilation task, because the deletion of javaCompile actions prevents the classes directories from being created.

https://github.com/casidiablo/gradle-android-aspectj/blob/master/gradle-android-aspectj/src/main/groovy/android/aspectj/AndroidAspectJPlugin.groovy

I verified that the duplicate class members are not generated using the updated plugin. Again, I used jad to verifiy via decompilation.

esmasui commented 9 years ago

Thanks for your contributions. We've released new version 0.9.9 to maven central.

jlchoike-DL commented 9 years ago

Great! I appreciate the prompt response!

Jan Choike Detroit Labs +1.248.629.0862 jan.choike@detroitlabs.com

On Feb 12, 2015 1:33 AM, "Sosuke Masui" notifications@github.com wrote:

Thanks for your contributions. We've released new version 0.9.9 to maven central.

— Reply to this email directly or view it on GitHub https://github.com/uPhyca/gradle-android-aspectj-plugin/pull/11#issuecomment-74024409 .