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

Bug 278687

Summary: create map2psf converter
Product: z_Archived Reporter: Nick Boldt <nboldt>
Component: Dash AthenaAssignee: Common Build Inbox <dash.commonbuilder-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: dash.commonbuilder-inbox, d_a_carver, manderse, thatnitind
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 265847, 295187    

Description Nick Boldt CLA 2009-06-01 18:06:21 EDT
To simplify the process of migrating a project to Athena, we need a way to generate a .psf from a pre-existing map file. 

This also facilitates regenerating a .psf that includes the latest tags in the map, so new developers can get the latest sources from the last good tagged map.

New build.step will be an optional task that creates 1-3 .psf files for every .map file found in the .releng project's maps/ folder, placing them in .releng/psfs/. Existing files will be overwritten; it will be up to the developer if they want to commit the updated .psf back into CVS or SVN for reference, since the information is entirely redundant to the map file(s) themselves.

--

I'm not yet sure how to handle HTTP maps (eg., for Orbit) - should they be transformed into an ant script to do the <get>s? Is there a .psf format for http jar fetches? And if so, where would the jars go? Into a new workspace project called "orbit" ? Or just fetch the jars into .releng/lib/ ?
Comment 1 Nick Boldt CLA 2009-06-01 22:51:43 EDT
Initial stab complete. Works for multiple varieties of CVS and SVN map files.

Tested w/ maps for linux tools, gef, o.e.test, o.j.jmx, etc. 
Comment 2 Nick Boldt CLA 2009-06-15 11:52:13 EDT
New idea:

wrap the .psf contents w/ Working Set(s) so that the various pieces are intelligently collected when imported into the target workspace.

I'm thinking that if the maps contain:

plugins/org.eclipse.foo.*
plugins/org.eclipse.bar.*
features/org.eclipse.foo.*
features/org.eclipse.bar.*
tests/org.eclipse.foo.*
tests/org.eclipse.bar.*

Then we'd get 6 working sets:

foo
foo.features
foo.tests 
bar
bar.features
bar.tests 

Make sense?
Comment 3 David Carver CLA 2009-07-24 09:07:17 EDT
shouldn't be overly difficult.  One gotcha to be careful of is handling branches.  I keep meaning to get back to this but other higher priority items keep cropping up.
Comment 4 David Carver CLA 2009-11-05 14:13:05 EST
Nick should we close this?
Comment 5 Nick Boldt CLA 2009-11-05 14:46:28 EST
I can't be arsed to do working sets, but will gladly implement a patch if someone else wants it.

And so, unless we want to figure out how to support p2IU, GET, and git maps, I think we're done here.

For reference, to use the task do this in your build.properties:

build.steps=map2psf

(before, after, or instead of other build.steps, that is.)