Skip to content

Commit 592e5c8

Browse files
committed
describe compiler configuration on run
1 parent dcac4ea commit 592e5c8

File tree

9 files changed

+100
-6
lines changed

9 files changed

+100
-6
lines changed

Diff for: plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/AbstractCompiler.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ protected AbstractCompiler( CompilerOutputStyle compilerOutputStyle, String inpu
7474
//
7575
// ----------------------------------------------------------------------
7676

77+
public abstract String getCompilerId();
78+
7779
public CompilerResult performCompile(CompilerConfiguration configuration)
7880
throws CompilerException
7981
{
@@ -308,7 +310,8 @@ protected void logCompiling( String[] sourceFiles, CompilerConfiguration config
308310
config.getWorkingDirectory().toPath().relativize( new File( config.getOutputLocation() ).toPath() ).toString();
309311
getLogger().info( "Compiling " +
310312
( sourceFiles == null ? "" : ( sourceFiles.length + " source file" + ( sourceFiles.length == 1 ? " " : "s " ) ) ) +
311-
"to " + to );
313+
"with " + config.describe( getCompilerId() ) +
314+
" to " + to );
312315
}
313316
}
314317
}

Diff for: plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/CompilerConfiguration.java

+52
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
* SOFTWARE.
2525
*/
2626

27+
import org.codehaus.plexus.util.StringUtils;
28+
2729
import java.io.File;
2830
import java.util.AbstractMap;
2931
import java.util.ArrayList;
@@ -812,4 +814,54 @@ public void setImplicitOption( String implicitOption )
812814
{
813815
this.implicitOption = implicitOption;
814816
}
817+
818+
public String describe( String id )
819+
{
820+
List<String> params = new ArrayList<>();
821+
params.add( id );
822+
if ( isFork() )
823+
{
824+
params.add( "forked" );
825+
}
826+
827+
// base options: debug, optimize, verbose, deprecation
828+
if ( isDebug() )
829+
{
830+
if ( StringUtils.isNotEmpty( getDebugLevel() ) )
831+
{
832+
params.add( "debug:" + getDebugLevel() );
833+
}
834+
else
835+
{
836+
params.add( "debug" );
837+
}
838+
}
839+
if ( isOptimize() )
840+
{
841+
params.add( "optimize" );
842+
}
843+
if ( isVerbose() )
844+
{
845+
params.add( "verbose" );
846+
}
847+
if ( isShowDeprecation() )
848+
{
849+
params.add( "deprecation" );
850+
}
851+
852+
// target bytecode options: release or target, module-path
853+
if ( !StringUtils.isEmpty( getReleaseVersion() ) )
854+
{
855+
params.add( "release " + getReleaseVersion() );
856+
}
857+
else if ( !StringUtils.isEmpty( getTargetVersion() ) )
858+
{
859+
params.add( "target " + getTargetVersion() );
860+
}
861+
if ( getModulepathEntries() != null && !getModulepathEntries().isEmpty() )
862+
{
863+
params.add( "module-path" );
864+
}
865+
return String.join( " ", params );
866+
}
815867
}

Diff for: plexus-compiler-its/src/main/it/simple-javac-fork/pom.xml

+3-4
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,15 @@
2424
<modelVersion>4.0.0</modelVersion>
2525

2626
<groupId>org.codehaus.plexus.compiler.it</groupId>
27-
<artifactId>simple-javac</artifactId>
27+
<artifactId>simple-javac-forked</artifactId>
2828
<version>1.0-SNAPSHOT</version>
2929

30-
<name>Test for default configuration</name>
30+
<name>Test for default configuration with forked=true</name>
3131

3232
<properties>
3333
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3434
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
35-
<maven.compiler.source>11</maven.compiler.source>
36-
<maven.compiler.target>11</maven.compiler.target>
35+
<maven.compiler.release>11</maven.compiler.release>
3736
<plexus.compiler.version>@pom.version@</plexus.compiler.version>
3837
</properties>
3938

