Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » not mirror pack200 bundles
not mirror pack200 bundles [message #556195] Tue, 31 August 2010 09:52
Jacek Pospychala is currently offline Jacek Pospychala
Messages: 159
Registered: July 2009
Senior Member
hi,
to speed up our internal build system, we maintain local mirror of several p2 repositories, such as emf, gef, wtp, mylyn, etc. For mirroring, p2.mirror ant task is used. e.g. for emf:

<p2.mirror verbose="true">
<repository location="${localRepo}" append="true" />
<source>
<repository location="http://download.eclipse.org/modeling/emf/updates/" />
</source>
<iu id="org.eclipse.emf.all.feature.group" version="" />
</p2.mirror>

A while ago emf and gef repositories started distributing both packed (pack.gz) and canonical (jar) bundles, which broke our build. Out of sudden p2.mirror task started logging following problems:

[p2.mirror] Artifact: canonical: osgi.bundle,org.eclipse.zest.layouts,1.1.0.v20100616-1515 already exists in repository: file:/disk2/hudson/../mirrors/7.3/.
[p2.mirror] Artifact: packed: osgi.bundle,org.eclipse.zest.layouts,1.1.0.v20100616-1515 already exists in repository: file:/disk2/hudson/../mirrors/7.3/.

later on during the build, p2.director was failing to install any of bundles from the local repo that were available in packed and canonical form. The error log was simply saying that bundle xyz was not found, altough looking in the file system, both formats were available and listed in artifacts.xml file.

Since we were always happy with jars, I tried several ways to get rid of packed bits:
1. use p2.remove.ui - it seems to apply the filter only to IU mentioned in IU tag, and not to all other dependent IUs. I'd need a way to express that we want to remove all packed bundles, without explicitly listing their IDs.
2. tried exclude tag inside comparator in p2.mirror task but apparently, exclude affects only comparator and not mirroring.
3. tried to use query filter in iu tag in p2.mirror, but honestly I have no clue how to define it to filter all packed bundles.

The temporary solution to this problem turned to be removing all *.pack.gz files and regenerating repository metadata. This made p2.director working again. Altough it's less than perfect solution, because now every run, p2.mirror copies packed bits and in next step they're removed.

Is there a simple way to not mirror packed bundles, but only jared ones?

thanks!

Jacek



Previous Topic:Multiple Dropins folders for RCP application
Next Topic:not mirror pack200 bundles
Goto Forum:
  


Current Time: Tue Sep 16 09:28:37 GMT 2014

Powered by FUDForum. Page generated in 0.10970 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software