Developer startup

6 views
Skip to first unread message

Mike Caron

unread,
Mar 20, 2009, 3:58:53 PM3/20/09
to ObjectivEClipse Development Group
I think it would be nice if there was a way to get a developer up
quicker. Having the base plugin trees there is good, but what if we
created an eclipse project file at the top of the source tree for
people (like me) who don't know how to setup the dev environment for a
CDT plugin...

Alex Blewitt

unread,
Mar 23, 2009, 10:21:07 PM3/23/09
to objective...@googlegroups.com
Mike,

Good suggestion. Really need to write a quick how-to on the wiki to
get it checked out and built along with dependencies (there's been a
bit of discussion already about what the minimum requirements for CDT
should be which has caused some compile issues). Things have been
pretty manic for me in the last few weeks and EclipseCon is this week
(which means I have less time to focus on that as I'm also covering it
for InfoQ) but I hope to touch base with the CDT guys in tonight's BoF
to be able to bend their ear a little on it.

Nag me by the end of March if I've not gotten around to it.

Alex

Michael Caron

unread,
Mar 23, 2009, 11:14:26 PM3/23/09
to objective...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Awesome, Alex. I think that would be spectacular.

I'd research it and do it myself, but I'm tied down with mondo project
work, a kitchen remod and a baby on the way! Hardcore busy :)

m
Michael
- ------------------------------------------------
michael...@gmail.com
http://techrad.wordpress.com
http://mrcaron.wordpress.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFJyFAS5CEAr1NK/dQRAqnbAJ9HxsDTiMQNXiHyFfEjir3PnlaR4gCff4ab
2fHCzhLuqwnrWKoxO2B0zAE=
=Zhw6
-----END PGP SIGNATURE-----

Alex Blewitt

unread,
Mar 24, 2009, 6:54:27 PM3/24/09
to objective...@googlegroups.com
On Mon, Mar 23, 2009 at 8:14 PM, Michael Caron
<michael...@gmail.com> wrote:
>
> Awesome, Alex. I think that would be spectacular.
>
> I'd research it and do it myself, but I'm tied down with mondo project
> work, a kitchen remod and a baby on the way! Hardcore busy :)

Good luck with that! You might find you don't have the time after the
baby comes anyway ... they're a big drain on time/resources/energy ...

I had the fortune to speak to some CDT committers last night, and we
had some good conversations about what we can do. There's already
something committed into Eclipse CDT (a constant) which Objective-C
will need, and I know the insertion points of a few things as well. So
we'll probably have to work against CDT 6.0/Nightly or similar which
will change the setup instructions anyway (not that they exist right
now) but in any case, it might save time if you hang on for a week or
so for me to update a few things and write the docs.

Alex

Michael Caron

unread,
Mar 25, 2009, 9:38:31 AM3/25/09
to objective...@googlegroups.com
Sounds great, Alex. I appreciate it. I just don't have time to do the hard work of getting setup. If I'm going to contribute at all, I need to be able to pull it up and get rolling with no big configuration issues. Sounds like we're on the way there.

Ciao,
m

Alex Blewitt

unread,
Apr 2, 2009, 8:53:56 PM4/2/09
to objective...@googlegroups.com
On 25 Mar 2009, at 13:38, Michael Caron wrote:

Sounds great, Alex. I appreciate it. I just don't have time to do the hard work of getting setup. If I'm going to contribute at all, I need to be able to pull it up and get rolling with no big configuration issues. Sounds like we're on the way there.

I've put some notes on http://code.google.com/p/objectiveclipse/wiki/GettingStarted about how to check out the project and get going. It's not user friendly at the moment, but it'll get there eventually.

You'll need to have Eclipse 3.5M6 and CDT 3.5M6 (the main CDT page only shows 3.5M5 as being available, but there is an M6 too - I've put a link from the above wiki page)

When you create an Objective C project out of the box, it doesn't know about .m files. You have to first add, then configure the ObjC Compiler and ObjC Linker via the project's properties. (I think we can make it easier, but there's a manual step at the moment.) I've put the info in the Wiki link though. There's an option to add frameworks (like Foundation for anything non-trivial, or AppKit for the NSApplication code) in the ObjC Linker.

The formatting is based on the CDT editor (so changing colours there should change) and you'll get warnings if you start using [] type methods, or objective-c code like @class etc. until the parser is done (Issue 8)

I've not gone through or tweaked the wiki yet (or tested it outside my environment) and it's possible that there's a few glitches in the instructions, or that you need HEAD from CVS for the CDT code instead of M6 (I've got a few outstanding changes for CDT locally, so that may have skewed my results).

