Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - How to handle Projects with multiple programs and libraries in Eclipse / Momentics.: Page 1 of 2 (20 Items)
   
How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
I've seen this question many times, but never any real answers.

PROBLEM:
With Eclipse I can only create flat projects 
(no nesting of projects within projects)

QUESTION:
How do I move my current products that are hosted on a QNX development server to the Windows Hosted Momentics IDE with 
SVN ?

CURRENT CODE ORGANIZATION:
Infrastructure
   -lib
   -include
   -Inf.Program1
      -ServerCode
      -InterfaceLibraryCode
   -Inf.Program2
      -ClientCode linking with Inf.Program1.InterfaceLibrary

Product1
   -lib
   -include
   -P1.Program1
      -ServerCode
      -InterfaceLibraryCode
      -P1.Program1 -> linking with Inf.Program1.InterfaceLibrary
   -P1.Program2
      -ClientCode linking with Inf.Program1.InterfaceLibrary and P1.Program1.InterfaceLib


Product2
   -lib
   -include
   -P2.Program1
      -ServerCode
      -InterfaceLibraryCode
      -P2.Program1 -> linking with Inf.Program1.InterfaceLibrary
   -P2.Program2
      -ClientCode linking with Inf.Program1.InterfaceLibrary and P2.Program1.InterfaceLib


Product3 ...

-----------------------------------------

I've seen people pointing to ANT, but I've not seen any applied solution.

As my predecessors, I wish to Checkout from SVN my Infrastructure root
and my Product1 root, and from there just call a recursive make from the  
top to build my product.

This is the current infrastructure I have for my QNX4.25 and my QNX hosted QNXv6.3.

HOW do I reproduce this project structure under Momentics in Eclipse???

Thanks in advance,
Martin Politick.
Re: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
Can you please check this article, let me know if it helps:

http://community.qnx.com/sf/wiki/do/viewPage/projects.ide/wiki/ProjectsBuildAndIDE


Martin Politick wrote:
> I've seen this question many times, but never any real answers.
> 
> PROBLEM:
> With Eclipse I can only create flat projects 
> (no nesting of projects within projects)
> 
> QUESTION:
> How do I move my current products that are hosted on a QNX development server to the Windows Hosted Momentics IDE with
 SVN ?
> 
> CURRENT CODE ORGANIZATION:
> Infrastructure
>    -lib
>    -include
>    -Inf.Program1
>       -ServerCode
>       -InterfaceLibraryCode
>    -Inf.Program2
>       -ClientCode linking with Inf.Program1.InterfaceLibrary
> 
> Product1
>    -lib
>    -include
>    -P1.Program1
>       -ServerCode
>       -InterfaceLibraryCode
>       -P1.Program1 -> linking with Inf.Program1.InterfaceLibrary
>    -P1.Program2
>       -ClientCode linking with Inf.Program1.InterfaceLibrary and P1.Program1.InterfaceLib
> 
> 
> Product2
>    -lib
>    -include
>    -P2.Program1
>       -ServerCode
>       -InterfaceLibraryCode
>       -P2.Program1 -> linking with Inf.Program1.InterfaceLibrary
>    -P2.Program2
>       -ClientCode linking with Inf.Program1.InterfaceLibrary and P2.Program1.InterfaceLib
> 
> 
> Product3 ...
> 
> -----------------------------------------
> 
> I've seen people pointing to ANT, but I've not seen any applied solution.
> 
> As my predecessors, I wish to Checkout from SVN my Infrastructure root
> and my Product1 root, and from there just call a recursive make from the  
> top to build my product.
> 
> This is the current infrastructure I have for my QNX4.25 and my QNX hosted QNXv6.3.
> 
> HOW do I reproduce this project structure under Momentics in Eclipse???
> 
> Thanks in advance,
> Martin Politick.
> 
> 
> _______________________________________________
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post28558
> 
Re: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
> Can you please check this article, let me know if it helps:
> 
> http://community.qnx.com/sf/wiki/do/viewPage/projects.ide/wiki/
> ProjectsBuildAndIDE
> 
> 

Thanks,
But it didn't work great for me yet...  I'm confused by some of the instructions.  I'll keep on trying to follow them 
and fight the tools to make
them do what I want.

Did anyone else figure out a good recipe? 

I was hoping that the IDE would help on the building process, but for now
It feels very awkward and unnatural.  It's sad that the Eclipse IDE and Turtoise don't play together.
RE: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  

> -----Original Message-----
> From: Martin Politick [mailto:community-noreply@qnx.com]
> Sent: May-05-09 12:35 AM
> To: momentics-community
> Subject: Re: How to handle Projects with multiple programs and
> libraries in Eclipse / Momentics.
> 
> > Can you please check this article, let me know if it helps:
> >
> > http://community.qnx.com/sf/wiki/do/viewPage/projects.ide/wiki/
> > ProjectsBuildAndIDE
> >
> >
> 
> Thanks,
> But it didn't work great for me yet...  I'm confused by some of the
> instructions.  I'll keep on trying to follow them and fight the tools
> to make
> them do what I want.
> 
> Did anyone else figure out a good recipe?
> 
> I was hoping that the IDE would help on the building process, but for
> now
> It feels very awkward and unnatural.  It's sad that the Eclipse IDE and
> Turtoise don't play together.

You don't need Turtoise if you use subversive or subclipse.

