Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 324253

Summary: [releng] provide .target Target Platform files
Product: z_Archived Reporter: David Carver <d_a_carver>
Component: MylynAssignee: Steffen Pingel <steffen.pingel>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: steffen.pingel
Version: 3.4   
Target Milestone: 3.5   
Hardware: PC   
OS: Linux   
Whiteboard:

Description David Carver CLA 2010-09-01 18:07:37 EDT
Instead of having the PSF files contain a reference to everything that is needed to build against mylyn, consider using the Target Platform ability in Eclipse 3.6.   This will provide a bit more consistency, and reduce overall checkout time of the code to develop against.   Ideally you migrate off of CVS, to git, but that is another issue. :)
Comment 1 Steffen Pingel CLA 2010-09-01 18:22:37 EDT
Interesting idea. Is it possible to include source code locations in target platform definitions? Otherwise I would recommend the SDK features which contain all necessary dependencies.
Comment 2 David Carver CLA 2010-09-01 20:33:12 EDT
(In reply to comment #1)
> Interesting idea. Is it possible to include source code locations in target
> platform definitions? Otherwise I would recommend the SDK features which
> contain all necessary dependencies.

Personally, I don't necessarily need the source code locations.  All I'm interested in is the Mylyn source code and that can still be done from the normal PSF or if you ever migrate to Git, just having the source code in the git repo.

I like to keep my workspace as uncluttered as possible, and having a target platform definition guarantees that all devs are developing against the same requirements and the same set of plugins.  Regardless of what plugins are actually installed in their workspace.
Comment 3 Steffen Pingel CLA 2010-09-01 20:49:54 EDT
Thanks for the explanation. Do you know of another project that already does that which I could use an example?
Comment 4 David Carver CLA 2010-09-02 09:20:58 EDT
Yes.

http://git.eclipse.org/c/webtools/org.eclipse.webtools.incubator.git/tree/sourceediting/development/org.eclipse.wst.xml.vex.releng?h=vex-dev

The Vex project has created a .target file that is automatically picked up by eclipse when the releng project is brought in.  The developer then only needs to go to the Preferences->PDE->Target Platform and select the appropriate target platform to use.   The first time it is used it will bring down all the necessary items.   So if you need to make sure that everything runs say with a target platform of Eclipse 3.5, you can create that and even if somebody is using Eclipse 3.6, it will only allow development against a 3.5 code base.  So you don't accidently use API that you shouldn't.   Plus it only contains the plugins necessary for the target platform, but you eclipse workspace and local eclipse contains any plugins that are needed for development.
Comment 5 Steffen Pingel CLA 2011-03-02 00:06:01 EST
We now have target definitions in CVS that are consumed by Tycho: http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.mylyn/org.eclipse.mylyn.releng/target-definition/?root=Mylyn_Project .

Git migration is tracked on bug 329561.