Alex

Alex Blewitt

unread,
Apr 3, 2009, 3:36:42 AM4/3/09
to objective...@googlegroups.com
On 25 Mar 2009, at 13:38, Michael Caron wrote:

Sounds great, Alex. I appreciate it. I just don't have time to do the hard work of getting setup. If I'm going to contribute at all, I need to be able to pull it up and get rolling with no big configuration issues. Sounds like we're on the way there.

I've put some notes on http://code.google.com/p/objectiveclipse/wiki/GettingStarted about how to check out the project and get going. It's not user friendly at the moment, but it'll get there eventually.

You'll need to have Eclipse 3.5M6 and CDT 3.5M6 (the main CDT page only shows 3.5M5 as being available, but there is an M6 too - I've put a link from the above wiki page)

When you create an Objective C project out of the box, it doesn't know about .m files. You have to first add, then configure the ObjC Compiler and ObjC Linker via the project's properties. (I think we can make it easier, but there's a manual step at the moment.) I've put the info in the Wiki link though. There's an option to add frameworks (like Foundation for anything non-trivial, or AppKit for the NSApplication code) in the ObjC Linker.

The formatting is based on the CDT editor (so changing colours there should change) and you'll get warnings if you start using [] type methods, or objective-c code like @class etc. until the parser is done (Issue 8), which will take a while.

Anyway, please let me know via this mailing list if you experience problems in checking out or getting the project going - I'm willing to bet I've missed out a key step somewhere in the process :-)

Alex


Alex Blewitt

unread,
Apr 3, 2009, 5:13:01 AM4/3/09
to objective...@googlegroups.com
Sorry for the duplicate post ... thought I'd lost it when my mail client crashed :-)

Alex

On 3 Apr 2009, at 08:36, Alex Blewitt wrote:

I've put some notes on http://code.google.com/p/objectiveclipse/wiki/GettingStarted about how to check out the project and get going. It's not user friendly at the moment, but it'll get there eventually.
 ...

Michael Caron

unread,
Apr 3, 2009, 7:50:09 AM4/3/09
to objective...@googlegroups.com
This is great news, Alex. Thanks for putting this together.

Michael

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "ObjectivEClipse Development Group" group.
To post to this group, send email to objective...@googlegroups.com
To unsubscribe from this group, send email to objectiveclipse...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/objectiveclipse-dev?hl=en
-~----------~----~----~----~------~----~------~--~---


Michael
PGP.sig

Mike Caron

unread,
Apr 3, 2009, 5:15:56 PM4/3/09
to ObjectivEClipse Development Group
So kudos for setting up the projects, Alex! I was able to grab them
from SVN and build!

One complaint about the wiki entry, however, is that it's missing a
step between grab the source and run the build. How does one package
up the plugin(s) in order to install them in eclipse? I didn't see
anything obvious, like "PDE->create plugin" or something. I imagine
that there's a process to creating a plugin once the source is built?

Let us know :)

On Apr 3, 2:36 am, Alex Blewitt <alex.blew...@gmail.com> wrote:
> On 25 Mar 2009, at 13:38, Michael Caron wrote:
>
> > Sounds great, Alex. I appreciate it. I just don't have time to do  
> > the hard work of getting setup. If I'm going to contribute at all, I  
> > need to be able to pull it up and get rolling with no big  
> > configuration issues. Sounds like we're on the way there.
>
> I've put some notes onhttp://code.google.com/p/objectiveclipse/wiki/GettingStarted

Alex Blewitt

unread,
Apr 4, 2009, 2:34:26 AM4/4/09
to objective...@googlegroups.com
Right now, it's probably not user friendly but more dev focussed. So
with setting that expectation in mind ...

If you go to "Run..." and then "Run as Eclipse application" it should
set up a launch config to bring up a second instance of the Eclipse
IDE, from which you'll be able to create a new objective c project and
then do the manual dance to get the compiler/linker configured.

It's also possible to export them as plugins by doing File->Export As-
>Deployable features and plugins. If you dump them to somewhere like /
tmp, then you'll have a /tmp/plugins that will have the jars in that
you can then copy to another Eclipse install.

I plan to make binaries available when there's a bit more
functionality - right now it's a bit early access for that.

Alex

Sent from my (new) iPhone

Patrick Perroud

