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).
// GRECLIPSE edit -- skip output phase
//addPhaseOperation(output);
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 :)).
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 :)).