You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of latest Eclipse 4.11 compatible version, I am getting unwanted class files generated into my Eclipse home.
In older Greclipse (Eclipse Oxygen versions), the output phase was commented out by CompilationUnit (in constructor - see below).
The older version even had a public removeOutputPhaseOperation method.
// can be called to prevent classfile output (so only use if something else is taking charge of output)
public boolean removeOutputPhaseOperation()
Now it seems that class files are always output. (and the removeOutputPhaseOperation method is no longer present).
In my case I never want these class files. I use GroovyClassLoader to compile source that I derive dynamically from models at runtime. Class files are simply undesirable in my case. In fact this kind of dynamism is one of the main reasons I use Groovy for this purpose.
I use a CompilationUnit to compile source derived from my models, and then use defineClass to insert the classes into the class loader. The file system just has no role to play in my particular use case, so I fail to see why I now see unwanted class files being generated into my Eclipse home.
Please restore old behaviour or at least restore the old removal method (or suggest what I should do to easily avoid this phase - in case there is some API I haven't spotted for doing this as phaseOperations is package private, which is kind of ironic as Groovy has always talked about making stuff public by default :)).
The text was updated successfully, but these errors were encountered:
I must have missed something in commits 4cc8f8a and 74bd7bd. Thanks for entering this issue; I was wondering why I was seeing class files in my eclipse home sometimes.
Thanks for the quick reply and for putting this on the milestone. I'm not sure of the other things it sets in the tweak method to be honest, so perhaps the standalone public method (or old behavior of not doing the output phase in Greclipse) would better suit me... That said, I'm guessing the output phase was put back in (as the default) for a reason? Or maybe the change was just lost when re-patching the base Groovy CompilationUnit class for the later base Groovy version?
As of latest Eclipse 4.11 compatible version, I am getting unwanted class files generated into my Eclipse home.
In older Greclipse (Eclipse Oxygen versions), the output phase was commented out by CompilationUnit (in constructor - see below).
The older version even had a public removeOutputPhaseOperation method.
Now it seems that class files are always output. (and the removeOutputPhaseOperation method is no longer present).
In my case I never want these class files. I use GroovyClassLoader to compile source that I derive dynamically from models at runtime. Class files are simply undesirable in my case. In fact this kind of dynamism is one of the main reasons I use Groovy for this purpose.
I use a CompilationUnit to compile source derived from my models, and then use defineClass to insert the classes into the class loader. The file system just has no role to play in my particular use case, so I fail to see why I now see unwanted class files being generated into my Eclipse home.
Please restore old behaviour or at least restore the old removal method (or suggest what I should do to easily avoid this phase - in case there is some API I haven't spotted for doing this as phaseOperations is package private, which is kind of ironic as Groovy has always talked about making stuff public by default :)).
The text was updated successfully, but these errors were encountered: