public Set<IProject> build(int kind, IProgressMonitor monitor) throws Exception {
// execute mojo
Set<IProject> result = super.build(kind, monitor);
if (true) {
IMaven maven = MavenPlugin.getMaven();
BuildContext buildContext = getBuildContext();
IMavenProjectFacade mproj = getMavenProjectFacade();
IProject proj = mproj.getProject();
proj.refreshLocal(IResource.DEPTH_INFINITE, monitor);
for (String dirName : outputDirs) {
IFile generatedSource = proj.getFile(dirName);
File generatedSourceFolder = generatedSource.getFullPath().toFile();
buildContext.refresh(generatedSourceFolder);
// tell m2e builder to refresh generated files
File generated = maven.getMojoParameterValue(getSession(), getMojoExecution(), dirName, File.class);
if (generated != null) {
buildContext.refresh(generated);
}
}
}
return result;
}