Tuesday, May 25, 2010

p2 is powerful, but still a nightmare to me

I started my first steps with p2 for our RCP app on eclipse 3.4, I remember I finally had some working stuff after some fights. But then came the 3.5 release and everything had changed. I found so many changes in the api that I got frustrated and throwed the whole thing away. Now that with 3.6 the API will become stable, I gave/give it another try. I found some tutorials and last but not least the examples on the p2 wiki. First to say, the examples did not work without some tweaking. I have some special requirements, as I need to make sure of the version that gets upgraded to ( The users client has to be compatible with the customers installed server version,  so I cannot update to the newest version in many cases). In general p2 seems to be made for that, and I still would prefer to have p2 over some local webstart deployment as I could push out minor fixes to my clients transparently. But on the other hand I prefer to use mainstream technology, and although so many eclipse users use p2 for a while, developers seem to find it hard to adopt it. I read many posts of people that gave up on p2, and guess I spent 5 days already on it and it still doesn't work. Its time consuming hence you can't test it in hosted mode, so its always at least a 5 to 6 minute build, sometimes evenlonger if I have to wait for my 1Mbit upstream to publish a repository change. I got help from one developer on the p2 mailing list, but my last questions remain unanswered. If you look in the p2 forum section, there are only a handful of posts and most of them are unanswered too. I guess p2 has made some progress, but documentation is still poor and looking at the traffic I see on the mailing list, I think the p2 dev team hasn't got that they have to help people adopt this othwerwise great technology in order to make it a success. I can fully understand many people wishing back for the old UpdateManager and telling you not to use p2. But if you look at it for some time you can only guess its power and I would like to see that it gets adopted by more people than now. The community has to be built and I wish I could see some more effort there.

3 comments:

Ralf Ebert said...

"you can't test it in hosted mode": This was fixed in 3.6, see Run Configuration, Configuration, Software Installation, Support software installation in the launched application

kiril mitov said...

Hi Thomas,
I completely agree with you. I am using eclipse since the first milestones of 3.0 and p2 is by far the most most powerful project that you "just can`t get it running". And me and my team have tried it not once.

Dessie said...

Aiman to that. I totally aggree. Trying to use p2 has been a nightmare for me.

Even in Helios 3.6, I can't debug updates and installations. I tried checking the Runtime Configuration > Configuration Tab > "Support software installation in the launched application" but no success.

The p2 commands do not appear under the help menu when my app is launched in the IDE but when I export it they do. Thus I cannot debug.

p2 is a complete Nightmare.

Hopefully I can convince management to head to NetBeans RCP.

Using Mapstruct with Protobuf3