in meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java [579:614]
private void fixConfig() {
final Project project = getProject();
// defaults
if (classpath == null) {
classpath = project.getConfigurations().getByName(MeecrowavePlugin.NAME);
}
if (dir == null) {
dir = new File(project.getBuildDir(), "meecrowave/run").getAbsolutePath();
}
// extension override
final MeecrowaveExtension extension = MeecrowaveExtension.class.cast(project.getExtensions().findByName(MeecrowavePlugin.NAME));
if (extension != null) {
for (final Field f : MeecrowaveTask.class.getDeclaredFields()) {
if (f.isAnnotationPresent(Input.class)) {
try {
final Field extField = MeecrowaveExtension.class.getDeclaredField(f.getName());
if (!extField.isAccessible()) {
extField.setAccessible(true);
}
final Object val = extField.get(extension);
if (val != null) {
if (!f.isAccessible()) {
f.setAccessible(true);
}
f.set(this, val);
}
} catch (final IllegalAccessException | NoSuchFieldException e) {
getLogger().debug("No field " + f.getName() + " in " + extension, e);
}
}
}
}
}