in src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java [1220:1263]
public Options parseParameters(final OptionChecker compiler) {
/*
* Options to provide to the compiler, excluding all kinds of path (source files, destination directory,
* class-path, module-path, etc.). Some options are validated by Maven in addition of being validated by
* the compiler. In those cases, the validation by the compiler is done before the validation by Maven.
* For example, Maven will check for illegal values in the "-g" option only if the compiler rejected
* the fully formatted option (e.g. "-g:vars,lines") that we provided to it.
*/
final var configuration = new Options(compiler, logger);
configuration.addIfNonBlank("--source", getSource());
targetOrReleaseSet = configuration.addIfNonBlank("--target", getTarget());
targetOrReleaseSet |= configuration.setRelease(getRelease());
configuration.addIfTrue("--enable-preview", enablePreview);
configuration.addComaSeparated("-proc", proc, List.of("none", "only", "full"), null);
if (annotationProcessors != null) {
var list = new StringJoiner(",");
for (String p : annotationProcessors) {
list.add(p);
}
configuration.addIfNonBlank("-processor", list.toString());
}
configuration.addComaSeparated("-implicit", implicit, List.of("none", "class"), null);
configuration.addIfTrue("-parameters", parameters);
configuration.addIfTrue("-Xpkginfo:always", createMissingPackageInfoClass);
if (debug) {
configuration.addComaSeparated(
"-g",
debuglevel,
List.of("lines", "vars", "source", "all", "none"),
(options) -> Arrays.asList(options).contains("all") ? new String[0] : options);
} else {
configuration.addIfTrue("-g:none", true);
}
configuration.addIfNonBlank("--module-version", moduleVersion);
configuration.addIfTrue("-deprecation", showDeprecation);
configuration.addIfTrue("-nowarn", !showWarnings);
configuration.addIfTrue("-Werror", failOnWarning);
configuration.addIfTrue("-verbose", verbose);
if (fork) {
configuration.addMemoryValue("-J-Xms", "meminitial", meminitial, SUPPORT_LEGACY);
configuration.addMemoryValue("-J-Xmx", "maxmem", maxmem, SUPPORT_LEGACY);
}
return configuration;
}