At high level, I think we need to make sure roundtrip between build and artifact repository works in Tycho as smoothly as it does in plain Maven. Builds should just "see" new artifacts available from local/remove repositories.

I also think there should be an easy way to present build results (or results from multiple related builds) as p2 repository and/or installable app for testing and production use.

I don't think actual repository format is too important, but I suspect we'll end up supporting both maven and p2 at least at some level.

There are also related usage scenarios outside traditional scope of build system, like for example target platform management in PDE. I think good end-to-end solution should include these too.

I plan to elaborate these ideas in more details in next few days, when we announce new mailing list dedicated to Tycho and OSGi development with Maven in general.

Both Update Site and RCP app packaging mojos already pull needed artifacts from Maven repositories, but this requires properly configured dependencyManagement (quite tedious to setup and maintain).

--
Regards,
Igor

Max Spring wrote:
Hi Igor,
having thought about my problem for while I come to the conclusion that I want to have the Maven group repository as the primary repository where all Eclipse plugin artifacts have to go into. Any update sites or P2 repositories I regard then as secondary representations which I want to create / populate with Tycho by pulling the intended artifacts from the primary repository.
I'm not sure whether the latter is already possible with Tycho.
What do you think about this approach?
Thanks!
-Max


On 2/19/2009 1:37 PM, Max Spring wrote:
On 2/19/2009 11:02 AM, Igor Fedorenko wrote:
Max,

If you do not mind, can you answer few questions to help me understand your requirements better.

How do you want to use such update site? Install your features/plugins into Eclipse? (you know you can build/deploy zipped update site already, right?)
Some update sites will be advertised to other teams for consumption by their own "private" means, i.e. Eclipse.

Some update sites will be consumed by our own build process to populate (self-contained) Eclipse product images. We then run automated system tests / GUI tests against that product image (also using Tycho). After these automated tests and manual testing succeeded, we put the image under the control of Pulse for final deployment to the end-user.

Do you need old-style update site, p2 repository or both?
We have now transitioned into P2. I don't want to rule out that I will get requests to also provide support for old-style update sites.
Although I have to say that I don't like it ;)
It's too clumsy: P2 Director is too slow.
I haven't figured out how to
- do bulk operations, e.g. installing multiple features from multiple repositories with *one* P2 Director invocation, - provision without running the target application (it always installs in the running instance),
- sweep plugins by transitively following dependencies.
But probably I simply haven't spent sufficient time on these things, or I'm spoiled by the ease of creating war files with Maven ;)

Do you want separate URL for each update site version or one URL for all versions?
This is one of the crucial questions.  I'm not sure what I actually want.
If I treated an update site as an artifact, I would get new update sites with different URLs for each deployment, following the Maven conventions. On the other hand, an update site would be also capable of handling multiple versions of its content. Maybe I should distinguish exposed update sites from transient update site?
In the latter case, do you want each new version to overwrite previous site content or you want update site with all/some historical versions?
I think I understand both options, but I'm not fully sure which one to choose.


And, yes, we are adding support for hosted P2 repositories to Nexus ;-)
I'd be very eager to learn what P2 support within Nexus actually mean.
I read about this feature a couple of times, but never dove into details.

Regards,
-Max


--
Regards,
Igor


Max Spring wrote:
Hi Igor,

do you have suggestions for how to best handle the "management" of
update sites
in the context of Tycho, e.g. where to store them?

The infrastructure I'm building up is for separate teams who develop Eclipse plugins and want to publish them via update sites so that other teams can
leverage them.  To me an update site is basically just another form of
artifact
which I want to put somewhere and which should be HTTP accessible.

I don't want to get into the business of managing the update site repository "by hand". Ideally a developer should be able to create an update-site type project and when she builds it (mvn deploy), the update site ends up at the
"right" place.

I'm using Nexus for my Maven group repository and I'm wondering whether
there's
a way to let Nexus handle this problem.

I guess overall I'm struggling with the different way Maven and Eclipse do
things with respect to artifact storage.  We talked about this briefly
in the
past.

What would you recommend?

Regards,
-Max



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to