in arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/NativeImageMojo.java [687:711]
private ArthurNativeImageConfiguration getConfiguration(final Collection<Path> classpathFiles) {
final ArthurNativeImageConfiguration configuration = new ArthurNativeImageConfiguration();
Stream.of(ArthurNativeImageConfiguration.class.getDeclaredFields())
.filter(field -> field.isAnnotationPresent(ArthurNativeImageConfiguration.GraalCommandPart.class))
.map(this::asAccessible)
.forEach(field -> {
final Class<?> fieldHolder;
if ("nativeImage".equals(field.getName())) {
fieldHolder = ArthurMojo.class;
} else {
fieldHolder = NativeImageMojo.class;
}
try {
final Field mojoField = asAccessible(fieldHolder.getDeclaredField(field.getName()));
field.set(configuration, mojoField.get(NativeImageMojo.this));
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new IllegalArgumentException(e);
}
});
if (configuration.getClasspath() == null || configuration.getClasspath().isEmpty()) {
configuration.setClasspath(classpathFiles.stream().map(Path::toAbsolutePath).map(Object::toString).collect(toList()));
}
configuration.setInheritIO(inheritIO);
return configuration;
}