unread,
Apr 4, 2009, 4:00:25 AM4/4/09
to objective...@googlegroups.com

Hello Alex,

I would be pleased to be explained what in Eclipse architecture gives
a justification for your current requirements.

My current Eclipse platform being 3.4.2 with CDT 5.0.2 - according to
Eclipse Platform -> Configuration Details - I would much prefer to
keep using my current platform than create another All-In-One pre-
release eclipse stuff - only to get Objective-C enabled in CDT.

This is not only about this Objective-C project actually - but a
common issue with Eclipse projects in general - that makes it quite
complicate to satisfy all dependencies one actually needs to address
at the same time...

What I mean here is: is there anything blocking us to provide same
Objective-C support for current Eclipse release?

And if not - or maybe not? - then I would volonteer myself to
downgrade your existing solution to current build of Eclipse and CDT -
if this was possible.

In order to do so - I would first need to understand if your Eclipse
3.5M6 requirements are based on Eclipse 3.5 architecture or was only a
trade off you had to make to simplify a difficult task ahead: what's
missing in 3.4.2 to provide same Objective-C support?

Best regards

Patrick Perroud

Alex Blewitt

unread,
Apr 4, 2009, 5:24:01 AM4/4/09
to objective...@googlegroups.com
On Apr 4, 2009, at 09:00, Patrick Perroud wrote:

> I would be pleased to be explained what in Eclipse architecture gives
> a justification for your current requirements.
>
> My current Eclipse platform being 3.4.2 with CDT 5.0.2 - according to
> Eclipse Platform -> Configuration Details - I would much prefer to
> keep using my current platform than create another All-In-One pre-
> release eclipse stuff - only to get Objective-C enabled in CDT.

Fair enough - but there are some upstream things which have had to be
committed in the original CDT to make the current Objective C work
possible. Not only that, but the content type of files has been
changed (between 3.4 and 3.5) which makes registering types different.

But bear in mind this is the beginning, not the end, of the project.
It's going to be a long while before we've got anything nearing
complete - outline, parsing, autocomplete; none of this stuff is there
at the moment. And it's going to be a fair while before they are all
there at this rate.

Basically, the chances of the objcetiveclipse project finishing before
3.5 comes out for real is close to zero. Even then, there will be
incremental updates before it can be considered usable for a
replacement of XCode in day to day development. And so, when it is
ready, it will be based on the *then* current version of Eclipse, not
the *now* current version of Eclipse.

In other words, I'm not recommending that you use this for real work -
it's at the development stage, not the released-and-supported stage,
so there's no real way of mixing it with what you're currently working
on in Eclipse. But bear in mind that this is an extension of CDT
5.1/6.0 anyway, and if you really want to, there's nothing to stop you
having a second development instance of Eclipse or even running with
an Mx build which are generally (but not always) stable.

Hopefully that explains the thinking behind the decision.

Alex

Michael Caron

unread,
Apr 4, 2009, 8:16:23 AM4/4/09
to objective...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Right, I didn't expect it to be user friendly. Just wanted to know how
I might launch the build for verification and testing purposes.

Thanks, Alex!
Michael
- ------------------------------------------------
michael...@gmail.com
http://techrad.wordpress.com
http://mrcaron.wordpress.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFJ10+X5CEAr1NK/dQRAgneAJ9Y0pHxdm5e1cz1LiUj0ZmMwlmZcACfXhST
7Ya8o4W3qfp/pJGkmiy47ag=
=9nCL
-----END PGP SIGNATURE-----

Patrick Perroud

unread,
Apr 5, 2009, 1:43:22 AM4/5/09
to objective...@googlegroups.com

Hello,

Got the 4 projects imported into Eclipse 3.5M6 but
org.eclipse.cdt.objc.core doesn't compile here with, 2 errors as below:

Illegal value 'objcnature' for attribute 'natureFilter' plugin.xml
org.eclipse.cdt.objc.core line 58 Plug-in Problem
Illegal value 'objcnature' for attribute 'natureFilter' plugin.xml
org.eclipse.cdt.objc.core line 115 Plug-in Problem

I am not sure to understand this issue -'objcnature' being defined in
same plugin.xml file, on line 32...

At this stage - I don't have a built plugin so I don't have the option
to create a new objc project, org.eclipse.cdt.objc.core being kind of
a parent of the 3 others, in my understanding - or am I missing
something important? Any advice to help solving this issue would be
welcomed indeed.

Best regards

Patrick Perroud

Alex Blewitt

