Bug 368488 - p2 agent products need to be refactored or removed in 3.8/4.2 stream
Summary: p2 agent products need to be refactored or removed in 3.8/4.2 stream
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.8.0 Juno   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: Juno   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 355430
  Show dependency tree
 
Reported: 2012-01-12 15:40 EST by Kim Moir CLA
Modified: 2012-04-25 09:52 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kim Moir CLA 2012-01-12 15:40:52 EST
I'm trying to build the 4.2 build as as the primary build.  Today, the 4.2 build doesn't build all the equinox drops.

Anyways, in the 
org.eclipse.equinox.p2.ui.admin.rcp/rcp.product:      <plugin id="org.eclipse.ui.cocoa" fragment="true"/>

it specifies a dependency on org.eclipse.ui.cocoa fragment. I talked to Paul and this fragment has been deprecated in 4.2.  Our irc conversation.

k2moir: in 4.2 we use the org.eclipse.e4.ui.workbench.renderers.swt.cocoa fragment instead
	paulweb515_	k2moir: o.e.ui.cocoa can't be in 4.2, it would conflict and not work on the mac (AFAIK)

So this request is to refactor the org.eclipse.equinox.p2.ui.admin.rcp/rcp.product so it builds in the 4.2 stream.  Alternatively, if the p2 team doesn't need this download anymore, I can remove it.
Comment 1 David Williams CLA 2012-04-02 01:10:11 EDT
Tom, Ian, what's the story there? 

Anything you need? Future enhancement?
Comment 2 Thomas Watson CLA 2012-04-02 10:25:01 EDT
I don't know much about p2 UI or these features.  If someone from the UI team can indicate what we need to do to use the org.eclipse.e4.ui.workbench.renderers.swt.cocoa instead please let us know.
Comment 3 Ian Bull CLA 2012-04-02 17:12:29 EDT
Tom and I talked today and it's probably a good idea to disable these builds.  These products are currently suffering from bit rot.  If anybody needs them, or if we find that the build transition went faster than expected -- then we can look at resurrecting these builds.
Comment 4 David Williams CLA 2012-04-02 22:30:22 EDT
Ok, I can certainly look into "disabling in the build" (if they are not already), but sounds to like also, you'd want to remove 

org.eclipse.equinox.p2.ui.admin.rcp

from your feature named 

org.eclipse.equinox.p2.sdk

right? (or am I misunderstanding?) 

it is that bundle that contains the rcp.product file (and names the fragments). 

