I have already changed the name in the plugin.xml file to
agree with the actual class created. That section is
now:
<extension
point="org.eclipse.core.runtime.preferences">
<initializer class="sadl.imp.preferences.SADLInitializer">
</initializer>
</extension>
There is also this section in the plugin.xml, which agrees with the class
created:
<extension
point="org.eclipse.ui.preferencePages">
<page name="SADL" class="sadl.imp.preferences.SADLPreferencePage" id="org.eclipse.imp.SADL.preferences.SADL">
</page>
</extension>
The
section in the .project file also looks correct to me:
<projectDescription>
...
<buildSpec>
...
<buildCommand>
<name>org.eclipse.imp.prefspecs.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
...
<nature>org.eclipse.imp.prefspecs.nature</nature>
</natures>
</projectDescription>
However, when I add new fields to SADL.pfsp nothing
happens in the other files that should be changed automatically, including if I
clean the project. There doesn't appear to be any way that I can force this
builder to run on the project or on the specific file
SADL.pfsp.
I have
a Leg project that I created from the 2009 EclipseCon tutorial, and it works as
expected. When I look for differences, I don't find a lot that seems like it
could be relevant:
- Leg
language is "leg", SADL language is "SADL"; don't know if the case could be a
problem
- The
SADL plugin.xml file has an extension point for "org.eclipse.ui.editors" but
the Leg plugin.xml does not.
- The
.project files are exactly parallel as nearly as I can
tell.
- The
Leg project has a "leg.hoverHelper" extension; SADL does not have Hover
Help.
- SADL
has an extension point for "org.eclipse.imp.runtime.markOccurrences; Leg
doesn't have this kind of extension.
Not
sure what to do or what other information would help. I'm running Eclipse
3.4.2.
Andy
Yes, apparently the initializer class extension that was generated by the
wizard specifies the wrong class. Sorry about that. Hopefully we'll get that
fixed in the next release. As a workaround, you should be able to edit the
plugin.xml manually to fix the problem.
As for your 2nd problem, can you show us the PrefSpecs builder entry from
the .project file? It should look something like this:
<buildCommand>
<name>org.eclipse.imp.prefspecs.builder</name>
<arguments>
</arguments>
</buildCommand>
Perhaps the builder ID was incorrectly generated by the wizard.
If there's no such entry, then you should be able to select the plugin
project in the Package Explorer, and then invoke "IMP" -> "Enable
PrefSpecs Builder" from the context menu.
On Oct 3, 2009, at 9:05 AM, Crapo, Andrew (GE, Research) wrote:
I am using IMP 0.1.95, runtime 0.1.101. I have
run the Preferences Specification wizard for my language, but have two
problems:
1) The extension point in the plugin.xml file for
"org.eclipse.core.runtime.preferences" has <initializer
class="sadl.imp.preferences.SADLPreferencesInitializer"> but there is no
such class generated. The class sadl.imp.preferences.SADLInitializer is
generated. Should that be the class referenced in plugin.xml?
2) Even though I have selected "Enable PrefSpecs
Builder", nothing happens when I add content to my SADL.pfsp file--constants
aren't generated, defaults aren't generated. Not sure why this isn't
working…
--
Cheers,
- Bob
-------------------------------------------------
Robert M. Fuhrer
Research Staff Member
Programming Technologies Dept.
IBM T.J. Watson Research Center
|