Diff for: plexus-compilers/plexus-compiler-aspectj/src/main/java/org/codehaus/plexus/compiler/ajc/AspectJCompiler.java

+6
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,12 @@ public AspectJCompiler()
303303
super( CompilerOutputStyle.ONE_OUTPUT_FILE_PER_INPUT_FILE, "", ".class", null );
304304
}
305305

306+
@Override
307+
public String getCompilerId()
308+
{
309+
return "aspectj";
310+
}
311+
306312
public CompilerResult performCompile( CompilerConfiguration config )
307313
throws CompilerException
308314
{

Diff for: plexus-compilers/plexus-compiler-csharp/src/main/java/org/codehaus/plexus/compiler/csharp/CSharpCompiler.java

+6
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ public CSharpCompiler()
8484
// Compiler Implementation
8585
// ----------------------------------------------------------------------
8686

87+
@Override
88+
public String getCompilerId()
89+
{
90+
return "csharp";
91+
}
92+
8793
public boolean canUpdateTarget( CompilerConfiguration configuration )
8894
throws CompilerException
8995
{

Diff for: plexus-compilers/plexus-compiler-eclipse/src/main/java/org/codehaus/plexus/compiler/eclipse/EclipseJavaCompiler.java

+10
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ public EclipseJavaCompiler()
7272
// ----------------------------------------------------------------------
7373
boolean errorsAsWarnings = false;
7474

75+
@Override
76+
public String getCompilerId()
77+
{
78+
return "eclipse";
79+
}
80+
7581
@Override
7682
public CompilerResult performCompile( CompilerConfiguration config )
7783
throws CompilerException
@@ -371,6 +377,10 @@ public void report( Diagnostic<? extends JavaFileObject> diagnostic )
371377
args.add( errorF.toString() );
372378
args.addAll( allSources );
373379

380+
String to = ( config.getWorkingDirectory() == null ) ? config.getOutputLocation() :
381+
config.getWorkingDirectory().toPath().relativize( new File( config.getOutputLocation() ).toPath() ).toString();
382+
getLogger().info( "Compiling with " + config.describe( "eclipse" ) +
383+
" to " + to );
374384
getLogger().debug( "ecj command line: " + args );
375385

376386
success = BatchCompiler.compile( args.toArray( new String[args.size()] ), devNull, devNull,

Diff for: plexus-compilers/plexus-compiler-j2objc/src/main/java/org/codehaus/plexus/compiler/j2objc/J2ObjCCompiler.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
* Ma&icirc;tre</a>
5252
*
5353
*/
54-
@Component( role = Compiler.class, hint = "j2objc ")
54+
@Component( role = Compiler.class, hint = "j2objc")
5555
public class J2ObjCCompiler
5656
extends AbstractCompiler
5757
{
@@ -98,6 +98,12 @@ public J2ObjCCompiler()
9898
// Compiler Implementation
9999
// ----------------------------------------------------------------------
100100

101+
@Override
102+
public String getCompilerId()
103+
{
104+
return "j2objc";
105+
}
106+
101107
public boolean canUpdateTarget( CompilerConfiguration configuration )
102108
throws CompilerException
103109
{

Diff for: plexus-compilers/plexus-compiler-javac-errorprone/src/main/java/org/codehaus/plexus/compiler/javac/errorprone/JavacCompilerWithErrorProne.java

+6
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@
4444
public class JavacCompilerWithErrorProne
4545
extends JavacCompiler
4646
{
47+
@Override
48+
public String getCompilerId()
49+
{
50+
return "javac-with-errorprone";
51+
}
52+
4753
private static class NonDelegatingClassLoader
4854
extends URLClassLoader
4955
{

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

+6
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ public JavacCompiler()
123123
// Compiler Implementation
124124
// ----------------------------------------------------------------------
125125

126+
@Override
127+
public String getCompilerId()
128+
{
129+
return "javac";
130+
}
131+
126132
@Override
127133
public CompilerResult performCompile( CompilerConfiguration config )
128134
throws CompilerException

0 commit comments

Comments
 (0)