}
public final void writeConfiguration( IdeDependency[] deps )
throws MojoExecutionException
{
EclipseWriterConfig config = createEclipseWriterConfig( deps );
if ( wtpmanifest && isJavaProject() )
{
// NOTE: This could change the config!
EclipseManifestWriter.addManifestResource( getLog(), config );
}
// NOTE: This could change the config!
writeConfigurationExtras( config );
if ( wtpVersionFloat == 0.7f )
{
new EclipseWtpmodulesWriter().init( getLog(), config ).write();
}
if ( wtpVersionFloat >= 1.0f )
{
new EclipseWtpFacetsWriter().init( getLog(), config ).write();
}
if ( wtpVersionFloat == 1.0f )
{
new EclipseWtpComponentWriter().init( getLog(), config ).write();
}
if ( wtpVersionFloat >= 1.5 )
{
new EclipseWtpComponent15Writer().init( getLog(), config ).write();
}
new EclipseSettingsWriter().init( getLog(), config ).write();
if ( isJavaProject )
{
new EclipseClasspathWriter().init( getLog(), config ).write();
if ( ajdt && ajdtVersion.equals( "1.4" ) )
{
new EclipseAjdtWriter().init( getLog(), config ).write();
}
}
if ( wtpapplicationxml )
{
new EclipseWtpApplicationXMLWriter().init( getLog(), config ).write();
}
if ( pde )
{
this.getLog().info( "The Maven Eclipse plugin runs in 'pde'-mode." );
new EclipseOSGiManifestWriter().init( getLog(), config ).write();
}
// NOTE: This one MUST be after EclipseClasspathwriter, and possibly others,
// since currently EclipseClasspathWriter does some magic to detect nested
// output folders and modifies the configuration by adding new (Ant) builders.
// So the .project file must be written AFTER those have run!
new EclipseProjectWriter().init( getLog(), config ).write();
writeAdditionalConfig();
getLog().info( Messages.getString( "EclipsePlugin.wrote", new Object[] { //$NON-NLS-1$
config.getEclipseProjectName(), eclipseProjectDir.getAbsolutePath() } ) );
}