import static java.util.Objects.requireNonNull;
import com.google.common.base.MoreObjects;
+import java.io.IOException;
+import java.util.List;
import org.apache.maven.project.MavenProject;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.yangtools.concepts.Identifiable;
*
* @param project current Maven Project
* @param context model generation context
+ * @return {@link FileState} for every generated file
+ * @throws FileGeneratorException if the underlying {@link #generator()} fails
+ * @throws IOException when a generated file cannot be written
*/
- GeneratorTask createTask(final MavenProject project, final ContextHolder context) {
- return new GeneratorTask(this, context, new ProjectFileAccess(project, getIdentifier()));
+ List<FileState> execute(final MavenProject project, final ContextHolder context)
+ throws FileGeneratorException, IOException {
+ return new GeneratorTask(this, context, new ProjectFileAccess(project, getIdentifier())).execute();
}
@Override
}
final var genSw = Stopwatch.createStarted();
- final var generatorTask = factory.createTask(project, holder);
- LOG.debug("{} Task {} initialized in {}", LOG_PREFIX, generatorTask, genSw);
-
final List<FileState> files;
try {
- files = generatorTask.execute();
+ files = factory.execute(project, holder);
} catch (FileGeneratorException | IOException e) {
throw new MojoFailureException(LOG_PREFIX + " Generator " + factory + " failed", e);
}