Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Plugin Development Environment (PDE) » Target Platforms
Target Platforms [message #640162] Fri, 19 November 2010 12:02 Go to next message
Paul Warren is currently offline Paul WarrenFriend
Messages: 34
Registered: July 2009
Member
Hi Folks,

I've done a bit of googling and not been able to find an answer so I thought
I'd try tis forum.

My understanding of a "target platform" is that it defines your applications
runtime environment. Is this understanding right?

I ask because the target platform almost always has to contain third party
libraries used during the testing phase of the project (or just for TDD).

We are building an RCP app. I want to make adding a dependency an explicit
decision driven by application requirements. We have a target definition
that grabs eclipse rcp sdk from the helios repo. My developers set this as
their target platform and bang - they can no longer pull in unnecessary
dependencies, just because they are there and too readily available when
building again in the default eclipse platform ide.

This is all fine, works very nicely.

Now I add a test bundle to my worksapce with some junits tests in order to
test a production bundle. My test bundle requires the org.junit bundle.
And now I get compilation errors because my target platform doesnt include
the org.junit bundle.

I can add it but I am loathe to do so because I think the target platform is
the essense of my products runtime environment, not its design time
environment. I dont want cross polination. I also dont want my release
build, that is based on our target definition, to have to require junit
either.

Am I wrong in my understanding? Is there any other way to achieve this? Or
must I maintain two target definitions; a development definition for us
developers and a production definition for my release build?

Thanks in advance
_Paul
Re: Target Platforms [message #640227 is a reply to message #640162] Fri, 19 November 2010 16:50 Go to previous messageGo to next message
Curtis Windatt is currently offline Curtis WindattFriend
Messages: 166
Registered: July 2009
Senior Member
The target platform defines your *development* environment. Your runtime environment is based on what you launch (though by default the PDE launch configs launch all workspace and target plug-ins).

If you are using a product definition, you can use it to limit what is the final product.

Using two target definitions is the only way for you to limit what is available dependency wise. While there is strong interest in PDE supporting a per project development environment (so the junit project could have its own target platform) it is such a large work item that I don't know if/when it will ever be implemented.

Re: Target Platforms [message #640318 is a reply to message #640227] Sat, 20 November 2010 12:56 Go to previous messageGo to next message
Paul Warren is currently offline Paul WarrenFriend
Messages: 34
Registered: July 2009
Member
Re-posting (apologies if this appears twice)

Hi Curtis,

Ok - if it defines you development environment then that makes sense. It
still stops my developers adding unwanted dependencies.

But it is a real shame that they cannot be more widely used. For example in
the launch configs. If a launch config (pde, junit, any) allowed me to
choose a different target platform rather than assuming I want to use the
active one then I could use target definitions to define my dev, test and my
runtime environments. And it would mean I wouldn't need per project target
definitions. Is this feasible? Can I add it as a feature request?

Another alternative I can think of is to add junit to the project via Build
Path->Add Libraries... for building if the junit launch config could
automatically add the junit plugin(s) for runtime. But I like this less -
it is too specific to just one scenario.

Cheers,
_Paul

"Curtis Windatt" <cwindatt@ca.ibm.com> wrote in message
news:ic69lr$tv5$1@news.eclipse.org...
> The target platform defines your *development* environment. Your runtime
> environment is based on what you launch (though by default the PDE launch
> configs launch all workspace and target plug-ins).
>
> If you are using a product definition, you can use it to limit what is the
> final product.
>
> Using two target definitions is the only way for you to limit what is
> available dependency wise. While there is strong interest in PDE
> supporting a per project development environment (so the junit project
> could have its own target platform) it is such a large work item that I
> don't know if/when it will ever be implemented.
>
>
Re: Target Platforms [message #640967 is a reply to message #640318] Tue, 23 November 2010 17:26 Go to previous message
Curtis Windatt is currently offline Curtis WindattFriend
Messages: 166
Registered: July 2009
Senior Member
The launch configuration is based around the target platform. The general assumption is that whatever bundles you need to build (target platform) are also needed to launch (launch configuration). You can customize your launch configs to only launch certain plug-ins.

You can also look at product configurations, which allow you to specify a set of dependencies that are a subset of your target. You can create launch configurations based on product configurations. In you case your target would have your runtime bundles + junit bundles, you product would only include the runtime bundles and when you launched the junit bundles would be left out.

There is a gap between launch configs, target definitions and product configurations that we would like to close. However, there are a lot of possible use cases and we need to support them all.
Previous Topic:Correct build setup with platform specific cdt fragments / unpacking fragments after installation
Next Topic:How to add custom command to cheatsheet in eclipse
Goto Forum:
  


Current Time: Sat Nov 29 07:48:41 GMT 2014

Powered by FUDForum. Page generated in 0.01860 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software