Bug 314901 - consume new ecf
Summary: consume new ecf
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.6   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.6 RC4   Edit
Assignee: Pascal Rapicault CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-28 11:39 EDT by Pascal Rapicault CLA
Modified: 2010-06-01 22:45 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 Pascal Rapicault CLA 2010-05-28 11:39:52 EDT
This is the patch for the changes that I have made
Comment 1 Pascal Rapicault CLA 2010-05-28 13:32:12 EDT
The test build that Kim ran failed with the same exception than the last time (https://build.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-equinox-test/150/console)

100512/scripts/genericTargets.xml:107: Processing inclusion from feature master-ecf: Bundle org.eclipse.ecf_3.1.0.v20100528-1416 failed to resolve.:
	Missing required plug-in org.eclipse.equinox.common_[3.5.0,3.6.0).
	Missing required plug-in org.eclipse.equinox.registry_[3.4.0,3.5.0).
	Missing required plug-in org.eclipse.ecf.identity_[3.1.0,3.2.0).

This error seems to be caused by the rewriting of the manifest that happens at build time where the ranges of the required bundles are being restricted.
Comment 2 Scott Lewis CLA 2010-05-28 13:50:44 EDT
What's happening here is so far a total mystery to me.  I'm adding Markus Kuppe
from ECF as he's been working with our builder and may have some answers.
Comment 3 Andrew Niefer CLA 2010-05-28 14:02:17 EDT
Something must have changed with ECF's build process, as 3.1.0.v20100508-2345 does not have these version ranges.  They are not in the manifest in CVS.  

PDE/Build does not modify manifests in this way.
Comment 4 Pascal Rapicault CLA 2010-05-28 15:59:21 EDT
Any progress?
Comment 5 Scott Lewis CLA 2010-05-28 16:19:21 EDT
(In reply to comment #4)
> Any progress?

I have not heard anything back from Markus K.  He did the recent ECF builder changes that resulted in this (I'm currently not sure if it's change of Buckminster version or builder configuration or what).  

Unfortunately, it's evening now in Europe, so he's probably not responding until Sat am local time.  I'll do everything I can to get it repaired asap and get some new version in for RC4...again as soon as I can.
Comment 6 Markus Kuppe CLA 2010-05-29 03:48:22 EDT
With Buckminster 3.5 I was able to produced what I think to be a valid build [0]. At least the manifest does not define any version ranges anymore.
Are there other plausibility/sanity checks I can do before you fire off a new platform build?

Markus

[0] https://build.ecf-project.org/hudson/job/I-HEAD-platform.feature/lastSuccessfulBuild/artifact/
Comment 7 Markus Kuppe CLA 2010-05-29 04:40:55 EDT
Would it be desirable to fully automate the ECF contribution to detect such bugs as this one earlier in the game? E.g. the ECF build can generate a map file fragment automatically or p2 may consume the p2 repo directly.
This would also free Scott from manually posting the map fragment.
Comment 8 Markus Kuppe CLA 2010-05-29 12:34:12 EDT
FWIW bug #309141 and bug #309147 track the Buckminster enhancement that has caused this issue.
Comment 9 Pascal Rapicault CLA 2010-05-31 08:45:54 EDT
After a successful test build using the new jars from ECF, I have released these changes for RC4.
Comment 10 Ian Bull CLA 2010-06-01 14:43:42 EDT
Out of interest, I ran the feature version range check tool again the latest ECF build (http://download.eclipse.org/rt/ecf/3.3/helios/site.p2/).  It appears that the ECF "include" features still have 'non-strict' ranges.  For example:

<feature
      id="org.eclipse.ecf.server.generic.feature"
      label="ECF Generic Server"
      version="1.0.0.v20100601-1333"
      provider-name="%providerName">

   <includes
         id="org.eclipse.ecf.remoteservice.feature"
         version="1.0.0.v20100601-1333"/>

   <plugin
         id="org.eclipse.ecf.server"
         download-size="0"
         install-size="0"
         version="2.0.0.v20100601-1332"
         unpack="false"/>

   <plugin
         id="org.eclipse.ecf.server.generic"
         download-size="0"
         install-size="0"
         version="3.0.0.v20100601-1332"
         unpack="false"/>

</feature>

(notice the includes) has the following requirements in the IU:

[org.eclipse.ecf.server.generic [3.0.0,3.1.0), 
org.eclipse.ecf.server [2.0.0,2.1.0), org.eclipse.ecf.server.generic.feature.feature.jar [1.0.0.v20100601-1333],
org.eclipse.ecf.remoteservice.feature.feature.group [1.0.0,1.1.0)]

Notice the ranges.
Comment 11 Jeff McAffer CLA 2010-06-01 16:04:54 EDT
Perhaps the Buckminster guys can help in getting the right build infrastructure/configuration setup.  CCing Thomas
Comment 12 Thomas Hallgren CLA 2010-06-01 16:27:56 EDT
What version of Buckminster is being used? The one that's on our update sites now should not give this result.
Comment 13 Markus Kuppe CLA 2010-06-01 16:36:01 EDT
(In reply to comment #11)
> Perhaps the Buckminster guys can help in getting the right build
> infrastructure/configuration setup.  CCing Thomas

No need to bother Thomas. Bug #309147 explains it just fine. :-)
And a new build with strict/perfect version ranges (pde.feature.range.generation=perfect) is already in the making [0].

[0] https://build.ecf-project.org/hudson/job/R-HEAD-sdk.feature/56/
Comment 14 Markus Kuppe CLA 2010-06-01 16:40:43 EDT
FWIW originally dealt with ECF's platform/p2 contribution (org.eclipse.ecf.platform.feature) but apparently has drifted off to our Helios contribution (org.eclipse.ecf.sdk.feature). I assume platform/p2 does not need a new build as it does not consume the feature.xml anyway?
Comment 15 Scott Lewis CLA 2010-06-01 16:47:03 EDT
(In reply to comment #14)
> FWIW originally dealt with ECF's platform/p2 contribution
> (org.eclipse.ecf.platform.feature) but apparently has drifted off to our Helios
> contribution (org.eclipse.ecf.sdk.feature). I assume platform/p2 does not need
> a new build as it does not consume the feature.xml anyway?

Right.  The p2/platform integration build does not need to be redone, but as a precautionary measure I would like to do a build of the platform feature (just for us/ECF) with the new build configuration...and I'll check the manifest.mf contents...so that if another platform build/contribution is needed, we can be assured that the problem represented by this bug won't recur at the last second.
Comment 16 Pascal Rapicault CLA 2010-06-01 20:40:13 EDT
Scott, just to be really clear, is there anything that you need p2 to do?
Comment 17 Scott Lewis CLA 2010-06-01 22:45:18 EDT
(In reply to comment #16)
> Scott, just to be really clear, is there anything that you need p2 to do?

No, not for the issue associated with this bug.  

We will produce another p2/filetransfer contribution *only* if a new/major bug is identified in filetransfer...and if this happens we now have the Bucky builder such that it will not re-introduce the issue experienced last week that originated this bug.  

If no new/major bugs are identified in filetransfer, then the RC4 contribution (comment 9) will be our last one for the platform.

For the future (after Helios), it would be great if you would open a platform releng bug so that we/ECF could adopt a new releng process for contributing to the platform.  Specifically, we would like to create a p2 repo, and have the platform build consume filetransfer from that repo, rather than what we've been doing...i.e. us creating a map file fragment specially for the platform (bug 219499).  It would be much easier for our own releng if we could avoid this map file totally, and just generate a single p2 repo for the platform to consume the necessary filetransfer bundles.

So, I'm resolving this bug.