> 
> _______________________________________________
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post28663
> 
Re: RE: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
> > It's sad that the Eclipse IDE and
> > Turtoise don't play together.
> 
> You don't need Turtoise if you use subversive or subclipse.
> 
> > 
> > _______________________________________________
> > QNX Momentics Community Support
> > http://community.qnx.com/sf/go/post28663
> > 

I have and use the subversive plug-in in Eclipse.
We also check-in our documentation using Tortoise.

Since we're familiar with Tortoise, it's natural for us to check out
a point in the dev tree using Tortoise (it also has more features) and dropping it in the development workspace space of
 the IDE.
The IDE does not see the added directories.
RE: RE: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
> Since we're familiar with Tortoise, it's natural for us to check out
> a point in the dev tree using Tortoise (it also has more features) and
> dropping it in the development workspace space of the IDE.
> The IDE does not see the added directories.
> 

It should if you refresh it.

> 
> _______________________________________________
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post28681
> 
Re: RE: RE: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
Salut Mario,

Since you've been using QNX for many years you must have a similar setup.
How are you managing a projects that are composed of many nested binaries,
share interfaces (.h) and libraries?

What I'm trying to achieve is
SVN Checkout of my development tree
Then with any new module, create an "Eclipse project" and use ENV variables to include interfaces and libraries from the
 dev. tree into my new project.

Once the "project" is done, put it back into the SVN tree at the right nested location.

Merci à l'avance,
Martin.
Re: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
You can use eclipse linked resources for that. The article I sent did not help?

Martin Politick wrote:
> Salut Mario,
> 
> Since you've been using QNX for many years you must have a similar setup.
> How are you managing a projects that are composed of many nested binaries,
> share interfaces (.h) and libraries?
> 
> What I'm trying to achieve is
> SVN Checkout of my development tree
> Then with any new module, create an "Eclipse project" and use ENV variables to include interfaces and libraries from 
the dev. tree into my new project.
> 
> Once the "project" is done, put it back into the SVN tree at the right nested location.
> 
> Merci à l'avance,
> Martin.
> 
> _______________________________________________
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post28714
RE: RE: RE: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  

> -----Original Message-----
> From: Martin Politick [mailto:community-noreply@qnx.com]
> Sent: May-05-09 12:10 PM
> To: momentics-community
> Subject: Re: RE: RE: How to handle Projects with multiple programs and
> libraries in Eclipse / Momentics.
> 
> Salut Mario,
> 

Salut Martin ;-)

> Since you've been using QNX for many years you must have a similar
> setup.

It is similar indeed.

> How are you managing a projects that are composed of many nested
> binaries, share interfaces (.h) and libraries?
> 
> What I'm trying to achieve is
> SVN Checkout of my development tree
> Then with any new module, create an "Eclipse project" and use ENV
> variables to include interfaces and libraries from the dev. tree into
> my new project.

That is what I've given up on trying to do.

What I ended up doing is creating a Makefile file project with my own makefile system.  The root of the project contains
 a makefile that will recursively go in each directories and build whatever is in there, respecting dependencies. 

- Project
  Makefile
  Common.mk
  - bin
  - lib
  - include
    - common
    - math
  - libraries
    - common
      Makefile
    - math
      Makefile
  - tools
    - converter
      - include
      - Makefile
    - ...
  - comm
    - ...
  - ...

Common.mk is included by every makefile, so common rules are put in there.  The lib directory is where all .a/.so will 
go when being build, that makes them easy to reference, no need to know where they were build from.  When a binary is 
build it is copied in the bin directory.  The directory include is where all the headers from the various library live.

The project has a root make target to build everything and targets (lib or executable) have a make target of their own. 
 That makes for a lot of make targets ( we have over 60 executable)  when considering each has a build/clean/copy/doc/
flint target.  Upcoming CDT has means of doing copy/paste of target, but current version distributed by QNX  doesn't so 
I ended up editing the .cproject file by hand to create all these make targets.

Most of the solution proposed by QNX (using links) wouldn't work for me as one of our requirement was the ability to 
work on multiple project/product at the same time, single checkout etc.  I haven't tried it cause I've spend so much 
time making this works that Eclipse is becoming counter-productive.  Before I try any sort of other mechanism I'll wait 
till Eclipse becomes mature enough to really handle big project.  I was expecting the QNX source available via SVN ( os,
 network, filesystem, etc) to show off how to handle big projects in Eclipse and learn from that. That has not 
materialize for obvious reasons ;-)

Using a makefile has it's drawback, but I manage.

> 
> Once the "project" is done, put it back into the SVN tree at the right nested location.
> 
> Merci à l'avance,

Hope that helps.

> Martin.
> 
> _______________________________________________
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post28714
Re: RE: RE: RE: How to handle Projects with multiple programs and libraries in Eclipse / Momentics.  
> That is what I've given up on trying to do.

I'm really sad to hear that.  I was hoping that the IDE would simplify our tool set and make system.

My next problem is our packaging...  We have our home brewed packaging system which will become a nightmare to support 
under Win/Eclipse. 

> 
> What I ended up doing is creating a Makefile file project with my own makefile
>  system.  The root of the project contains a makefile that will recursively go
>  in each directories and build whatever is in there, respecting dependencies. 


Yes, that's the system we currently have, but hosted on a QNX server using qmake and the QNXv4 make system.  I was 
hoping to replace it with something native to Eclipse.