unread,
Apr 5, 2009, 12:38:15 PM4/5/09
to objective...@googlegroups.com
Patrick,

This is a known message that occurs because I added a new filter type
(Eclipse bug 270879) so that we can limit the tool to only appear on
Objective C projects. However, it shouldn't affect the runtime because
the code will default to showing the tools when you run it.

They're all instances of the same error/warning so you can in fact
ignore it. If it helps clear up the workspace, you can either delete
the error (right click in problems view and choose delete) or change
the 'nature="objcnature"' to 'nature="both"' in your local copy of
objectiveclipse.

Thanks,

Alex

Sent from my (new) iPhone

Patrick Perroud

unread,
Apr 5, 2009, 2:54:42 PM4/5/09
to objective...@googlegroups.com

Hello Alex and thank you for your patience.

I have deleted the 2 errors and 2 warnings - since Project -> Build
Automatically is selected I would assume your 4 projects are now built.

But when I try to " Create an Objective C project, say 'HelloWorld' "
I don't have an Objective C project option available in New Project
options.

To summarize - I have installed Eclipse 3.5M6 with related CDT - then
I have imported the 4 org.eclipse.cdt.objc.* projects checked out from
Subversion trunk - then I have deleted the built errors: at this stage
- I am in C++ perspective but still don't have any option to create an
Objective C project from Eclipse's File -> New menu.

So I must have misunderstood something important in this process and
would be really pleased to be corrected.

Best regards

Patrick Perroud

Alex Blewitt

unread,
Apr 5, 2009, 3:52:40 PM4/5/09
to objective...@googlegroups.com
You're running Eclipse-within-Eclipse, right? Just having the plugins
in the workspace doesn't automatically make them available. You have
to select "Run as-> Eclipse application" to bring up a second instance
of Eclipse, which uses the code in the outer Eclipse (if that makes
sense ...)

You can verify that the org.eclipse.cdt.objc plugins are installed and
working by opening Window -> Show View and selecting "plugins" to see
if it's in the list.

The Objective C project is under the C/C++ group.

Alex

Sent from my (new) iPhone

Patrick Perroud

unread,
Apr 6, 2009, 2:45:52 AM4/6/09
to objective...@googlegroups.com

On Apr 5, 2009, at 9:52 PM, Alex Blewitt wrote:

>
> You're running Eclipse-within-Eclipse, right? Just having the plugins
> in the workspace doesn't automatically make them available. You have
> to select "Run as-> Eclipse application" to bring up a second instance
> of Eclipse, which uses the code in the outer Eclipse (if that makes
> sense ...)
> >


Makes sense - after being said...

I was able to make it fly - and to build and run a few dozens short
objc programs of mine: not even a single glitch - very well done Alex.

Now - when this Eclipse-within-Eclipse is UP we are using GCC from the
CDT: correct?

In such a case there is not much we could do at language level to
improve this Objective-C projet but trust the big guys.

There is still a lot we could do to improve its integration within
Eclipse...

I suppose you already have a roadmap in mind - if you don't mind to
share it.

Best regards

Patrick Perroud

Alex Blewitt

unread,
Apr 6, 2009, 3:53:01 AM4/6/09
to objective...@googlegroups.com

On 6 Apr 2009, at 07:45, Patrick Perroud wrote:

> I was able to make it fly - and to build and run a few dozens short
> objc programs of mine: not even a single glitch - very well done Alex.

Great! First independent verification that this works for someone
other than me :-)

> Now - when this Eclipse-within-Eclipse is UP we are using GCC from the
> CDT: correct?

Yes, that's right. It kicks off a GCC process; fortunately, that's why
(say) debug et al works, because it's just using GDB under the covers.
(And by the way, the only reason for the Eclipse-within-Eclipse is
because we're working with a development cut of objectiveclipse - once
there's a binary/update site, you'll just be able to drop it in like
anything else).

> In such a case there is not much we could do at language level to
> improve this Objective-C projet but trust the big guys.

What kind of improvements were you thinking of?

> There is still a lot we could do to improve its integration within
> Eclipse...
>
> I suppose you already have a roadmap in mind - if you don't mind to
> share it.

Yeah, this is just the first step - prove that the compiler tech
works. There's a lot to improve - outline editor, auto completion,
code-folding, mylyn integration ... I'm sure there's a fairly big
list :-) As for a roadmap, the next phase will be to investigate some
of the language parsers that are implemented in CDT that generate the
outline view etc. I've raised a few issues in the objectiveclipse
project - if you'd like to add more to them (big or small plan items)
then feel free!

