[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] Adding new Make Targets programmatically
|
Thanks Alex, it finally worked. I was including the JAR file in the
Build path of the project rather than in the required classes in the
plugin, which was causing a NoClassDefFoundExpception. Once I fixed
that, it worked fine.
Also very handy the target.build(monitor) to build my template project
directly when I create it from the Wizard
Regards
Tomas
Alex Chapiro wrote:
That's how it works for me:
IMakeBuilderInfo makeBuilderInfo = MakeCorePlugin.createBuildInfo(
project, builderID);
IMakeTargetManager targetManager =
MakeCorePlugin.getDefault().getTargetManager();
IMakeTarget target =
targetManager.createTarget(project, "build", builderID );
target.setBuildAttribute(IMakeTarget.BUILD_TARGET,
makeBuilderInfo.getIncrementalBuildTarget());
targetManager.addTarget(project, target);
Tomas wrote:
Hi
So what I have so far, after diving for several hours though the CDT
source code is:
----------------------------------------------------------------------------------------
IMakeTargetManager fTargetManager;
fTargetManager = MakeCorePlugin.getDefault().getTargetManager();
String[] id = fTargetManager.getTargetBuilders(getNewProject());
if (id.length == 0) {
throw new CoreException(new Status(IStatus.ERROR,
MakeUIPlugin.getUniqueIdentifier(), -1,
MakeUIPlugin.getResourceString("MakeTargetDialog.exception.noTargetBuilderOnProject"),
null)); //$NON-NLS-1$
}
String targetBuildID = id[0];
IMakeTarget target = fTargetManager.createTarget(getNewProject(),
"configure", targetBuildID);
fTargetManager.addTarget(getNewProject().getParent(), target);
----------------------------------------------------------------------------------------
Executing that raises an error dialog with a line containing the
IMakeTargetManager class path, which I guess it means there is
something wrong with my use of that class.
And for the IMakeBuilderInfo I have:
----------------------------------------------------------------------------------------
IMakeBuilderInfo info = MakeCorePlugin.createBuildInfo(getNewProject(),
fTargetManager.getBuilderID(targetBuildID));
info.setBuildAttribute(IMakeCommonBuildInfo.BUILD_COMMAND, "make");
//$NON-NLS-1$
info.setBuildAttribute(IMakeCommonBuildInfo.BUILD_ARGUMENTS, "");
//$NON-NLS-1$
info.setUseDefaultBuildCmd(true);
info.setStopOnError(true);
info.setIncrementalBuildEnable(true);
info.setBuildAttribute(IMakeBuilderInfo.BUILD_TARGET_INCREMENTAL,
"all");
----------------------------------------------------------------------------------------
Which I don?t know how to use it together with IMakeTarget, and I
don?t know if I even need it.
PLEASE help me with this. Is really difficult to guess how it works
without any help...
Thank you in advance
Tomas
Tomas wrote:
Hi
I'm extending CDT to create an IDE platform for embedded projects.
I'm using standard Make projects, Eclipse 3.1.2 and CDT 3.0.2.
I have made a new project wizard that creates certain files when the
"Finish" button is pressed. Additionally I need to add a make target
to the new project I'm creating (also when the Finish button is
pressed, in order to make it automatically). This make target should
appear in the "Make targets" view, inside the node of the new
project that is being created.
I read somewhere that I should use IMakeBuilderInfo and IMakeTarget,
but I have unsuccessfully searched on how to specifically do that.
Any help would be really appreciated
Best regards
Tomas
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev