SpongePowered / Mixin

Mixin is a trait/mixin and bytecode weaving framework for Java using ASM
MIT License
1.4k stars 191 forks source link

Disable decompiling when debug exporting mixin classes #82

Closed stephan-gh closed 8 years ago

stephan-gh commented 8 years ago

Using mixin.debug.export seems to always cause the decompiler to run for all the exported classes currently, which delays the start a lot. It would be nice if this could be optionally disablable if you only need to look at one class you want to decompile manually using the IDE.

I might have missed this though, does an option exist for this?

Mumfrey commented 8 years ago

Decompiling is only enabled if you deliberately add fernflower to the classpath, to disable decompiling just don't add fernflower to your runtime classpath. You can also choose which classes are exported by using the mixin.debug.export.filter option to specify class names/patterns to export.

Mumfrey commented 8 years ago

If the existing functionality suits your needs, just close this ticket. If you would prefer a separate filter for fernflower that can be added easily. However I normally find that I just set the filter to the package I'm working on, since in general you only care about a particular subset of classes when using export anyway.

stephan-gh commented 8 years ago

Fernflower seems to be automatically added to the classpath when using Mixin as a Gradle dependency (at least I didn't add it manually). The export filter makes sense, although I would personally prefer if I could just disable fernflower globally without messing with the classpath so I don't need to set the classes I want to look at manually every time.

Mumfrey commented 8 years ago

Done.

stephan-gh commented 8 years ago

Thanks!

Mumfrey commented 8 years ago

Backported changes to 0.4.7 so you shouldn't need to bump the sponge dependency to get these fixes.