Our problems with adopting P2 is mounting. I am starting to doubt
whether P2 in 3.4 is really ready for prime time or at least our use.
Use case: We want the user to launch our plugin's installation process
by simply clicking "Install…" in the Software Updates view.
This action would download the plugin and a native installation
executable (a window's MSI exe file). Then, the native installation
executable would be launched, user interacts with the native installation
process, and upon completion of the native installation process the
installation of the plugin proceeds. If something goes wrong during the
native installation, or user simply changes his mind and cancels, we don't want
the plugin to be installed at all.
But it appears that P2 has no way for us to launch the native installation
executable.
We have also thought about launching our native installation executable
upon first use of the plugin. We certainly would not want to do
this in the plugin's start method. That would violate the etiquette that
plugin start method take a very long time. So, we would leave this
initialization for after the start method, to the actual use of our
plugin. But, what if the installation failed. What if the user
changed his mind and decided not to install at all. How do we tell
Eclipse that this plugin is "dormant" and should be uninstalled by
the user, you know, something similar to how Eclipse behaves after a plugin
start method has raised an exception. Looks like we cannot just call the
plugin's stop method, the Plugin's stop method comment says "Clients must never explicitly
call this method".
I feel like we are between a rock and a hard-place, or totally missing
something.
My questions are:
1) Is the use case
above a "reasonable" use case in the eyes of the P2 project?
2) Is the use case
above supported in P2 now?
3) If not, will it
be supported very soon?
4) Should we
abandon P2 and use the old update manager for the foreseeable feature and count
on P2 to support this use case BEFORE the old update manager is deprecated?
By the way, we will always have this native installer. Eliminating the
native installation is not an option for us.
If this mailing list is not the proper place to discuss this matter, PLEASE
tell us so. Thank you.
farokh