Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 406746 - Why in the world do we need master-jetty "buildtime" feature?
Summary: Why in the world do we need master-jetty "buildtime" feature?
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.3   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.3 M7   Edit
Assignee: David Williams CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-28 04:03 EDT by David Williams CLA
Modified: 2013-05-30 16:44 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams CLA 2013-04-28 04:03:36 EDT
in the platform-releng we've always had this master-jetty "buildtime" feature. 

http://git.eclipse.org/c/platform/eclipse.platform.releng.git/tree/features/master-jetty

Its one use, as far as I can tell, is to "collect" things to put into the final repository. I'd always assumed there was nothing else that put these things into the repository. And, we've always "removed" the feature itself from the final repo, leaving in the repo what it put there. 

But, while investigating some build failures due to (trying) to upgrade the jetty pre-req (bug 406691) I've seen there is also a org.eclipse.equinox.server.jetty feature. 

http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/tree/features/org.eclipse.equinox.server.jetty

The difference between these two features seem inconsequential ... 
the master-jetty includes org.eclipse.osgi but surely there's plenty of other things to include that! 
the org.eclipse.equinox.server.jetty includes 
javax.servlet
(pulled from Orbit, no doubt)
but the remaining 9 bundles are identical. 

AND ... org.eclipse.equinox.server.jetty does end-up in our repository (so everything it includes would as well). 

As far as I can see, we can just "delete" master-jetty feature, and the end result would be the same. 

Anyone recall any history here? 

If we don't need it, it is important to remove it, since removing things in a post-build process is bad: a) always bad since then our repo is a little different than a pure CBI build, but b) even worse, I'm learning, because the build-time "comparator" will often fail based on things being removed (but, still needed for "build time compare".
Comment 1 David Williams CLA 2013-04-28 13:07:23 EDT
I did a test build without master-jetty. 

It wasn't a "perfect test" ... since I had built once, then built again with the modification (so there might have been some "old targets" left around not cleaned up) ... but, that test build did just fine, which makes me think it is worth a "real" test build, with the changes made in git repo and doing another test build from scratch. Should be plenty of time to complete before tonight's M7 warm-up I-build. 

I know we need to "stop changing the build" soon ... but ... under the circumstances (making such a radical change from PDE to CBI so late) I think it is worth the risk ... and could save us from many "rebuilds" later, just because the "fake feature" gets removed.
Comment 3 David Williams CLA 2013-04-28 21:53:47 EDT
The test build went fine. 

I compared "number if IUs" in the final repo, and there was the same number, except the new one had one less (master-jetty.feature.jar). 

I suppose if we are going to remove some master feature group we should have been removing jar too? 

But ... counting as fixed.
Comment 4 David Williams CLA 2013-05-30 16:44:43 EDT
mass change to 'verified', as these bugs are either routine or obviously fixed build breaks.