Things are looking pretty good with ObjetivEClipse at the moment;
thanks to Ryan's ongoing updates to the parser, it's taking a lot of
things in its stride. There have been a few changes since the M0.2
update but if you find examples of code that doesn't parse, please
test them against the trunk and file bug reports. There have been a
few improvements in property parsing which have been fixed but not yet
available in a milestone build.
I'm working on a viewer which will show a list of frameworks that are
included in the project. Right now, the only thing that knows about
the frameworks is in the linker; there's a -framework flag which is
understood by Mac OS X's gcc. You can add your own frameworks to the
build (http://code.google.com/p/objectiveclipse/wiki/FAQ#Add_a_new_framework)
- currently, the default is just Foundation. However, in order to
support gcc on non-MacOSX platforms, we need to decouple the concept
of a framework from its linker argument; same for the platform.
Finally, if anyone wants to help with the effort - for example,
providing templates which we can use to instantiate (e.g.) an
NSApplication or a document-based viewer (much like XCode's templates)
then it would be great if people could submit an issue with a template
that they'd like to see. There's a bit of mangling needed to get it
visible by the CDT layer - there's a template for an empty project and
for a HelloWorld at the moment at
http://objectiveclipse.googlecode.com/svn/trunk/org.eclipse.cdt.objc.core/templates/
which is referenced in the plugin.xml
(http://objectiveclipse.googlecode.com/svn/trunk/org.eclipse.cdt.objc.core/plugin.xml)
Lastly, unfortunately, as of now, ObjectivEClipse is only compatible
with the Eclipse Galileo (3.5) version of CDT. ObjectivEClipse depends
on a number of unpublished APIs in the CDT layer (specifically,
GNUCSourceParser) which has undergone a few changes since 3.5 dropped.
Whilst it makes sense to keep up to date with CDT as much as possible,
given a choice between exposing ObjectivEClipse to a wider audience
who may be comfortable with installing Eclipse Galileo CDT versus
keeping up with CDT, it probably makes sense at this stage to focus on
the Galileo release. As the 3.6 builds progress, we may want to have a
cut-over whereby we release a final build that is compatible with 3.5
and then move the efforts into updating the parser to work with the
new 3.6 structures once that's settled down a bit.
Alex
It's mostly Ryan's hard work :-) Well, that and the hard-working CDT
team which made building on top of it this easily ...
The problem with 3.6 is that the AbstractGNUSourceParser has changed
quite a lot already since Galileo. Since ObjectivEClipse's parser
subclasses that, there are run-time/compile-time errors now. I should
hasten to point out that it's entirely our own fault; the
AbstractGNUSourceParser is not an externally exposed interface.
What does that mean for the future? Well, keeping up with CDT at some
point makes sense. However, the Helios CDT is undergoing change right
now, and if we were to try and run to keep up, we might end up doing
more work than necessary, as well as being able to run against a
pretty specific version of CDT in order to work. There's arguably more
people interested in adopting ObjectivEClipse who are based on Galileo
than who are based on the latest and greatest, so we have to aim for
the larger (potential) set of users. In any case, P2 should
(theoretically) allow you to set up one profile based on Galileo and
one profile based on Helios, but you may be better off just installing
two copies of Eclipse for each.
Alex