This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 382179 - p2 products need to add org.eclipse.equinox.concurrent
Summary: p2 products need to add org.eclipse.equinox.concurrent
Status: RESOLVED INVALID
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 388707 (view as bug list)
Depends on: 382206
Blocks:
  Show dependency tree
 
Reported: 2012-06-09 20:45 EDT by John Arthorne CLA
Modified: 2014-03-16 07:22 EDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Arthorne CLA 2012-06-09 20:45:34 EDT
ECF added a new hard dependency on org.eclipse.equinox.concurrent yesterday. This means any p2 application or product needs to add this new bundle if it doesn't already have it. p2 itself has three such products that need fixing:

Bootstrap.product in org.eclipse.equinox.p2.reconciler.drops
installer.product in org.eclipse.equinox.p2.installer
rcp.product in org.eclipse.equinox.p2.ui.admin.rcp
Comment 1 John Arthorne CLA 2012-06-09 20:48:13 EDT
For reference the ECF change was in bug 382039.
Comment 2 John Arthorne CLA 2012-06-09 20:57:41 EDT
Note there is a PDE build test that verifies the bootstrap product works, which is how the problem was found:

testMetadataGenerator_BootStrap	Failure	N/A

junit.framework.AssertionFailedError
at org.eclipse.pde.build.tests.PDETestCase.assertResourceFile(PDETestCase.java:244)
at org.eclipse.pde.build.internal.tests.p2.P2Tests.testMetadataGenerator_BootStrap(P2Tests.java:1011)
at org.eclipse.pde.build.tests.PDETestCase.runTest(PDETestCase.java:61)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:501)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:259)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:36)
Comment 3 Ian Bull CLA 2012-06-09 21:27:19 EDT
John, I thought that we pull a specific version of ECF, that is, something they added 'yesterday' shouldn't affect us.
Comment 4 John Arthorne CLA 2012-06-09 21:30:25 EDT
(In reply to comment #3)
> John, I thought that we pull a specific version of ECF, that is, something they
> added 'yesterday' shouldn't affect us.

ECF requested that we consume their new build, which we did (also yesterday). See bug 382103.
Comment 5 Pascal Rapicault CLA 2012-06-09 21:32:42 EDT
Even with the bundle absent from the product file, it should still be pulled in so I'm not sure why we want to bother fixign this now.
Comment 6 Wim Jongman CLA 2012-06-11 03:27:19 EDT
Scott Lewis has removed the required dependency and added the greedy flag.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=382039
Comment 7 Thomas Watson CLA 2012-06-11 09:24:30 EDT
(In reply to comment #5)
> Even with the bundle absent from the product file, it should still be pulled in
> so I'm not sure why we want to bother fixign this now.

I suspect it is not pulled in when PDE launches using the product file.  I'm not sure if it is pulled in automatically if you export or build the product.
Comment 8 Andrew Niefer CLA 2012-06-11 11:21:46 EDT
(In reply to comment #7)
> (In reply to comment #5)
> > Even with the bundle absent from the product file, it should still be pulled in
> > so I'm not sure why we want to bother fixign this now.
> 
> I suspect it is not pulled in when PDE launches using the product file.  I'm
> not sure if it is pulled in automatically if you export or build the product.


The bundle should get pulled in for a p2 based build provided that the metadata for that bundle is available to the PDE build. (provided as a context repository).
PDE will only generate new metadata for things included in the product and not for things that are required.

From comment #2, the org.eclipse.pde.build.internal.tests.p2.P2Tests.testMetadataGenerator_BootStrap test is testing the old 3.4 style work flow which generated metadata from the binary results of a "classic" PDE build.  In this case, the bundle would need to be added to the .product file in order to be included in the results.
Comment 9 Ian Bull CLA 2012-06-11 16:15:20 EDT
Tom and I looked at this today, and none of these products are actually being built (outside of tests).  The Bootstrap.product seems to only be used as a PDE/Build test case.  This should obviously be fixed for SR1.  The installer.product and rcp.product are not built anymore. They suffered from bit rot (and were not even working properly in 3.7 SR2) so we removed them from the standard build.  

I think the rcp.product is interesting and worth bringing back.   If this ever happens, we will need to update this product to include the o.e.e.concurrent bundle.
Comment 10 John Arthorne CLA 2012-06-11 22:11:06 EDT
(In reply to comment #9)
> Tom and I looked at this today, and none of these products are actually being
> built (outside of tests).  The Bootstrap.product seems to only be used as a
> PDE/Build test case.  This should obviously be fixed for SR1.  The
> installer.product and rcp.product are not built anymore. They suffered from bit
> rot (and were not even working properly in 3.7 SR2) so we removed them from the
> standard build.  

The bootstrap product is included in the org.eclipse.equinox.p2.reconciler.dropins bundle. It is used for a very specialized use case and I agree fixing in SR1 is reasonable.
Comment 11 Ian Bull CLA 2012-06-12 00:47:09 EDT
(In reply to comment #10)
> The bootstrap product is included in the
> org.eclipse.equinox.p2.reconciler.dropins bundle. It is used for a very
> specialized use case and I agree fixing in SR1 is reasonable.

John, can you elaborate about the 'specialized use case'?  I'm just wondering if there is something that will be broken with Juno that we (I) should be aware of.  I assumed the bootstrap product was used when p2 was first being developed (to help 'bootstrap' p2 development).
Comment 12 Wim Jongman CLA 2012-06-12 02:54:47 EDT
I am sure you have seen that ECF fixed the problem. You can pickup our new build as indicated in bug 382206. 

What is it that I am missing? Is it to late to pick it up?
Comment 13 Thomas Watson CLA 2012-06-12 08:30:22 EDT
(In reply to comment #10)
> (In reply to comment #9)
> > Tom and I looked at this today, and none of these products are actually being
> > built (outside of tests).  The Bootstrap.product seems to only be used as a
> > PDE/Build test case.  This should obviously be fixed for SR1.  The
> > installer.product and rcp.product are not built anymore. They suffered from bit
> > rot (and were not even working properly in 3.7 SR2) so we removed them from the
> > standard build.  
> 
> The bootstrap product is included in the
> org.eclipse.equinox.p2.reconciler.dropins bundle. It is used for a very
> specialized use case and I agree fixing in SR1 is reasonable.

I was not aware of the product file in dropins.  Just for reference, it is here:

http://git.eclipse.org/c/equinox/rt.equinox.p2.git/tree/bundles/org.eclipse.equinox.p2.reconciler.dropins/Bootstrap.product

The one from the PDE build failures I believe is used from here:

http://git.eclipse.org/c/pde/eclipse.pde.build.git/tree/org.eclipse.pde.build.tests/resources/metadataGenerator_Bootstrap/Bootstrap.product

(In reply to comment #12)
> I am sure you have seen that ECF fixed the problem. You can pickup our new
> build as indicated in bug 382206. 
> 
> What is it that I am missing? Is it to late to pick it up?

If it is not too late I would like to consider picking that up.  But the others on the Eclipse PMC need to discuss it.
Comment 14 Dani Megert CLA 2012-08-23 06:34:25 EDT
Ping! It's getting closer to SR1.
Comment 15 John Arthorne CLA 2012-08-23 15:32:42 EDT
ECF has since switched back to a greedy optional dependency  (bug 382206) so this change is no longer needed.
Comment 16 Lars Vogel CLA 2014-03-16 07:22:37 EDT
*** Bug 388707 has been marked as a duplicate of this bug. ***