Skip to content

Commit a349260

Browse files
committed
Introduce InProcessCompiler interface to ease isolated classloading
1 parent 37bb82e commit a349260

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.codehaus.plexus.compiler.javac;
2+
3+
import org.codehaus.plexus.compiler.CompilerConfiguration;
4+
import org.codehaus.plexus.compiler.CompilerException;
5+
import org.codehaus.plexus.compiler.CompilerResult;
6+
7+
public interface InProcessCompiler {
8+
9+
CompilerResult compileInProcess(String[] args, final CompilerConfiguration config, String[] sourceFiles)
10+
throws CompilerException;
11+
12+
}

plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac/JavacCompiler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public CompilerResult performCompile( CompilerConfiguration config )
173173
{
174174
// use fqcn to prevent loading of the class on 1.5 environment !
175175
result =
176-
javaxToolsCompiler().compileInProcess( args, config, sourceFiles );
176+
inProcessCompiler().compileInProcess( args, config, sourceFiles );
177177
}
178178
else
179179
{
@@ -184,7 +184,7 @@ public CompilerResult performCompile( CompilerConfiguration config )
184184
return result;
185185
}
186186

187-
protected JavaxToolsCompiler javaxToolsCompiler()
187+
protected InProcessCompiler inProcessCompiler()
188188
{
189189
return new org.codehaus.plexus.compiler.javac.JavaxToolsCompiler();
190190
}

plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac/JavaxToolsCompiler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
* @author <a href="mailto:[email protected]">David M. Lloyd</a>
4242
* @since 2.0
4343
*/
44-
public class JavaxToolsCompiler
44+
public class JavaxToolsCompiler implements InProcessCompiler
4545
{
4646
/**
4747
* is that thread safe ???
@@ -95,7 +95,7 @@ private void releaseJavaCompiler( JavaCompiler javaCompiler, CompilerConfigurati
9595
}
9696
}
9797

98-
CompilerResult compileInProcess( String[] args, final CompilerConfiguration config, String[] sourceFiles )
98+
public CompilerResult compileInProcess( String[] args, final CompilerConfiguration config, String[] sourceFiles )
9999
throws CompilerException
100100
{
101101
JavaCompiler compiler = getJavaCompiler( config );

0 commit comments

Comments
 (0)