Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » categorizing p2 repositories dynamically on a CI server for features with qualifiers
categorizing p2 repositories dynamically on a CI server for features with qualifiers [message #511793] Tue, 02 February 2010 21:59
thomas menzel is currently offline thomas menzelFriend
Messages: 81
Registered: July 2009
Member
hi folks,

i'm putting together a ganymede update site/p2 repository and was wondering about categorization.

this works by having a site.xml that defines the categories and features that fall into the categories.

the build produces features and bundles with a qualifier like eclipse does too, ie: <feature id>.<version>.<qualifier>
where version and qualifier is like so: 1.1.0.R11x-20100126-b4

now the update site is not built during building the respective features but is a separate build collecting all diff. (extension) features creating the p2 metadata from the given bundles and plugins like so:

<exec executable="${eclipse.executable}" failonerror="false" timeout="900000">
<arg line="-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator" />
<arg line="-configuration ${basedir}/eclipse/configuration" />
<arg line="-noSplash" />
<arg line="-consoleLog" />
<arg line="-updateSite ${buildDirectory}" />
<arg line="-site file:${buildDirectory}/site.xml" />
<arg line="-metadataRepository file:${buildDirectory}" />
<arg line='-metadataRepositoryName "${update.site.name}"' />
<arg line="-artifactRepository file:${buildDirectory}" />
<arg line='-artifactRepositoryName "${update.site.name}"' />
<arg line="-noDefaultIUs" />
<arg line="-vmargs -Xmx256m" />
<arg line="-Declipse.p2.data.area=${buildDirectory}/pde-p2" />
</exec>


the problem i'm experiencing is that the site.xml requires me to be very specific in specifying the URL and version, e.g. like so:

<feature url=" features/com.eccenca.pipelets.basic.feature_1.1.0.R11x-20100 126-b4.jar " id="com.eccenca.pipelets.basic.feature" version="1.1.0.R11x-20100126-b4" >
<category name="Pipelets"/>
</feature>

while on the other hand the CI server will change the .qualifier on each build and
there seems to be no way to define wild cards or the any version 0.0.0.

i guess i could hack up an ant script to generate the site.xml dynamically but am guessing that this use case shouldnt be too uncommon so that i expect that this exists already somewhere, alas i couldn't find any documentation on it.

i have read in several places that 3.5 is much better and more reliable regarding p2 generation, but i'm reluctant to switch to 3.5 at this time.
(i suppose that the 3.5 repositories are compilable with 3.4 generated ones and 3.4 applications? reason: we wont be able to switch the app to 3.5 anytime soon.)

however, if there is no such tooling around for 3.4, 3.5 could be an alternative under the above assumption:
- i have read so far that 3.5 supports category.xml files fed into the publisher, but these seems to have the same limitation, although i havent tested that yet
- there is also the possibility to switch feature build to include p2/category information and then use the -append flag of the publisher

any recommendations tutorials regarding that 3.5 avenue as i'm new to the 3.5 stuff?


thomas menzel aka tom

[Updated on: Tue, 02 February 2010 22:03]

Report message to a moderator

Previous Topic:[P2] Eclipse RCP and Update
Next Topic:Cannot start Equinox Server
Goto Forum:
  


Current Time: Wed Nov 26 08:20:57 GMT 2014

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

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