diff --git a/src/main/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptions.java b/src/main/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptions.java index 9a2599f6..702ab6a8 100644 --- a/src/main/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptions.java +++ b/src/main/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptions.java @@ -56,6 +56,11 @@ public class JavaCompilerOptions { */ private String annotationProcessors; + /** + * Additional compiler arguments from maven-compiler-plugin's compilerArgs configuration. + */ + private List compilerArgs; + /** * Get list of options that can be passed to the compiler. * Options with values are represented as multiple strings in the list @@ -74,6 +79,12 @@ public List getOptions() { addStringOption(options, "-encoding", encoding); addStringOption(options, "-processorpath", annotationProcessorPath); addStringOption(options, "-processor", annotationProcessors); + + // Add compiler arguments from configuration + if (compilerArgs != null && !compilerArgs.isEmpty()) { + options.addAll(compilerArgs); + } + return options; } @@ -140,4 +151,12 @@ public void setAnnotationProcessors(String annotationProcessors) { this.annotationProcessors = annotationProcessors; } + public List getCompilerArgs() { + return compilerArgs; + } + + public void setCompilerArgs(List compilerArgs) { + this.compilerArgs = compilerArgs; + } + } diff --git a/src/test/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptionsTest.java b/src/test/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptionsTest.java index b7c34fab..1e56a53c 100644 --- a/src/test/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptionsTest.java +++ b/src/test/java/io/openliberty/tools/common/plugins/util/JavaCompilerOptionsTest.java @@ -199,4 +199,19 @@ public void testAnnotationProcessorsEmpty() throws Exception { assertTrue(result.contains("-nowarn")); } + @Test + public void testCompilerArgs() throws Exception { + JavaCompilerOptions jco = new JavaCompilerOptions(); + List args = new java.util.ArrayList<>(); + args.add("-parameters"); + args.add("-Xlint:unchecked"); + jco.setCompilerArgs(args); + + List result = jco.getOptions(); + assertEquals(3, result.size()); + assertTrue(result.contains("-nowarn")); + assertTrue(result.contains("-parameters")); + assertTrue(result.contains("-Xlint:unchecked")); + } + }