On 03/15/2013 04:19 AM, Pascal Rapicault wrote:
A while back I started some work on this particular issue but never took it to 
fruition (just lack of time).
The initial predicate is that since search engines are good at helping us find 
stuffs, we should use them rather than building another mechanism.

Since the p2 repos are not search engine friendly, what I had done consisted in 
generating a companion file that listed all the capabilities provided by a 
repository. Once these would be indexed by the search engine, then people would 
be able to search for those capabilibies (e.g. org.eclipse.emf 2.9) and be 
provided with the URL of a p2 repo.
That makes total sense. Generation of a minimal companion file should be made default by p2/Tycho publisher. One could override or delete it if necessary. FYI, for JBoss Tools, we have a Mojo generating such an index that for Tycho "eclipse-repository" packaging type: https://github.com/jbosstools/jbosstools-maven-plugins/wiki

The next thing I envisioned with this was to allow p2 to directly call to a 
search engine when missing capabilities were found.
I'm afraid this will introduce more difficulty: a project usually maintains multiple repositories for different versions and different "quality level" (eg release, milestone, integration, snapshot). Choosing the right repository is something that requires some understanding about how the project to consume is organized, which totally changes from a project to another (and even from a version of a project to another). It seems to me that choosing the right repo is something that really requires some human skills (such as asking questions to forums) to be executed correctly. I wouldn't trust a bot for that.

If we could enforce a standard structure for p2 repositories, that would help to automate seeking a repository; but history has shown that it's not easy to find a layout that applies well to all projects since there can be some big differences: * Does project actually build sources to produce a repo or does it aggregate from multiple repo?
* Does project maintain some old branches or only the newest one?
* How many levels of quality does the project have? (so I've seen several values between 2: just snapshot and release; and 5: snapshot, integration, milestone, release candidate/staging, release...)
* ...
This makes me believe that there is not a single governance pattern for a project and p2 repositories, and that it's impossible to implement it in a p2-guess-the-right-repo feature.
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat <http://www.jboss.org/tools>
My blog <http://mickaelistria.wordpress.com> - My Tweets <http://twitter.com/mickaelistria>
_______________________________________________
cross-project-issues-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to