[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] I surrender

This is really frustrating. I can't get my extremely simple plugin to install from a local update site. It's probably because my product isn't properly p2-enabled, but I'm not entirely sure.
 
Here's my situation...
 
I've got a 3.5 RCP app. It's big. Hundreds of plugins. For various reasons--particularly because I'm inside a firewall in a closed network--I can't upgrade to 3.7 for a while, so I need to make it work in 3.5. We're using an older version of Tycho, so p2-enabling through the PDE API isn't available to me either. Basically, I have to enable my product for p2 after it's already built.
 
I used the FeaturesAndBundledPublisher to create my repository, even though I had to comment out in the feature.xml files some plugins with non-compliant version numbers. Then I used eclipsesec.exe and the director app to install one of the features into my product, hoping that it would create the proper p2 directories and whatnot. 
 
I seem to get org.eclipse.equinox.p2.core and org.eclipse.equinox.p2.engine directories well enough (including my profile), but no org.eclipse.equinox.p2.repository directory. I'm not even sure that's required, but there's one under the normal eclipse install, so it looked suspiciously absent. I'm also missing an org.eclipse.equinox.simpleconfigurator directory under configuration, not to mention two other org.eclipse.equinox.* directories that I see in the regular Eclipse install. Frankly, I don't see anywhere in your documentation how those directories even get created from the p2 APIs. Am I supposed to manually put them in? All I've got is my config.ini file, which has suited our uses for 4 years.
 
When I try to install my plugin via my update site, everything looks just fine. It says that it's installed and I can uninstall it too. However, my sample view doesn't show up, even after restarting. I can see it if I start up the plugin with the product through the IDE debug config, but not after installing through the p2 UI.
 
I'm lost even looking for the installed jar(s). There must be some serious magic going on (magic is bad!). I can delete my runtime workspace and completely rebuild my p2 directory, yet my product still remembers my installed plugin and its history. Where does that info even get stored?
 
Anyway, if I don't get this figured out, my project is in serious jeopardy. We need to get a handle on p2 to make our product my flexible and deployable. It's just too big to be deploying a 1/2 GB zip anymore.
 
Please help me understand:
 
 1) What I'm probably missing (directories, configuration, etc.)
 2) Some insider advice on how to troubleshoot it better
 3) Where the heck installed features/plug-ins' jars are stored and how to configure it to go elsewhere (particularly a networked drive)
 4) How to p2-enable an existing product via the APIs (by the way, how come the Wiki mentions an InstallPublisher but doesn't provide any details?)
 
Thanks,
Chip Downs