Home » Eclipse Projects » Buckminster dev » P2 work on Buckminster
P2 work on Buckminster [message #30558] |
Wed, 28 January 2009 19:03  |
Eclipse User |
|
|
|
Hi,
The work of integrating P2 into Buckminster has commenced. First out was
the 'eclipse.import' reader type since it was rendered useless for new
update sites that lack the site.xml (the new Galileo sites are examples
of this).
I uploaded new versions containing the upgraded 'eclipse.import' reader
type today. Both for the Ganymede (i.e. Eclipse 3.4) and Galileo
(Eclipse 3.5) platforms. URL's for update sites and the latest products
can as usual be found here:
http://www.eclipse.org/buckminster/downloads.html
Regards,
Thomas Hallgren
|
|
|
Re: P2 work on Buckminster [message #30593 is a reply to message #30558] |
Thu, 29 January 2009 04:40   |
Eclipse User |
|
|
|
Originally posted by: news.eclipse.org.08.lemmster.de
Thomas Hallgren wrote:
> Hi,
> The work of integrating P2 into Buckminster has commenced. First out was
> the 'eclipse.import' reader type since it was rendered useless for new
> update sites that lack the site.xml (the new Galileo sites are examples
> of this).
>
> I uploaded new versions containing the upgraded 'eclipse.import' reader
> type today. Both for the Ganymede (i.e. Eclipse 3.4) and Galileo
> (Eclipse 3.5) platforms.
Hi Thomas,
thanks for implementing this new feature. :-) However, I'm unable to
materialize ECF's dependencies with
http://download.eclipse.org/eclipse/updates/3.5-I-builds/. BM complains
about org.eclipse.platform being unavailable on the site. But the
repository works for e.g org.eclipse.core.runtime.
Has BM's metadata changed or is this a bug?
ERROR : No suitable provider for component
org.eclipse.platform:eclipse.feature was found in searchPath org.eclipse
ERROR : Rejecting provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/):
No component match was found
ERROR : Provider
cvs(:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse,org.eclipse.releng/maps):
Score is below threshold
org.eclipse.core.runtime:osgi.bundle/[3.4.0,4.0.0)#OSGi:
Using resource map file:/opt/hudson/jobs/N-HEAD-ECF/workspace/ecf.rmap
org.eclipse.core.runtime:osgi.bundle/[3.4.0,4.0.0)#OSGi:
Using search path org.eclipse
org.eclipse.core.runtime:osgi.bundle/[3.4.0,4.0.0)#OSGi:
Trying provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/)
org.eclipse.core.runtime:osgi.bundle/[3.4.0,4.0.0)#OSGi:
Found match 3.5.0.v20090119
org.eclipse.core.runtime:osgi.bundle/[3.4.0,4.0.0)#OSGi:
Using provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/)
org.eclipse.update.ui:osgi.bundle: Using resource map
file:/opt/hudson/jobs/N-HEAD-ECF/workspace/ecf.rmap
org.eclipse.update.ui:osgi.bundle: Using search path
org.eclipse
org.eclipse.update.ui:osgi.bundle: Trying provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/)
org.eclipse.update.ui:osgi.bundle: Found match
3.2.200.v20081215
org.eclipse.update.ui:osgi.bundle: Using provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/)
org.eclipse.ui:osgi.bundle/[3.4.0,4.0.0)#OSGi: Using
resource map file:/opt/hudson/jobs/N-HEAD-ECF/workspace/ecf.rmap
org.eclipse.ui:osgi.bundle/[3.4.0,4.0.0)#OSGi: Using search
path org.eclipse
org.eclipse.ui:osgi.bundle/[3.4.0,4.0.0)#OSGi: Trying
provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/)
org.eclipse.ui:osgi.bundle/[3.4.0,4.0.0)#OSGi: Found match
3.5.0.I20090128-0800
[java] org.eclipse.ui:osgi.bundle/[3.4.0,4.0.0)#OSGi: Using
provider
eclipse.import(http://download.eclipse.org/eclipse/updates/3.5-I-builds/)
Thanks
Markus
|
|
|
Re: P2 work on Buckminster [message #30628 is a reply to message #30593] |
Thu, 29 January 2009 05:21   |
Eclipse User |
|
|
|
Hi Markus,
Markus Alexander Kuppe wrote:
> ... BM complains about org.eclipse.platform being unavailable on the site.
> But the repository works for e.g org.eclipse.core.runtime.
>
> Has BM's metadata changed or is this a bug?
>
I guess that depends on how you look at it. The metadata has indeed
changed. The platform feature for instance, is represented by an IU
named 'org.eclipse.platform.feature.group'. It in turn, has a
requirement for another IU called 'org.eclipse.platform.feature.jar'
which is what you normally would import.
I can of course change Buckminster to recognize this so that if you
search for a feature, it could check if the name ends with
'feature.group' and if not, append it, and then traverse the
relationship to the jar file.
If I fix this, and check it in, will you be able to test it from trunk?
Regards,
Thomas Hallgren
|
|
| | | | | | | | | | | |
Re: P2 work on Buckminster [message #31046 is a reply to message #30838] |
Fri, 30 January 2009 13:23   |
Eclipse User |
|
|
|
Originally posted by: jconlon.apache.org
Hi Thomas,
Great to hear of your continuing work on P2izing BM. As a matter of fact
my task today was for me to revist a BM mashup (a cspec with an ant
actor) to create P2 metadata for a product, update site, and create
p2ized product artifacts. (I described it in the BM user newsgroup.)
news://news.eclipse.org:119/496345AF.0@tada
see inline for some questions...
Thomas Hallgren wrote:
> Hi Marcus,
> The target platform materializer is not yet P2'ized.
Will the target platform materializer once P2'ized be able to create p2
enabled products from p2 repos?
It is the next part
> of the integration effort.
Besides the eclipse.import reader, which will now read from p2ized sites
and the upcoming target platform materializer what else is planned?
How about the following functionality?
1. features -> p2 repo
I'm using the buildFileId: buckminster.pdetasks to do a build.site, and
org.eclipse.equinox.p2.metadata.generator.EclipseGenerator run from an
ant task to p2ize an update site. Will you be modifying
buckminster.pdetasks to do the p2izing?
2. product -> p2 repo
I'm also adding a product to a p2 repo. Today I, also do it with a
org.eclipse.equinox.p2.metadata.generator.EclipseGenerator wrapped in
an ant action. Are you planning to add this functionality as well?
I'm still coming up to speed on Buckminster, but what I have seen so far
I like.
Thanks for this great tool,
John
> Meanwhile, do you think you could switch to using the workspace
> materializer for these components? Importing binary bundles to the
> workspace should work just fine.
>
> Regards,
> Thomas Hallgren
>
>
> Markus Alexander Kuppe wrote:
>> Thomas Hallgren wrote:
>>> Markus Alexander Kuppe wrote:
>>>> Thomas Hallgren wrote:
>>>>> If I fix this, and check it in, will you be able to test it from
>>>>> trunk?
>>>>
>>>> Sure, no problem.
>>>>
>>> I'm able to materialize the org.eclipse.platform feature now. Please
>>> test the last check-in (rev 9898) of the org.eclipse.buckminster.pde
>>> project.
>>
>> Resolution seems to work fine now, however the moment materialization
>> starts BM fails with:
>>
>> [java] Provider
>> cvs(:pserver:anonymous@dev.eclipse.org :/cvsroot/rt,org.eclipse.ecf/framework/bundles/org.eclipse.e cf.identity):
>> materializing to
>> /opt/hudson/jobs/N-HEAD-ECF/workspace/plugins/org.eclipse.ec f.identity/
>> [java] ERROR [0003] : Error parsing site stream. [White spaces
>> are required between publicId and systemId.]
>> [java] org.xml.sax.SAXParseException: White spaces are required
>> between publicId and systemId.
>> [java] at
>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper. createSAXParseException(ErrorHandlerWrapper.java:236)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper. fatalError(ErrorHandlerWrapper.java:215)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.rep ortError(XMLErrorReporter.java:386)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.rep ortError(XMLErrorReporter.java:316)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFat alError(XMLScanner.java:1438)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLScanner.scanExter nalID(XMLScanner.java:1024)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl.scanDoctypeDecl(XMLDocumentScannerImpl.java:595)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl$PrologDispatcher.dispatch(XMLDocumentScannerImpl.java:860 )
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java: 368)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(XML11Configuration.java:834)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(XML11Configuration.java:764)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(X MLParser.java:148)
>>
>> [java] at
>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .parse(AbstractSAXParser.java:1242)
>>
>> [java] at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
>> [java] at
>> org.eclipse.update.core.model.DefaultSiteParser.parse(Defaul tSiteParser.java:152)
>>
>> [java] at
>> org.eclipse.update.core.model.SiteModelFactory.parseSite(Sit eModelFactory.java:81)
>>
>> [java] at
>> org.eclipse.update.internal.core.SiteURLFactory.createSite(S iteURLFactory.java:80)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.createS ite(InternalSiteManager.java:334)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.createS ite(InternalSiteManager.java:326)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.createS ite(InternalSiteManager.java:298)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.attempt CreateSite(InternalSiteManager.java:222)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.getSite (InternalSiteManager.java:162)
>>
>> [java] at
>> org.eclipse.update.core.SiteManager.getSite(SiteManager.java :80)
>> [java] at
>> org.eclipse.buckminster.core.reader.SiteFeatureReaderType.ge tSite(SiteFeatureReaderType.java:66)
>>
>> [java] at
>> org.eclipse.buckminster.core.reader.SiteFeatureReaderType.ge tSiteFeature(SiteFeatureReaderType.java:87)
>>
>> [java] at
>> org.eclipse.buckminster.core.reader.SiteFeatureReader.getFea ture(SiteFeatureReader.java:39)
>>
>> [java] at
>> org.eclipse.buckminster.core.internal.ctype.SiteFeatureResol utionBuilder.build(SiteFeatureResolutionBuilder.java:92)
>>
>> [java] at
>> org.eclipse.buckminster.core.ctype.AbstractComponentType.get Resolution(AbstractComponentType.java:219)
>>
>> [java] at
>> org.eclipse.buckminster.core.ctype.AbstractComponentType.get Resolution(AbstractComponentType.java:229)
>>
>> [java] at
>> org.eclipse.buckminster.pde.internal.EclipsePlatformReaderTy pe.convertToSiteFeatures(EclipsePlatformReaderType.java:248)
>>
>> [java] at
>> org.eclipse.buckminster.core.materializer.AbstractSiteMateri alizer.collectSites(AbstractSiteMaterializer.java:161)
>>
>> [java] at
>> org.eclipse.buckminster.core.materializer.AbstractSiteMateri alizer.materialize(AbstractSiteMaterializer.java:320)
>>
>> [java] at
>> org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:71)
>>
>> [java] at
>> org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
>> [java] ERROR: Unable to obtain site from:
>> http://download.eclipse.org/eclipse/updates/3.5-I-builds
>> [java] org.eclipse.core.runtime.CoreException: Unable to access
>> "http://download.eclipse.org/eclipse/updates/3.5-I-builds".
>> [java] at
>> org.eclipse.update.core.Utilities.newCoreException(Utilities .java:223)
>> [java] at
>> org.eclipse.update.core.Utilities.newCoreException(Utilities .java:254)
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.createS ite(InternalSiteManager.java:318)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.attempt CreateSite(InternalSiteManager.java:222)
>>
>> [java] at
>> org.eclipse.update.internal.core.InternalSiteManager.getSite (InternalSiteManager.java:162)
>>
>> [java] at
>> org.eclipse.update.core.SiteManager.getSite(SiteManager.java :80)
>> [java] at
>> org.eclipse.buckminster.core.reader.SiteFeatureReaderType.ge tSite(SiteFeatureReaderType.java:66)
>>
>> [java] at
>> org.eclipse.buckminster.core.reader.SiteFeatureReaderType.ge tSiteFeature(SiteFeatureReaderType.java:87)
>>
>> [java] at
>> org.eclipse.buckminster.core.reader.SiteFeatureReader.getFea ture(SiteFeatureReader.java:39)
>>
>> [java] at
>> org.eclipse.buckminster.core.internal.ctype.SiteFeatureResol utionBuilder.build(SiteFeatureResolutionBuilder.java:92)
>>
>> [java] at
>> org.eclipse.buckminster.core.ctype.AbstractComponentType.get Resolution(AbstractComponentType.java:219)
>>
>> [java] at
>> org.eclipse.buckminster.core.ctype.AbstractComponentType.get Resolution(AbstractComponentType.java:229)
>>
>> [java] at
>> org.eclipse.buckminster.pde.internal.EclipsePlatformReaderTy pe.convertToSiteFeatures(EclipsePlatformReaderType.java:248)
>>
>> [java] at
>> org.eclipse.buckminster.core.materializer.AbstractSiteMateri alizer.collectSites(AbstractSiteMaterializer.java:161)
>>
>> [java] at
>> org.eclipse.buckminster.core.materializer.AbstractSiteMateri alizer.materialize(AbstractSiteMaterializer.java:320)
>>
>> [java] at
>> org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:71)
>>
>> [java] at
>> org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
>>
>>
>> Markus
|
|
| | | | |
Re: P2 work on Buckminster [message #31511 is a reply to message #31476] |
Tue, 10 February 2009 11:41   |
Eclipse User |
|
|
|
Originally posted by: news.eclipse.org.08.lemmster.de
Thomas Hallgren wrote:
>> However, we still have a few issues.
>> - p2 materializes org.eclipse.ecf.* from 3.5milestones/. That should be
>> filtered out otherwise PDE build later uses the binary bundle as
>> dependencies instead CVS HEAD.
>>
> Not sure what the problem is here. If the binary bundle is superseded by
> something with a newer version in your workspace (CVS HEAD), then surely
> the build will use the latter. But perhaps I misunderstand the issue.
> Can you please elaborate?
PDE build appears to choose the binary bundle over sources (CVS HEAD).
That is, if I manually delete the binary bundles after materialization,
the build compiles fine.
However the underlying problem is, that the p2 materializer materializes
the binary bundles when it shouldn't. You can see the boms at
http://ecf2.osuosl.org/org.eclipse.ecf.sdk.mspec.bom
http://ecf2.osuosl.org/org.eclipse.ecf.tests.mspec.bom
>> - CQUERY sets target* to "*" but only the current matching platform gets
>> materialized. This is probably owned to
>> org.eclipse.buckminster.core.materializer.P2Materializer.mat erialize(List <Resolution>,
>>
>> MaterializationContext, IProgressMonitor) setting the p2 profile to
>> whatever comes out of the EnvironmentInfo service and not what is
>> specified in the CQUERY. Does p2 support wildcards anyway?
>>
>>
> I'll have to check what happens. If they don't play funny tricks with
> the OSGi filters, I should be able to pass a special object that
> compares equal to everything. I'll provide a fix for this that you can
> try out. I trust you're still able to test directly from our SVN HEAD?
Yep, I am. But only with Eclipse 3.5 used by ECF build. :)
Thanks
Markus
|
|
|
Re: P2 work on Buckminster [message #31545 is a reply to message #31511] |
Tue, 10 February 2009 18:21  |
Eclipse User |
|
|
|
Hi Markus,
I got some good tip from the p2-dev list today so I rewrote parts of the
P2Materializer. It is now inspired by the Repo2Runnable task (now
provided in Eclipse 3.5). In essence, the materializer no longer
performs a proper "install" into the platform. It bypasses that part
(all resolution is already made) and just executes the 'collect' phase.
That should get rid of the issue with platform filters etc.
The change is checked-in but not yet released. Feedback is very welcome.
Regards,
Thomas Hallgren
Markus Kuppe wrote:
> Thomas Hallgren wrote:
>>> However, we still have a few issues.
>>> - p2 materializes org.eclipse.ecf.* from 3.5milestones/. That should be
>>> filtered out otherwise PDE build later uses the binary bundle as
>>> dependencies instead CVS HEAD.
>>>
>> Not sure what the problem is here. If the binary bundle is superseded by
>> something with a newer version in your workspace (CVS HEAD), then surely
>> the build will use the latter. But perhaps I misunderstand the issue.
>> Can you please elaborate?
>
> PDE build appears to choose the binary bundle over sources (CVS HEAD).
> That is, if I manually delete the binary bundles after materialization,
> the build compiles fine.
> However the underlying problem is, that the p2 materializer materializes
> the binary bundles when it shouldn't. You can see the boms at
> http://ecf2.osuosl.org/org.eclipse.ecf.sdk.mspec.bom
> http://ecf2.osuosl.org/org.eclipse.ecf.tests.mspec.bom
>
>>> - CQUERY sets target* to "*" but only the current matching platform gets
>>> materialized. This is probably owned to
>>> org.eclipse.buckminster.core.materializer.P2Materializer.mat erialize(List <Resolution>,
>>>
>>> MaterializationContext, IProgressMonitor) setting the p2 profile to
>>> whatever comes out of the EnvironmentInfo service and not what is
>>> specified in the CQUERY. Does p2 support wildcards anyway?
>>>
>>>
>> I'll have to check what happens. If they don't play funny tricks with
>> the OSGi filters, I should be able to pass a special object that
>> compares equal to everything. I'll provide a fix for this that you can
>> try out. I trust you're still able to test directly from our SVN HEAD?
>
> Yep, I am. But only with Eclipse 3.5 used by ECF build. :)
>
> Thanks
> Markus
|
|
|
Goto Forum:
Current Time: Sat May 24 18:29:42 EDT 2025
Powered by FUDForum. Page generated in 0.05784 seconds
|