Bonjour à tous,

Je suis en cours de réalisation d'un plugin eclipse permettant de générer un projet C personnalisé. Le seul point sur lequel je bloque est la création automatique des targets dans le targetmanager du CDT. Je cherche à créer les targets 'all', 'clean', 'debug'... automatiquement.

J'obtiens l'erreur suivante lors de l'execution:

Missing builder : org.eclipse.cdt.managedbuilder.core.genmakebuilder

Si vous avez une solution...

Voici le morceau de code me générant l'erreur:

private final String TARGET_BUILD_ID = "org.eclipse.cdt.build.MakeTargetBuilder";
...
boolean anyAdded = false;
IMakeTargetManager targetManager = MakeCorePlugin.getDefault().getTargetManager();
IMakeTarget targetAll = targetManager.createTarget(newProject,"all", TARGET_BUILD_ID); // createTarget(IProject,name_target,builder_id)
targetAll.setContainer(newProject);
if (!targetManager.targetExists(targetAll)) {
targetAll.setUseDefaultBuildCmd(true);
targetAll.setBuildAttribute(IMakeTarget.BUILD_TARGET, "all");
try {
targetManager.addTarget(newProject, targetAll);
anyAdded = true;
} catch (CoreException e) {
System.err.println(e.getMessage());
}
}

if (anyAdded) {
root.getProject().touch(monitor);
}
}


et voici le code xml utile pour les targets dans le fichier plugin.xml :

<extension
point="org.eclipse.cdt.make.core.MakeTargetBuilder">
<buildTargets
id="org.eclipse.cdt.make.core.MakeTargetBuilder">
<builder
id="org.eclipse.cdt.core.managedbuilder.core.genmakebuilder"
name="%GeneratedMakefileCBuilder.name"
point="org.eclipse.core.resources.builders"
hasNature="true">
<run
class="org.eclipse.cdt.managedbuilder.internal.core.GeneratedMakefileBuilder">
<target name="all" path="/" targetID="org.eclipse.managedbuilder.core.genmakebuilder">
<buildCommand>make</buildCommand>
<buildArguments/>
<buildTarget>all</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
</target>
</run>
</builder>
</buildTargets>
</extension>
</plugin>