I don't have much of a roadmap at the moment, other than the language
parser (which analyses the structure of the code to generate the
outline) probably being the next step.

Alex

Patrick Perroud

unread,
Apr 6, 2009, 4:34:25 AM4/6/09
to objective...@googlegroups.com

On Apr 6, 2009, at 9:53 AM, Alex Blewitt wrote:

>> I was able to make it fly - and to build and run a few dozens short
>> objc programs of mine: not even a single glitch - very well done
>> Alex.
>
> Great! First independent verification that this works for someone
> other than me :-)
>
>> Now - when this Eclipse-within-Eclipse is UP we are using GCC from
>> the
>> CDT: correct?
>
> Yes, that's right. It kicks off a GCC process; fortunately, that's why
> (say) debug et al works, because it's just using GDB under the covers.
> (And by the way, the only reason for the Eclipse-within-Eclipse is
> because we're working with a development cut of objectiveclipse - once
> there's a binary/update site, you'll just be able to drop it in like
> anything else).
>
>> In such a case there is not much we could do at language level to
>> improve this Objective-C projet but trust the big guys.
>
> What kind of improvements were you thinking of?
> >


GCC & al is just fine with me - what I meant was: we don't have to
take care of language at compiler's level - syntax parsing and binary
building being already provided by CDT. Which is a great opportunity
to focus this project on IDE level - still so much to do to achieve a
decent Eclipse integration...


>
>> There is still a lot we could do to improve its integration within
>> Eclipse...
>>
>> I suppose you already have a roadmap in mind - if you don't mind to
>> share it.
>
> Yeah, this is just the first step - prove that the compiler tech
> works. There's a lot to improve - outline editor, auto completion,
> code-folding, mylyn integration ... I'm sure there's a fairly big
> list :-) As for a roadmap, the next phase will be to investigate some
> of the language parsers that are implemented in CDT that generate the
> outline view etc. I've raised a few issues in the objectiveclipse
> project - if you'd like to add more to them (big or small plan items)
> then feel free!
> >


Yes - I've seen your TO DO Tasks in core project sources.

I'll give them a shot but most of them requires a knowledge of Eclipse
internals I don't have - not yet.

But I'm keen to learn and I don't know better tracks for learning than
doing it...


> I don't have much of a roadmap at the moment, other than the language
> parser (which analyses the structure of the code to generate the
> outline) probably being the next step.
>

Source parsing to generate the outline - yes: I could look at this to
start with.

I suppose the outline is kind of XML chunck that stores a list of
classes, function members, variables, etc - generated from project
sources at IDE level (not to be confused with language syntax parsing
at compiler level).

Have you any pointers in online documentation to give me a direction?

Best regards

Patrick Perroud


Alex Blewitt

unread,
Apr 6, 2009, 7:39:21 AM4/6/09
to objective...@googlegroups.com, objective...@googlegroups.com

Sent from my (new) iPhone

On 6 Apr 2009, at 09:34, Patrick Perroud <p.pe...@mac.com> wrote:
>> I don't have much of a roadmap at the moment, other than the language
>> parser (which analyses the structure of the code to generate the
>> outline) probably being the next step.
>>
>
> Source parsing to generate the outline - yes: I could look at this to
> start with.
>
> I suppose the outline is kind of XML chunck that stores a list of
> classes, function members, variables, etc - generated from project
> sources at IDE level (not to be confused with language syntax parsing
> at compiler level).
>
> Have you any pointers in online documentation to give me a direction?

There is some fairly intertwined dependencies between the CDT editor
and the outline/parser, which I'm currently working on, and I hope
that the outline view will drop nicely from it. I spent a bit of time
taking to CDT people about what to do so I've got some ideas about how
to move forward with that one.

One thing would be good for the IDE to expose would be to generate a
project based on a set of template code, like XCode's "new iphone"
project or the "new nsdocument subclass" wizards. There's a few such
things for CDT projects and files. A quick search through (probably)
the org.eclipse.cdt.ui project might lead you to where they are.

Quite a bit might be in the "plugin.XML" file, which is Eclipses
configuration file for each bundle. One point to note - IDs are
usually present in this file but correspond to a Hunan readable key in
plugin.properties. So if you know the text you as looking for, then
find it in the .properties file and then find the key in the .xml
file, which in some cases will have the name of the class file in (if
there's a Java back-end part to it)

Alex

Reply all
Reply to author
Forward
0 new messages