BuildException error regarding updated crossgcc plugin [message #1220232] |
Tue, 10 December 2013 14:11 |
Renwu Zhu Messages: 1 Registered: December 2013 |
Junior Member |
|
|
I was trying to update my custom plugin (arm c project) which similar to CDT
HelloWorldCProject template. It was just fine to run with Indigo Eclipse. I
can see "ARM C Project" item in new Wizard when I try to add new Project.
Then I use this plugin in Kepler Eclipse, first I can select my ARM C Project,
after pressing Next, I got the following Error Message:
!MESSAGE Default project not found in New C/C++ Project Wizard
org.eclipse.cdt.managedbuilder.core.BuildException: Plug-in "org.eclipse.cdt.build.crossgcc" was unable to instantiate class "org.eclipse.cdt.internal.build.crossgcc.SetCrossCommandWizardPage".
After debugging I found that this error comes from method "addPageProperty()"
in org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/
wizards/MBSCustomPageManager.java:
"pageIDtoPagePropertiesMap" is null.
Such method will be called from "SetCrossCommandWizardPage.<init>"...
Here I can explain the error:
first when I add "ARM C Project" (similar to C Project, just change some name, use
other toolchains ...), all the related things initialize in my custom plug-in class,
but in Kepler, it trys to load SetCrossCommandWizardPage.<init>, then it runs normal
C Project method "addPageProperty()" which it was not initialized. That's why in such
Method the Map instance is null and turns out the error message.
After comparing org.eclipse.cdt.build.crossgcc_xxx.jar in different Eclipse Version sources:
for "Indigo" (org.eclipse.cdt-CDT_8_0_0):
it uses "setCrossCommand" template for extension point
"org.eclipse.cdt.core.templates", which means we can add "Cross Compile Project".
for "Kepler" (org.eclipse.cdt-CDT_8_2_1):
no related template anymore, but it uses "SetCrossCommandWizardPage" for
extension point "org.eclipse.cdt.managedbuilder.ui.newWizardPages".
It looks like that in "Indigo" it has no SetCrossCommandWizardPage, so it won't
be a problem to run my plug-in.
Can anybody tell me, is it possible to let the SetCrossCommandWizardPage.<init>
call my custom plug-in method "addPageProperty()", but not the normal C Project
method "addPageProperty()"? Or anyother idea to remove this error message.
Thanks in advance.
|
|
|
Powered by
FUDForum. Page generated in 0.02931 seconds