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>
Partager