But, yet, in the mean time, I'll be looking for where the build refers to this. (Just trying to catch up/ triage bugs while I wait for test builds to finish :)
Comment 5 David Williams CLA 2012-04-02 22:48:43 EDT
Just to make sure ... how about the "starterkit"? Still good? important to leave in? (I know nothing ... just seem to recall it being missing from M6 repo ... but ... never really looked close.
Comment 6 Thomas Watson CLA 2012-04-03 08:53:22 EDT
(In reply to comment #5)
> Just to make sure ... how about the "starterkit"? Still good? important to
> leave in? (I know nothing ... just seem to recall it being missing from M6 repo
> ... but ... never really looked close.

This is still needed to be built for the equinox downloads.  I will double check, but I don't think the starter kits were contributed to the common repo for indigo.  The starter kit has no dependencies on SWT or the workbench.  It does include core.jobs and core.net, but that should not cause any issues right now.
Comment 7 Thomas Watson CLA 2012-04-03 09:12:24 EDT
(In reply to comment #4)
> Ok, I can certainly look into "disabling in the build" (if they are not
> already), but sounds to like also, you'd want to remove 
> 
> org.eclipse.equinox.p2.ui.admin.rcp
> 
> from your feature named 
> 
> org.eclipse.equinox.p2.sdk
> 
> right? (or am I misunderstanding?) 
> 
> it is that bundle that contains the rcp.product file (and names the fragments). 

It appears we have two projects in p2 that contain product files:

http://git.eclipse.org/c/equinox/rt.equinox.p2.git/tree/bundles/org.eclipse.equinox.p2.installer/installer.product

http://git.eclipse.org/c/equinox/rt.equinox.p2.git/tree/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product

I'm sure we could tweak the .product files to allow the products to be built again with a 4.2 target, but for the short term I would like to disable the building of these products so that we can get equinox builds back online.  I am not sure that means we must stop building the plugins for which these .product files happen to be included in.  AFAICT these plugins have useful code that can be used to create an installer or p2 rcp admin applications.  But perhaps Ian has a better idea.

For now I would suggest we continue to build the org.eclipse.equinox.p2.installer and org.eclipse.equinox.p2.ui.admin.rcp bundles which are included in the org.eclipse.equinox.p2.sdk.  Now the trick is to figure out where or how the .product files are being used in the build to actually generate the product zips which are included on the equinox downloads (e.g. http://download.eclipse.org/equinox/drops/S-3.8M6-201203141800/download.php?dropFile=equinox-p2-adminui-3.8M6-win32.zip).  That is the part of the build we should disable until the builds are under control.  Thanks, sorry for the confusion.
Comment 9 David Williams CLA 2012-04-03 09:35:32 EDT
(In reply to comment #8)
> John, do you happen to know where the following .product files are
> configured/used in the build?
> 
> http://git.eclipse.org/c/equinox/rt.equinox.p2.git/tree/bundles/org.eclipse.equinox.p2.installer/installer.product
> 
> http://git.eclipse.org/c/equinox/rt.equinox.p2.git/tree/bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product

I think I can sort this out. I've already found and removed (commented out) sections related to 
org.eclipse.equinox.p2.ui.admin.rcp/rcp.product

Now that I know about 
org.eclipse.equinox.p2.installer/installer.product
I can do the same. 

Of course, if John has any insights, that's fine ... but, if its just a matter of him looking for it, I can do that :)
Comment 10 John Arthorne CLA 2012-04-03 13:11:07 EDT
I don't know what the build side looks like, but I think removing the p2 admin UI and installer is fine. A small handful of people download these every release but if they are broken I'm not sure they are worth the effort to fix.
Comment 11 Ian Bull CLA 2012-04-03 16:23:59 EDT
My suggestion is that we remove the following bundles from the p2.sdk feature:
o.e.e.p2.installer
o.e.e.p2.installer.source
o.e.e.p2.ui.admin.rcp
o.e.e.p2.ui.admin.rcp.source
o.e.e.p2.ui.admin
o.e.e.p2.ui.admin.source

These don't appear to be used by any other bundles in the feature.  We can re-enable them once we have 4.2 based builds, but since these are likely going to fail (due to ui fragment changes), let's remove them for now.  

I can remove these unless anybody thinks this is a bad idea.
Comment 12 David Williams CLA 2012-04-03 20:00:11 EDT
Actually its probably a little safer to leave in _until_ the 4.2 builds are confirmed running ok. Them being there is not "breaking the build" ... they just won't work :) [is my understanding]. 

But, I have finished removing them from the build, I think, via 

http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/commit/?h=R4_2_primary&id=ff72c325d06df43c4fc1558422a378ba6573904b

(plus an earlier one more focused on ui.admin.rcp/rcp.product) 

I'll be trying a test build soon to see if me removing some things breaks the build that was working (i.e. need to remove more :)
Comment 13 Ian Bull CLA 2012-04-03 20:43:01 EDT
(In reply to comment #12)
> Actually its probably a little safer to leave in _until_ the 4.2 builds are
> confirmed running ok. Them being there is not "breaking the build" ... they
> just won't work :) [is my understanding]. 
> 
Sure, that's fine. I was only suggesting we remove them to help limit what we were building (to hopefully help with the build transition).

Ok, let's leave them there and see how the builds go. Good luck David!  You're doing an awesome job BTW.
Comment 14 David Williams CLA 2012-04-11 03:15:28 EDT
I'll declare the build portion of this done. I _think_ I've removed everything desired, from the build. 

Assuming you still want to remove 

o.e.e.p2.installer
o.e.e.p2.installer.source
o.e.e.p2.ui.admin.rcp
o.e.e.p2.ui.admin.rcp.source
o.e.e.p2.ui.admin
o.e.e.p2.ui.admin.source

I suggest you do it on Thursday night or Friday (after we have a solid I-build) just in case something in the build still "accidentally" depends on one of them.
Comment 15 David Williams CLA 2012-04-22 02:38:19 EDT
FYI, see bug 377314 say around comment 10 where I removed some "master features" to help get the installer and starter kit "completely out" of the the build ... not sure about adminui yet.
Comment 16 David Williams CLA 2012-04-24 14:17:28 EDT
BTW, the bug mentions "4.2 specifically", but I'm assuming if not in 4.2, it should not be in 3.8 either, right? If in one, but not the other ... it'll complicate the build, and, I'd think, confuse users, since at this level 4.2 and 3.8 should "be the same", right? 

So, let me know if I'm mistaken, but I'm "removing" some "master features" from the master-equinox feature as I did in R4_HEAD. 

http://git.eclipse.org/c/platform/eclipse.platform.releng.git/commit/?id=1f8d8485b65c2792426f9f9405445bee7769a347
Comment 17 Thomas Watson CLA 2012-04-25 09:52:20 EDT
(In reply to comment #16)
> BTW, the bug mentions "4.2 specifically", but I'm assuming if not in 4.2, it
> should not be in 3.8 either, right? If in one, but not the other ... it'll
> complicate the build, and, I'd think, confuse users, since at this level 4.2
> and 3.8 should "be the same", right? 
> 
> So, let me know if I'm mistaken, but I'm "removing" some "master features" from
> the master-equinox feature as I did in R4_HEAD. 
> 
> http://git.eclipse.org/c/platform/eclipse.platform.releng.git/commit/?id=1f8d8485b65c2792426f9f9405445bee7769a347

We produce the same content for 3.8 and 4.2 builds so it should be the same for both, you are correct.