Hello Johannes ,
All contribs are welcome !

Note support of indexing osgi metadatas is now implemented in maven-indexer.
So basically some osgi are coming here :-)

2011/8/17 Johannes Utzig <[email protected]>:
> Hi,
>
> I don't know if any of you work with OSGi in general and eclipse plugins in
> specific, but both technologies have gained a lot of momentum in recent
> years.
> Now with maven tycho finally available, OSGi, eclipse and maven are really
> starting to grow together more closely.
> Without getting into details, tycho resolves dependencies from both maven
> repositories and p2 repositories and allows you to easily deploy your OSGi
> bundles into a standard maven repository.
> This works great at build time, but as of now, not so great at development
> time. When developing OSGi bundles in eclipse, you typically define a
> 'Target Platform' that contains all your dependencies and eclipse uses this
> to automatically construct the classpath (very similar to what m2eclipse
> does in a typical maven project).
> Most of the time these Target Platform definitions consist of a list of
> remote p2 repositories and eclipse downloads the required bundles
> automatically on demand, again, very similar to the way it works with
> maven/m2eclipse.
> The problem is, eclipse only understands p2 repositories, not maven
> repositories. So if for example you want to compile your projects at
> development time against the OSGi bundles that are available in your maven
> repository (deployed by yourself with maven tycho, or from an external
> source like Spring Enterprise Repository), you simply cannot do it.
> First you need to either
> -download all files manually and add them to your target platform
> -or create a p2 repository from all the bundles and put that somewhere on a
> webserver
>
> None of the alternatives sound great to me. We already have an archiva
> running that contains all the bundles we need, so I'd rather not duplicate
> all the jars and put them somewhere else.
> So I had the idea of using the archiva consumer API to crawl an archiva
> repository and create the p2 repository files (artifacts.jar and
> content.jar) on-the-fly. Sort of like a p2 view on a maven repository.
> To my understanding Nexus Professional offers such a feature, but there is
> no open source equivalent to this.
>
> Over the last few days I was working on this idea a little and actually have
> a working prototype now.
> Whenever a new artifact gets deployed in archiva, the bundle manifest (or
> eclipse feature.xml) is parsed and the information is appended to the
> content.jar and artifacts.jar that I create in the root folder of the
> archiva repository. That way you can use the archiva repository as a regular
> p2 repository/eclipse update site and install everything that's either an
> OSGi bundle, or an eclipse feature into your host eclipse or your target
> platform.
>
> Sorry for the long background story, but now finally to my questions. I'd
> greatly appreciate if somebody could help me out with these:
> 1. I think this would be a very helpful feature for users of tycho and
> archiva and I'd like to make this (once finished) available as open source.
> I was wondering if this is something you'd be interested in hosting directly
> as an apache archiva component
>
> 2. I could not find a way in the consumer API to determine if the 'Process
> All Artifacts' checkbox in 'admin/repositories.action' was activated before
> the scan got triggered. A full scan is the perfect time to throw away the
> old artifacts.jar and content.jar, but if the checkbox is not activated, I
> end up with an incomplete repository. At the moment I have overridden
> isProcessUnmodified() and return true. That works, but is unfortunately very
> very expensive for this kind of consumer if the repository is reasonably
> large.
>
> 3. I also could not find a way to get an event when a file is deleted. How
> can a consumer find out when an artifact gets deleted? Especially with
> snapshots being always unique since maven 3, the p2 files will quickly
> explode when old snapshot entries don't get deleted regulary...
>
> Thanks and best regards,
> Johannes Utzig
>



-- 
Olivier Lamy
Talend : http://talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

Reply via email to